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: |