The xPack GNU M4
A standalone cross-platform (macOS/Linux) GNU M4 binary distribution, intended for reproducible builds.
The main target is Ubuntu 18, whose older version of this utility fails some builds.
In addition to the the binary archives and the package meta data, this project also includes the build scripts.
This distribution follows the official GNU M4 releases.
The binaries can be installed automatically as binary xPacks or manually as portable archives.
This distribution is generally one minor release behind the upstream releases. In practical terms, when the minor release number changes, it awaits a few more weeks to get the latest patch release.
This section is intended as a shortcut for those who plan to use the GNU M4 binaries. For full details please read the xPack GNU M4 pages.
It is recommended to update to the latest version with:
npm install --location=global xpm@latest
For details please follow the instructions in the xPack install page.
xpm tool available, installing
the latest version of the package and adding it as
a dependency for a project is quite easy:
cd my-project xpm init # Only at first use. xpm install @xpack-dev-tools/m4@latest ls -l xpacks/.bin
This command will:
- install the latest available version, into the central xPacks store, if not already there
- add symbolic links to the central store
.cmdforwarders on Windows) into the local
The central xPacks store is a platform dependent
folder; check the output of the
xpm command for the actual
folder used on your platform).
This location is configurable via the environment variable
XPACKS_STORE_FOLDER; for more details please check the
xpm folders page.
It is also possible to install GNU M4 globally, in the user home folder:
xpm install --global @xpack-dev-tools/m4@latest
After install, the package should create a structure like this (macOS files; only the first two depth levels are shown):
$ tree -L 2 /Users/ilg/Library/xPacks/\@xpack-dev-tools/m4/1.4.19-2.1/.content/ /Users/ilg/Library/xPacks/\@xpack-dev-tools/m4/1.4.19-2.1/.content/ ├── README.md ├── bin │ ├── gm4 -> m4 │ └── m4 ├── distro-info │ ├── CHANGELOG.md │ ├── licenses │ └── scripts ├── libexec │ └── libiconv.2.dylib └── share └── info 7 directories, 5 files
No other files are installed in any system folders or other locations.
The binaries are distributed as portable archives; thus they do not need to run a setup and do not require an uninstall; simply removing the folder is enough.
To remove the links created by xpm in the current project:
cd my-project xpm uninstall @xpack-dev-tools/m4
To completely remove the package from the global store:
xpm uninstall --global @xpack-dev-tools/m4
For all platforms, the xPack GNU M4 binaries are released as portable archives that can be installed in any location.
The archives can be downloaded from the GitHub Releases page.
For more details please read the Install page.
The version strings used by the GNU M4 project are two number strings
9.1, extended to
1.4.19 to look like semver;
to this string the xPack distribution adds a four number,
but since semver allows only three numbers, all additional ones can
be added only as pre-release strings, separated by a dash,
1.4.19-2. When published as a npm package, the version gets
a fifth number, like
Since adherence of third party packages to semver is not guaranteed,
it is recommended to use semver expressions like
with caution, and prefer exact matches, like
For maintainer info, please see the README-MAINTAINER
The quick advice for getting support is to use the GitHub Discussions.
For more details please read the Support page.
The binary distributions include several open-source components; the
corresponding licenses are available in the installed
- latest xPack release
- all xPack releases
- individual file counters (grouped per release)