| OLD | NEW |
| 1 libadblockplus | 1 libadblockplus |
| 2 ============== | 2 ============== |
| 3 | 3 |
| 4 A C++ library offering the core functionality of Adblock Plus. | 4 A C++ library offering the core functionality of Adblock Plus. |
| 5 | 5 |
| 6 Getting/updating the dependencies | 6 Getting/updating the dependencies |
| 7 --------------------------------- | 7 --------------------------------- |
| 8 | 8 |
| 9 libadblockplus has dependencies that aren't part of this repository. They are | 9 libadblockplus has dependencies that aren't part of this repository. They are |
| 10 retrieved and updated during the build process, but you can also manually update | 10 retrieved and updated during the build process, but you can also manually update |
| 11 them by running the following: | 11 them by running the following: |
| 12 | 12 |
| 13 ./ensure_dependencies.py | 13 ./ensure_dependencies.py |
| 14 | 14 |
| 15 Building | 15 Building |
| 16 -------- | 16 -------- |
| 17 | 17 |
| 18 ### Supported target platforms and prerequisites | 18 ### Supported target platforms and prerequisites |
| 19 | 19 |
| 20 You need a C++11 compatible compiler to build libadblockplus. | 20 You need a C++11 compatible compiler to build libadblockplus. |
| 21 | 21 |
| 22 Win32: | 22 Win32: |
| 23 * Microsoft Visual Studio 2010, 2012 | 23 * At least v140 Visual C++ toolset (available in Microsoft Visual Studio 2015). |
| 24 | 24 |
| 25 Linux: | 25 Linux: |
| 26 * g++ 5.2 | 26 * g++ 5.2 |
| 27 | 27 |
| 28 Mac: | 28 Mac: |
| 29 * clang 3.6 for OS X | 29 * clang 3.6 for OS X/macOS (Xcode should be installed and its developer tools sh
ould be "selected"). |
| 30 | 30 |
| 31 Android: | 31 Android: |
| 32 * The host system should be Linux or OS X | 32 * The host system should be Linux or OS X |
| 33 * android-ndk-r9, android-ndk-r10c. You can download the latter for [OS X](http:
//dl.google.com/android/ndk/android-ndk-r10c-darwin-x86_64.bin), [Linux 32](http
://dl.google.com/android/ndk/android-ndk-r10c-linux-x86.bin), [Linux 64](http://
dl.google.com/android/ndk/android-ndk-r10c-linux-x86_64.bin). | 33 * android-ndk-r12b Here are the links for downloading |
| 34 [OS X](https://dl.google.com/android/repository/android-ndk-r12b-darwin-x86_64
.zip), |
| 35 [Linux 64](https://dl.google.com/android/repository/android-ndk-r12b-linux-x86
_64.zip). |
| 34 * g++ multilib | 36 * g++ multilib |
| 35 | 37 |
| 36 If you have a compilation issue with another compiler please [create an issue](h
ttps://issues.adblockplus.org/). | 38 If you have a compilation issue with another compiler please [create an issue](h
ttps://issues.adblockplus.org/). |
| 37 | 39 |
| 40 You also need Python 2.7 and ensure that `python.exe` is in your `PATH`. |
| 41 |
| 38 ### Unix | 42 ### Unix |
| 39 | 43 |
| 40 All you need is Python 2.7 and Make: | 44 Using Make: |
| 41 | 45 |
| 42 make | 46 make |
| 43 | 47 |
| 44 The default target architecture is x64. On a 32 bit system, run: | 48 The default target architecture is the architecture of a host. In order to build
for a different architecture pass `ARCH` to `make`, e.g. run: |
| 45 | 49 |
| 46 make ARCH=ia32 | 50 make ARCH=ia32 |
| 47 | 51 |
| 52 supported values are `ia32` and `x64`. |
| 53 |
| 54 |
| 48 To build and run the tests: | 55 To build and run the tests: |
| 49 | 56 |
| 50 make test | 57 make test |
| 51 | 58 |
| 52 Likewise, use the following on a 32 bit system: | 59 Likewise, use the following with `ARCH`: |
| 53 | 60 |
| 54 make test ARCH=ia32 | 61 make test ARCH=ia32 |
| 55 | 62 |
| 56 To run specific tests, you can specify a filter: | 63 To run specific tests, you can specify a filter: |
| 57 | 64 |
| 58 make test FILTER=*.Matches | 65 make test FILTER=*.Matches |
| 59 | 66 |
| 60 ### Windows | 67 ### Windows |
| 61 | 68 |
| 62 You need Microsoft Visual C++ (Express is sufficient) 2012 | |
| 63 and Python 2.7. Make sure that `python.exe` is on your `PATH`. | |
| 64 | |
| 65 * Execute `createsolution.bat` to generate project files, this will create | 69 * Execute `createsolution.bat` to generate project files, this will create |
| 66 `build\ia32\libadblockplus.sln` (solution for the 32 bit build) and | 70 `build\ia32\libadblockplus.sln` (solution for the 32 bit build) and |
| 67 `build\x64\libadblockplus.sln` (solution for the 64 bit build). Unfortunately, | 71 `build\x64\libadblockplus.sln` (solution for the 64 bit build). Unfortunately, |
| 68 V8 doesn't support creating both from the same project files. | 72 V8 doesn't support creating both from the same project files. |
| 69 * Open `build\ia32\libadblockplus.sln` or `build\x64\libadblockplus.sln` in | 73 * Open `build\ia32\libadblockplus.sln` or `build\x64\libadblockplus.sln` in |
| 70 Visual Studio and build the solution there. Alternatively you can use the | 74 Visual Studio and build the solution there. Alternatively you can use the |
| 71 `msbuild` command line tool, e.g. run `msbuild /m build\ia32\libadblockplus.sln` | 75 `msbuild` command line tool, e.g. run `msbuild /m build\ia32\libadblockplus.sln` |
| 72 from the Visual Studio Developer Command Prompt to create a 32 bit debug build. | 76 from the Visual Studio Developer Command Prompt to create a 32 bit debug build. |
| 73 | 77 |
| 78 Tested on Microsoft Visual Studio 2015 Community Edition. |
| 79 |
| 74 ### Building for Android | 80 ### Building for Android |
| 75 | 81 |
| 76 First set ANDROID_NDK_ROOT environment variable to your Android NDK directory. | 82 First set ANDROID_NDK_ROOT environment variable to your Android NDK directory. |
| 77 | 83 |
| 78 To build for *x86* arch run: | 84 To build for *x86* arch run: |
| 79 | 85 |
| 80 make android_x86 | 86 make android_x86 |
| 81 | 87 |
| 82 To build for *arm* arch run: | 88 To build for *arm* arch run: |
| 83 | 89 |
| (...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 236 | 242 |
| 237 ### Unix | 243 ### Unix |
| 238 | 244 |
| 239 The shell is automatically built by `make`, you can run it as follows: | 245 The shell is automatically built by `make`, you can run it as follows: |
| 240 | 246 |
| 241 build/out/abpshell | 247 build/out/abpshell |
| 242 | 248 |
| 243 ### Windows | 249 ### Windows |
| 244 | 250 |
| 245 Just run the project *abpshell*. | 251 Just run the project *abpshell*. |
| OLD | NEW |