Skip to content

GitLab

  • Menu
Projects Groups Snippets
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • F fontconfig
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 172
    • Issues 172
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 20
    • Merge requests 20
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • fontconfig
  • fontconfig
  • Merge requests
  • !87

Add support for Meson build system

  • Review changes

  • Download
  • Email patches
  • Plain diff
Merged Tim-Philipp Müller requested to merge tpm/fontconfig:meson-rebased-fc-lang-python-port into master Feb 28, 2020
  • Overview 50
  • Commits 42
  • Pipelines 24
  • Changes 48

Please find attached a set of (unsquashed, work-in-progress) patches that add support for building fontconfig with the Meson build system.

The Meson build system is being adopted by projects such as GNOME, GTK, GStreamer, and there is support for it in Pango as well.

It would be fantastic to have support for building fontconfig with Meson in upstream fontconfig as it would facilitate builds of GTK, Pango, GStreamer etc. via Meson's subproject support.

Unlike autotools, Meson also supports builds on Windows with MSVC, for those who care about this (Windows developers mostly, since it means they can use native Windows tools for debugging).

I understand that from a maintainer's point of view these kind of unsolicited "add support for a different build system" patches are not always welcome, not least because they might add additional maintenance burden, so apologies in advance for that, but I'm sure the wider GStreamer/GNOME community would be happy to help going forward if there are any issues with it.

Cross-compilation is of course also supported, but I have not tested that yet and there is a CI mingw64 cross-compile job now.

To try the meson build:

$ meson --prefix=/tmp/prefix builddir
$ ninja -C builddir
$ ninja -C builddir test
$ ninja -C builddir install

I wrote python scripts for generating the fclang.h and fccase.h headers, which makes cross-compilation easier. The output is bitexact the same as on my machine with the existing C code generator.

TODO

  • rebase
  • fix windows builds
  • test macOS
  • clean-up/squash commit history a bit
Edited Jun 28, 2020 by Tim-Philipp Müller
Assignee
Assign to
Reviewer
Request review from
Time tracking
Source branch: meson-rebased-fc-lang-python-port