libfortress is a C++ library designed to facilitate with the parsing and generation of various debug info formats.
The sister library for parsing and generating object file formats can be found at lethalbit/libalfheim.
The following steps describe how to build libfortress, it should be consistent for both Linux and Windows, but Windows remains untested.
To build libfortress, ensure you have the following build time dependencies:
- git
- meson
- ninja
- zlib >=1.2.12
- g++ >= 11 or clang++ >= 11
Optionally, when also building with binding support (which is the default) you also need:
- python >= 3.9
- pybind11 >= 2.7.0
You can build libfortress with the default options, all of which can be found in meson_options.txt
. You can change these by specifying -D<OPTION_NAME>=<VALUE>
at initial meson invocation time, or with meson configure
in the build directory post initial configure.
To change the install prefix, which is /usr/local
by default ensure to pass --prefix <PREFIX>
when running meson for the first time.
In either case, simply running meson build
from the root of the repository will be sufficient and place all of the build files in the build
subdirectory.
Once you have configured libfortress appropriately, to simply build and install simply run the following:
$ ninja -C build
$ ninja -C build install
This will build and install libfortress into the default prefix which is /usr/local
, to change that see the configuration steps above.
If you are building libfortress for inclusion in a distributions package system then ensure to set DESTDIR
prior to running meson install.
There is also a bugreport_url
configuration option that is set to this repositories issues tracker by default, it is recommended to change it to your distributions bug tracking page.
libfortress is licensed under the BSD-3-Clause and can be found in LICENSE.