GnuM4Project

GNU M4 - The GNU Macro Processor

  1. Introduction
  2. Availability
    1. Anonymous CVS
  3. Resources
    1. Online Documentation
    2. Mailing Lists

Introduction

GNU M4 is an implementation of the traditional UNIX macro processor. It is mostly SVR4 compatible although it has some extensions (for example, handling more than 9 positional parameters to macros). GNU M4 is a macro processor in the sense that it copies its input to the output expanding macros as it goes. Macros are either builtin or user-defined and can take any number of arguments. Besides just doing macro expansion GNU M4 has builtin functions for including named files, running UNIX commands, doing integer arithmetic, manipulating text in various ways, recursion etc. GNU M4 can be used either as a front-end to a compiler or as a macro processor in its own right.

GNU M4 is being actively developed, and version 2.0 will have many new features, such as better input control, multiple precision arithmetic and loadable modules. Information about the future of GNU M4 is at [WWW] http://savannah.gnu.org/projects/m4/.

GNU M4 is maintained by Gary V. Vaughan.

Availability

Current Release Versions

Stable

[WWW] GNU M4 1.4.10

2006-11-21

The latest official stable release is available via ftp from your nearest GNU mirror. Download instructions and a list of ftp mirror sites are [WWW] here.

Anonymous CVS

The master copy of GNU M4 is kept on GnuSavannah, where the latest M4 development sources are available via anonymous CVS.

Use the following commands to check them out:

  $ export CVS_RSH=ssh
  $ cvs -z3 -d :ext:anoncvs@savannah.gnu.org:/cvsroot/m4 co m4

Once you have the tree checked out, you can keep it up to date by using cvs update. There are two interesting branches right now, which you can check out by using the -r <tag> switch to cvs co or cvs update:

Tag Details

HEAD

The main development trunk, working towards release 2.0

branch_1-4

The 1.4 release branch. Patch releases for 1.4.x come from here

You can [WWW] browse the cvs archive live from the subversions repository with the help of viewcvs.

If you want to mirror the entire M4 CVS repository, the FSF provides an anonymous rsync server at rsync://subversions.gnu.org/cvs/. Please contact [MAILTO] cvs-hackers@gnu.org if you do publicly mirror the repository.

The CVS version of GNU M4 often depends on some yet to be released versions of GnuAutoconf, GnuAutomake and GnuLibtool. Before using CVS M4, you ought to have installed recent versions of those tools, then run ./bootstrap in the newly-created m4 directory in order to regenerate the configure script and Makefile.in files.

Resources

I have been finding it increasingly difficult to track bugs, features and todo items on the mailing lists, so I'm starting to record them here instead:

That done, accepted items from above are categorised by milestone here:

Online Documentation

Online Manual is available at [WWW] http://www.gnu.org/software/m4/manual

Mailing Lists

M4 has four mailing lists hosted at gnu.org. Archives of these lists are stored at [WWW] http://mail.gnu.org/pipermail/. If you don't spam, and you want to ensure that your comments, bug reports or feature requests are not lost in the list archives, then consider adding them directly to this site instead of using the lists:


CategoryProject

last edited 2007-09-05 01:29:17 by GaryVaughan