| Index: README.md |
| =================================================================== |
| --- a/README.md |
| +++ b/README.md |
| @@ -19,16 +19,18 @@ |
| You need a C++11 compatible compiler to build libadblockplus. |
| Win32: |
| * At least v140 Visual C++ toolset (available in Microsoft Visual Studio 2015). |
| Linux: |
| * g++ 5.2 |
| +If building using meson: |
| +* meson 0.40.0 |
| Mac: |
| * clang 3.6 for OS X/macOS (Xcode should be installed and its developer tools should be "selected"). |
| Android: |
| * The host system should be Linux or OS X |
| * android-ndk-r12b Here are the links for downloading |
| [OS X](https://dl.google.com/android/repository/android-ndk-r12b-darwin-x86_64.zip), |
| @@ -36,26 +38,40 @@ |
| * g++ multilib |
| If you have a compilation issue with another compiler please [create an issue](https://issues.adblockplus.org/). |
| You also need Python 2.7 and ensure that `python.exe` is in your `PATH`. |
| ### Unix |
| -Using Make: |
| +You can use either `meson` or `make`. |
| + |
| +#### Using Meson: |
| + |
| + meson build |
| + |
| +Then |
| + |
| + ninja -C build |
| + |
| +To build and run the tests |
| + |
| + ninja -C build test |
| + |
| +#### Using Make: |
| make |
| 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: |
| make ARCH=ia32 |
| supported values are `ia32` and `x64`. |
| - |
| + |
| To build and run the tests: |
| make test |
| Likewise, use the following with `ARCH`: |
| make test ARCH=ia32 |
| @@ -74,16 +90,42 @@ |
| Visual Studio and build the solution there. Alternatively you can use the |
| `msbuild` command line tool, e.g. run `msbuild /m build\ia32\libadblockplus.sln` |
| from the Visual Studio Developer Command Prompt to create a 32 bit debug build. |
| Tested on Microsoft Visual Studio 2015 Community Edition. |
| ### Building for Android |
| +#### Using Meson |
| + |
| +First set `ANDROID_NDK_ROOT` environment variable to your Android NDK directory. |
| +If you don't have one yet, do not worry. |
| + |
| +You need to initially run |
| + |
| + ./cross-bootstrap.sh |
| + |
| +This will configure the cross files to the location of the NDK. |
| +If `ANDROID_NDK_ROOT` is not defined, then it will download it into |
| +`third_party` first. |
| + |
| +To configure a build |
| + |
| + meson android-arm-build --cross-file cross/android-arm |
| + |
| +Then to build |
| + |
| + ninja -C android-arm-build |
| + |
| +There are cross-files for android-x86 and android-arm64. You can use these |
| +to configure other targets. |
| + |
| +#### Using Make |
| + |
| First set ANDROID_NDK_ROOT environment variable to your Android NDK directory. |
| To build for *x86* arch run: |
| make android_x86 |
| To build for *arm* or *arm64* arch run: |