Skip to content

meson: add Meson build system support - #444

Open
bgermann wants to merge 1 commit into
rrthomas:mainfrom
bgermann:meson
Open

meson: add Meson build system support#444
bgermann wants to merge 1 commit into
rrthomas:mainfrom
bgermann:meson

Conversation

@bgermann

@bgermann bgermann commented Jul 28, 2026

Copy link
Copy Markdown

Add initial Meson build system configuration for Enchant, replacing the existing Autotools-based build with a modern, fast alternative.

Includes:

  • Root meson.build with project setup, dependency checks, and config.h generation
  • libgnu/meson.build for gnulib integration with meson-native header processing
  • lib/meson.build for shared library (libenchant) build
  • src/meson.build for command-line tool build (enchant, enchant-lsmod)
  • providers/meson.build for provider module builds (hunspell, nuspell, aspell, etc.)
  • tests/meson.build for C++ unit tests with mock providers
  • program-tests/meson.build for shell-based program tests
  • meson_options.txt for provider feature options

Fixes: #58

Add initial Meson build system configuration for Enchant, replacing
the existing Autotools-based build with a modern, fast alternative.

Includes:
- Root meson.build with project setup, dependency checks, and config.h generation
- libgnu/meson.build for gnulib integration with meson-native header processing
- lib/meson.build for shared library (libenchant) build
- src/meson.build for command-line tool build (enchant, enchant-lsmod)
- providers/meson.build for provider module builds (hunspell, nuspell, aspell, etc.)
- tests/meson.build for C++ unit tests with mock providers
- program-tests/meson.build for shell-based program tests
- meson_options.txt for provider feature options
@rrthomas

Copy link
Copy Markdown
Owner

Many thanks for this, and in particular for getting a non-autotools build system to work with gnulib.

As you can see, I've reopened #58.

I'm sorry that it will take me a while to review, partly because I'm quite busy at present, and partly because I want to consider carefully what to do here. Given the demand for an alternative to autotools, I am keen to accept this build system if possible; but at the same time, I'm reluctant to switch just one of my projects to something different (I use autotools in all my other C-based projects).

The alternatives are:

  • Status quo (i.e. don't accept this PR). As I say, I would very much like to accept if at all possible.
  • Two build systems. It might work to have the meson build system as a "contrib" component, which I rely on other people to maintain. I would be inclined to offer this alternative if I don't feel able to maintain it myself.
  • Switch to meson. This is my preferred option if at all possible. Hence, I want to take a little time to try out the meson build system, and study it to see what maintaining it would involve. I appreciate that meson is widely used, and hence it would probably be good experience for me to have a meson build system in one of my projects.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Using Meson for build system

2 participants