From 840b5da52a2290a3d94c8d7fe0c9ebbf74f95d99 Mon Sep 17 00:00:00 2001 From: "Carsten Haitzler (Rasterman)" Date: Sat, 4 Jun 2022 16:26:44 +0100 Subject: [PATCH] merge install into readme --- INSTALL | 59 ---------------------------------- README.md | 94 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 94 insertions(+), 59 deletions(-) delete mode 100644 INSTALL diff --git a/INSTALL b/INSTALL deleted file mode 100644 index 2eac4a6a..00000000 --- a/INSTALL +++ /dev/null @@ -1,59 +0,0 @@ -** COMPILING and INSTALLING ** ------------------------------- - -Meson is the build system used for this project. For more information please -see: - - http://mesonbuild.com - ----- - -Normal compilation in /usr/local: - - meson . build - ninja -C build - sudo ninja -C build install - -For meson build generic options: - - meson --help - -For a list of project specific options supported: - - cat meson_options.txt - -To set 1 or more project specific options: - - meson --prefix=/path/to -Doption=value [-Dother=value2] [...] . build - -To display current configuration: - - meson configure build - -The above will only work after at least the following is done: - - meson . build - -** QUICK AND DIRTY HELP ** --------------------------- - -How clean out the build and config and start fresh: - - rm -rf build - -How to make a dist tarball and check its build: -(must do it from git tree clone and commit all changes to git first) - - ninja -C build dist - -How to change prefix: - - meson --prefix=/path/to/prefix . build - -How to install in a specific destination directory for packaging: - - DESTDIR=/path/to/destdir ninja -C build install - -How to build with verbose output (full commands run): - - ninja -C build -v diff --git a/README.md b/README.md index b2127c9f..3b1ca61f 100644 --- a/README.md +++ b/README.md @@ -328,3 +328,97 @@ Examples: * `fx` exit file send mode (normally at the end of the file or when it's complete) + +## Compiling and Installing + +Meson is the build system used for this project. For more information +please see [mesonbuild.com](https://mesonbuild.com) + +You will need normal build tooling installed such as a compiler (gcc +or clang for example), pkg-config, ninja, any relevant package-dev or +package-devel packages if your distribution splits out development +headers (e.g. libc6-dev) etc. + +Depending on where dependencies (like efl) are installed, you might have to +set your `PKG_CONFIG_PATH` environment variable like: +```sh +export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/usr/lib/pkgconfig +``` + +Also note that some distributions like to add extra arch directories +to your library locations so you might have to have more like: +```sh +export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/usr/local/lib64/pkgconfig:/usr/local/lib/x86_64-linux-gnu/pkgconfig:/usr/lib/pkgconfig:/usr/lib64/pkgconfig:/usr/lib/x86_64-linux-gnu/pkgconfig +``` + +You will need to enusre that the destination library directory (e.g. +`/usr/local/lib` is in your /etc/ld.so.conf or /etc/ld.so.conf.d/ +files and after insgtaling anything that installes libraries you +re-run `ldconfig`. Please see relevant documentation on ldconfig and +ld.so.conf for your distribution. + +You might also want to add the destination bin dir to your environment +variable PATH (see documentation on your shell PATH variable) such as: +```sh +export PATH=/usr/local/bin:/usr/bin:/bin +``` + +Normal compilation in /usr/local: +```sh +meson . build +ninja -C build +sudo ninja -C build install +``` + +For meson build generic options: +```sh +meson --help +``` + +For a list of project specific options supported: +```sh +cat meson_options.txt +``` + +To set 1 or more project specific options: +```sh +meson --prefix=/path/to -Doption=value [-Dother=value2] [...] . build +``` + +To display current configuration: +```sh +meson configure build +``` + +The above will only work after at least the following is done: +```sh +meson . build +``` + +### Quick build help + +How clean out the build and config and start fresh: +```sh +rm -rf build +``` + +How to make a dist tarball and check its build: +(must do it from git tree clone and commit all changes to git first) +```sh +ninja -C build dist +``` + +How to change prefix: +```sh +meson --prefix=/path/to/prefix . build +``` + +How to install in a specific destination directory for packaging: +```sh +DESTDIR=/path/to/destdir ninja -C build install +``` + +How to build with verbose output (full commands run): +```sh +ninja -C build -v +```