| 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). `m4' also has builtin functions for including files, |
| running shell commands, doing arithmetic, etc. Autoconf needs GNU |
| `m4' for generating `configure' scripts, but not for running them. |
| |
| GNU `m4' was originally written by Rene' Seindal, from Denmark. |
| |
| GNU `m4' has a web site at http://www.gnu.org/software/m4/. |
| |
| If GNU `m4' is meant to serve GNU `autoconf', beware that `m4' |
| should be fully installed *prior to* configuring `autoconf' itself. |
| Likewise, if you intend on hacking GNU `m4' from git, the bootstrap |
| process requires that you first install a released copy of GNU `m4'. |
| |
| If you are just trying to build `m4' from a released tarball, you |
| should not normally need to run `./bootstrap' or `autoreconf'; just go |
| ahead and start with `./configure'. If you are trying to build `m4' |
| from git or CVS, more information can be found in the file HACKING, |
| only found in a version control checkout. |
| |
| In the subdirectories `tests' and `examples' you will find various m4 |
| files, ranging from trivial test files to rather advanced macros. If |
| you intend to use m4 seriously, you might find useful material down |
| there. |
| |
| See file `COPYING' for copying conditions. |
| See file `INSTALL' for compilation and installation instructions. |
| See file `ABOUT-NLS' for how to customize this program to your language. |
| See file `NEWS' for a list of major changes in the current release. |
| See file `AUTHORS' for the names of maintainers. |
| See file `THANKS' for a list of contributors. |
| |
| By using `./configure --with-gmp, you get multiple precision integral |
| and rational arithmetic using mpeval. The implementation depends on the |
| GNU gmp v2 library. |
| |
| By using `./configure --with-modules=`foo bar baz', you get an m4 with only |
| the named modules preloaded. The default modules (preloaded if you do not |
| use this option) are sufficient to do the job of GNU m4-1.4. Additional |
| modules may be desirable, or necessary if libltdl does not support your |
| host architecture. The implementation uses libltdl interface, details of |
| which are in the libtool manual. See file `modules/README' for a more |
| detailed description. |
| |
| By using `./configure --with-dmalloc', GNU m4 is linked with Gray |
| Watson's dmalloc package. It is a debugging option for finding memory |
| management problems. Gray Watson's dmalloc package is available at |
| ftp://ftp.letters.com/src/dmalloc/dmalloc.tar.gz. |
| |
| GNU M4 uses GNU Libtool in order to build shared libraries on a |
| variety of systems. While this is very nice for making usable |
| binaries, it can be a pain when trying to debug a program. For that |
| reason, compilation of shared libraries can be turned off by |
| specifying the `--disable-shared' option to `configure'. However, |
| without shared libraries, modules that are not preloaded will not be |
| available for use. |
| |
| Send bug reports, comments or ideas to `bug-m4@gnu.org'. A bug report |
| is an adequate description of the problem: your input, what you |
| expected, what you got, and why this is wrong. Diffs are welcome, but |
| they only describe a solution, from which the problem might be uneasy to |
| infer. Don't forget all relevant information about your operating |
| system, compiler, libraries, ... |
| |
| The easiest way to remember this information is by using the |
| testsuite. Any test failures are automatically logged, along with |
| lots of useful information about your setup; simply mailing |
| tests/testsuite.log to `bug-m4@gnu.org' is a good start. If you want |
| to dive in and debug a failure, you may find it useful to fine-tune |
| the execution of the testsuite. For example, running test 12 in |
| verbose mode can be done with: |
| |
| make check TESTSUITEFLAGS='-v -d -x 12' |
| |
| The testsuite understands --help to tell you more about the current |
| set of tests. |
| |
| ======================================================================== |
| |
| Copyright (C) 2000, 2005, 2006, 2007 Free Software Foundation, Inc. |
| |
| Permission is granted to copy, distribute and/or modify this document |
| under the terms of the GNU Free Documentation License, Version 1.2 or |
| any later version published by the Free Software Foundation; with no |
| Invariant Sections, with no Front-Cover Texts, and with no Back-Cover |
| Texts. A copy of the license is included in the ``GNU Free |
| Documentation License'' file as part of this distribution. |