freetype/builds
David Turner 66978a5887 Add Meson build project file.
Example usage:

  # Configure Meson build in directory `build-meson` to generate
  # release binaries comparable to to the ones from the
  # autotools/make build system.
  meson setup build-meson \
        --prefix=/usr/local \
        --buildtype=debugoptimized \
        --strip \
        -Db_ndebug=true

  # After configuring the Meson build with the above command,
  # compile and install to `/usr/local/`; this includes a pkg-config
  # file.
  ninja -C build-meson install

  # Alternatively, compile and install to `/tmp/aa/usr/local/...`
  # for packaging.
  DESTDIR=/tmp/aa ninja -C build-meson install

  # Generate documentation under `build-meson/docs`.
  ninja -C build-meson docs

Library size comparison for stripped `libfreetype.so` generated by
all three build systems:

  - Default build (autotools + libtool): 712 KiB
  - CMake build (RelWithDebInfo):        712 KiB
  - Meson build:                         712 KiB

* meson.build: New top-level Meson build file for the library.

* meson_options.txt: New file.  It holds user-selectable options for
the build, which can be printed with `meson configure`, and selected
at `meson setup` or `meson --reconfigure` time with
`-D<option>=<value>`.

* scripts/parse_modules_cfg.py: A script invoked by `meson.build` to
parse `modules.cfg` and extract important information out of it
(i.e., the list of modules).

* scripts/process_ftoption_h.py: New script invoked by `meson.build`
to process the original `ftoption.h` file.  It enables or disables
configuration macro variables based on the available dependencies.
This is similar to what other build systems are using (i.e., Meson's
`configure_file()` command is not used here).

* scripts/extract_freetype_version.py: New script invoked by
`meson.build` to extract the FreeType version number from
`<freetype/freetype.h>`.

* scripts/extract_libtool_version.py: New script invoked by
`meson.build` to extract the libtool `revision_info` data from
`builds/unix/configure.raw`, and to generate the corresponding
shared library suffix.

* scripts/generate_reference_docs.py: New script invoked by
`meson.build` to generate the FreeType 2 reference documentation
(using the `docwriter` and `mkdocs` packages, which must be already
installed).
2020-09-21 07:53:02 +02:00
..
amiga Make macros for header file names optional. 2020-06-08 13:31:55 +02:00
ansi Update all copyright notices. 2020-01-19 17:05:19 +01:00
atari Don't use macro names that contain `__' [1/2]. 2016-01-12 21:37:13 +01:00
beos Update all copyright notices. 2020-01-19 17:05:19 +01:00
cmake Make macros for header file names optional. 2020-06-08 13:31:55 +02:00
compiler Update all copyright notices. 2020-01-19 17:05:19 +01:00
dos Update all copyright notices. 2020-01-19 17:05:19 +01:00
mac Remove redundant inclusion of `ft2build.h'. 2020-06-13 21:15:45 +02:00
os2 Update all copyright notices. 2020-01-19 17:05:19 +01:00
symbian Update all copyright notices. 2020-01-19 17:05:19 +01:00
unix Add Meson build project file. 2020-09-21 07:53:02 +02:00
vms [build] Split off more stuff from `ftconfig.h'. 2020-07-05 10:42:23 +02:00
wince Remove redundant inclusion of `ft2build.h'. 2020-06-13 21:15:45 +02:00
windows Remove redundant inclusion of `ft2build.h'. 2020-06-13 21:15:45 +02:00
detect.mk [docwriter] Drop support for Python < 3.5. 2020-03-21 20:17:17 +05:30
exports.mk Update all copyright notices. 2020-01-19 17:05:19 +01:00
freetype.mk Typo and comment. 2020-05-03 23:22:08 -04:00
link_dos.mk Update all copyright notices. 2020-01-19 17:05:19 +01:00
link_std.mk Update all copyright notices. 2020-01-19 17:05:19 +01:00
modules.mk Update all copyright notices. 2020-01-19 17:05:19 +01:00
toplevel.mk Update all copyright notices. 2020-01-19 17:05:19 +01:00