Conversation
### Motivation
- Replace the Autotools-based build with a Meson/Ninja build to modernize and simplify the project build flow.
- Provide an explicit, reproducible Meson configuration that performs dependency/header detection, generates `config.h`, and exposes formatting/check-format targets.
### Description
- Added `meson.build` that declares the `nwipe` project, probes dependencies (`ncurses`, `panel`, `libconfig`, `libparted`, `threads`), detects ncurses/panel header locations, generates `config.h` via `configure_file`, and sets `-DHAVE_CONFIG_H` for the build.
- Enumerated all source files, added include directories, created the `nwipe` executable target with installation and added `install_man('man/nwipe.8')`.
- Added `format` and `check-format` run targets, with `check-format` running `clang-format` and `git diff --exit-code` to detect formatting changes.
- Removed Autotools artifacts (`autogen.sh`, `configure.ac`, `Makefile.am`, `src/Makefile.am`, `man/Makefile.am`) and updated `README.md` to document Meson/Ninja prerequisites and build/install/formatting instructions (including the automated build script example).
### Testing
- Tried `meson setup build` in the environment but it failed because `meson` is not installed, so the build could not be completed.
- Attempted to install `meson` via `python3 -m pip install --user meson ninja` but the installation failed due to network/proxy restrictions, so no further automated tests were executed.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Motivation
Description
meson.buildthat: enumerates allsrc/sources, probes dependencies (ncurses,panel,libconfig,libparted,threads), generatesconfig.hviaconfigure_file, sets-DHAVE_CONFIG_H, installs thenwipeexecutable andman/nwipe.8, and addsformatandcheck-formatrun targets.autogen.sh,configure.ac,Makefile.am,src/Makefile.am, andman/Makefile.am.README.mdto document Meson/Ninja prerequisites,mesonbuild/compile/install commands, formatting workflow, and updated convenience build script examples.include_directories('src')to avoid Meson errors about absolute source-dir paths.Testing
meson setup buildinitially which failed with Meson errorTried to form an absolute path to a dir in the source tree, reproduced the issue and then applied theinclude_directories('src')fix; this test failed before the fix and the failure was resolved locally in the code change.meson setup buildafter the fix but themesonbinary is not available in the environment (meson: command not found), so a full build could not be completed.Codex Task