Hi all, I've sent an RFC patch [1] that introduces an initial Meson-based build system for OpenOCD, alongside the existing Autotools setup. The Meson- based build is not yet feature-complete compared to Autotools, but it should be complete enough to evaluate Meson's advantages and its suitability as a long-term replacement, especially in terms of build speed and maintainability.
I would very much appreciate: - Testing on different platforms and toolchains - Feedback on the Meson project structure, options, and feature coverage - Reports of any build or test regressions compared to Autotools - Suggestions for missing features or improvements For those who are not familiar with Meson [2], here is a short introduction for building OpenOCD. Note that you can also use the lightweight Meson implementation muon [3]. ### Basic configure and build This builds OpenOCD out-of-tree into the `build` directory: meson setup build meson compile -C build Afterwards, you can install OpenOCD with: meson install -C build The installation prefix can be configured this way: meson setup build -Dprefix=/home/johndoe/openocd ### Code coverage and Clang static analyzer (scan-build) Code coverage is integrated and can be used this way: meson setup build -Db_coverage=true meson compile -C build To build for Clang static analyzer (scan-build), use the following command: meson setup build ninja -C build scan-build ### Documentation There are three targets to build the documentation: `doxygen`, `manual- info`, and `manual-pdf`. For example, to build the Doxygen documentation: meson compile -C build doxygen Basic configuration, building (GCC and Clang), and installation have been tested and are working on the following platforms: - Linux (x86_64, aarch64) - FreeBSD (x86_64) - Windows 10 (64-bit) - MSYS2: MSYS, MINGW64, UCRT64 - Cygwin Note: macOS support has not been tested yet. Feedback and test results on this platform are very welcome! If you get a chance to try it out, please share your results (platform, toolchain, configuration, and any issues) on Gerrit or on the mailing list. Thanks! [1] https://review.openocd.org/c/openocd/+/9541 [2] https://mesonbuild.com/ [3] https://muon.build/
