From 0fc52d3b2d918e0123d2083a005799b30cb9733b Mon Sep 17 00:00:00 2001 From: Ebrahim Byagowi Date: Mon, 6 Jul 2020 16:47:50 +0430 Subject: [PATCH] [doc] Simplify and extend build instructions --- BUILD.md | 44 ++++++++------------------------------------ 1 file changed, 8 insertions(+), 36 deletions(-) diff --git a/BUILD.md b/BUILD.md index 652d8affd..5a076ffa0 100644 --- a/BUILD.md +++ b/BUILD.md @@ -1,47 +1,19 @@ On Linux, install the development packages for FreeType, Cairo, and GLib. For example, on Ubuntu / Debian, you would do: - sudo apt-get install gcc g++ libfreetype6-dev libglib2.0-dev libcairo2-dev + sudo apt-get install meson pkg-config ragel gtk-doc-tools gcc g++ libfreetype6-dev libglib2.0-dev libcairo2-dev whereas on Fedora, RHEL, CentOS, and other Red Hat based systems you would do: - sudo yum install gcc gcc-c++ freetype-devel glib2-devel cairo-devel + sudo dnf install meson pkgconfig gtk-doc gcc gcc-c++ freetype-devel glib2-devel cairo-dev -on Windows, consider using [vcpkg](https://github.com/Microsoft/vcpkg) -or `meson build && ninja -Cbuild`. +and on ArchLinux and Manjaro: -on macOS, using MacPorts: + sudo pacman -Suy meson pkg-config ragel gcc freetype2 glib2 cairo - sudo port install freetype glib2 cairo +then use meson to build the project like `meson build && meson test -Cbuild`. -or using Homebrew: +On macOS, `brew install pkg-config ragel gtk-doc freetype glib cairo meson` then use meson like above. - brew install freetype glib cairo - -If you are using a tarball, you can now proceed to running configure and make -as with any other standard package. That should leave you with a shared -library in `src/`, and a few utility programs including `hb-view` and `hb-shape` -under `util/`. - -If you are bootstrapping from git, you need a few more tools before you can -run `autogen.sh` for the first time. Namely, `pkg-config` and `ragel`. - -Again, on Ubuntu / Debian: - - sudo apt-get install autoconf automake libtool pkg-config ragel gtk-doc-tools - -and on Fedora, RHEL, CentOS: - - sudo yum install autoconf automake libtool pkgconfig ragel gtk-doc - -on the Mac, using MacPorts: - - sudo port install autoconf automake libtool pkgconfig ragel gtk-doc - -or using Homebrew: - - brew install autoconf automake libtool pkgconfig ragel gtk-doc - -To build the Python bindings, you also need: - - brew install pygobject3 +On Windows, meson builds the project like above if a working MSVC's cl.exe (`vcvarsall.bat`) +or gcc/clang is already on your path, it fetches and compiles most of the dependencies also.