| # Getting meson |
| |
| Meson is implemented in Python 3, and requires 3.6 or newer. If your |
| operating system provides a package manager, you should install it |
| with that. For platforms that don't have a package manager, you need |
| to download it from [Python's home page]. See below for |
| [platform-specific Python3 quirks](#platformspecific-install-quirks). |
| |
| ## Downloading Meson |
| |
| Meson releases can be downloaded from the [GitHub release page], and |
| you can run `./meson.py` from inside a release or the git repository |
| itself without doing anything special. |
| |
| On Windows, if you did not install Python with the installer options |
| that make Python scripts executable, you will have to run `python |
| /path/to/meson.py`, where `python` is Python 3.6 or newer. |
| |
| The newest development code can be obtained directly from [Git], and |
| we strive to ensure that it will always be working and usable. All |
| commits go through a pull-request process that runs CI and tests |
| several platforms. |
| |
| ## Installing Meson with pip |
| |
| Meson is available in the [Python Package Index] and can be installed |
| with `sudo pip3 install meson` which requires root and will install it |
| system-wide. |
| |
| If you have downloaded a copy of the meson sources already, you can |
| install it with `sudo pip3 install path/to/source/root/`. |
| |
| Alternatively, you can use `pip3 install --user meson` which will |
| install it for your user and does not require any special |
| privileges. This will install the package in `~/.local/`, so you will |
| have to add `~/.local/bin` to your `PATH`, and `sudo meson install` |
| will be completely broken since the program will not be available to |
| root. Only use a user copy of meson if you do not care about |
| installing projects as root. |
| |
| ## Installing Meson and Ninja with the MSI installer |
| |
| We provide an MSI installer on the [GitHub release page] that can be |
| used to install both Meson and Ninja at once for Windows. It also |
| contains an embedded copy of Python, so scripts that use the [Python |
| module](Python-module.md) and do not have any external dependencies |
| will continue to work as expected. |
| |
| Please note that this is a new feature, so bug reports are expected |
| and welcome! |
| |
| ## Dependencies |
| |
| In the most common case, you will need the [Ninja executable] for |
| using the `ninja` backend, which is the default in Meson. This backend |
| can be used on all platforms and with all toolchains, including GCC, |
| Clang, Visual Studio, MinGW, ICC, ARMCC, etc. |
| |
| You can use the version provided by your package manager if possible, |
| otherwise download the binary executable from the [Ninja project's |
| release page](https://github.com/ninja-build/ninja/releases). |
| |
| If you will only use the Visual Studio backend (`--backend=vs`) to |
| generate Visual Studio solutions on Windows or the XCode backend |
| (`--backend=xcode`) to generate XCode projects on macOS, you do not |
| need Ninja. |
| |
| # Platform-specific install quirks |
| |
| ## Windows Python3 quirks |
| |
| When installing Python 3, it is highly recommended (but not required) |
| that you select the installer options as follows: |
| |
|  |
|  |
|  |
| |
| With this, you will have `python` and `pip` in `PATH`, and you can |
| install Meson with pip. You will also be able to directly run `meson` |
| in any shell on Windows instead of having to run `py -3` with the full |
| path to the `meson.py` script. |
| |
| ## MSYS2 Python3 quirks |
| |
| If you are using MSYS2 on Windows as your development environment, |
| please make sure that you **do not use** the `msys/python` package to |
| provide Python 3. Use either `mingw32/mingw-w64-i686-python3` or |
| `mingw64/mingw-w64-x86_64-python3` depending on which MinGW target you |
| are building for. |
| |
| [GitHub release page]: https://github.com/mesonbuild/meson/releases |
| [Python Package Index]: https://pypi.python.org/pypi/meson/ |
| [Git]: https://github.com/mesonbuild/meson |
| [Python's home page]: https://www.python.org/downloads/ |
| [Ninja executable]: https://ninja-build.org/ |