xref: /m4/
Name Date Size

..29-Nov-20194 KiB

.autom4te.cfgH A D17-Aug-2017147

.gitattributesH A D17-Aug-2017182

.gitignoreH A D17-Aug-20171 KiB

.gitmodulesH A D17-Aug-201799

.prev-versionH A D17-Aug-20177

.x-update-copyrightH A D17-Aug-201724

AUTHORSH A D17-Aug-20172.4 KiB

bootstrapH A D17-Aug-2017144.9 KiB

bootstrap.confH A D17-Aug-20174 KiB

build-aux/H17-Aug-20174 KiB

cfg.mkH A D17-Aug-20172.6 KiB

ChangeLog.oldH A D17-Aug-2017465.4 KiB

configure.acH A D17-Aug-201710.2 KiB

COPYINGH A D17-Aug-201734.3 KiB

doc/H17-Aug-20174 KiB

HACKINGH A D17-Aug-201713.5 KiB

m4/H17-Aug-20174 KiB

Makefile.amH A D17-Aug-201714.1 KiB

modules/H17-Aug-20174 KiB

NEWSH A D17-Aug-201752.8 KiB

NO-THANKSH A D17-Aug-20176.4 KiB

po/H17-Aug-20174 KiB

READMEH A D17-Aug-20175.1 KiB

README-alphaH A D17-Aug-20171.1 KiB

src/H17-Aug-20174 KiB

tests/H17-Aug-20174 KiB

TODOH A D17-Aug-20175.6 KiB

README

1GNU `m4' is an implementation of the traditional Unix macro
2processor.  It is mostly SVR4 compatible, although it has some
3extensions (for example, handling more than 9 positional parameters
4to macros).  `m4' also has builtin functions for including files,
5running shell commands, doing arithmetic, etc.  Autoconf needs GNU
6`m4' for generating `configure' scripts, but not for running them.
7
8GNU `m4' was originally written by Rene' Seindal, from Denmark.
9
10GNU `m4' has a web site at http://www.gnu.org/software/m4/.
11
12If GNU `m4' is meant to serve GNU `autoconf', beware that `m4'
13should be fully installed *prior to* configuring `autoconf' itself.
14Likewise, if you intend on hacking GNU `m4' from git, the bootstrap
15process requires that you first install a released copy of GNU `m4'.
16
17If you are just trying to build `m4' from a released tarball, you
18should not normally need to run `./bootstrap' or `autoreconf'; just go
19ahead and start with `./configure'.  If you are trying to build `m4'
20from git, more information can be found in the version-control-only
21file HACKING.
22
23In the subdirectories `tests' and `doc/examples' you will find various
24m4 files, ranging from trivial test files to rather advanced macros.  If
25you intend to use m4 seriously, you might find useful material down
26there.
27
28See file `COPYING' for copying conditions.  Note that M4 is distributed
29under the GNU Public License version 3 or later.  Some files in the
30distribution are copied from the gnulib project, and hence bear the
31designation version 2 or later because they are unmodified from gnulib;
32however, if you modify these files using M4 rather than gnulib as the
33source, you must update the license to be GPLv3 or later.
34See file `INSTALL' for compilation and installation instructions.
35See file `ABOUT-NLS' for how to customize this program to your language.
36See file `NEWS' for a list of major changes in the current release.
37See file `AUTHORS' for the names of maintainers.
38See file `THANKS' for a list of contributors.
39
40By using `./configure --with-gmp, you get multiple precision integral
41and rational arithmetic using mpeval.  The implementation depends on the
42GNU gmp v2 library.
43
44By using `./configure --with-modules=`foo bar baz', you get an m4 with only
45the named modules preloaded.  The default modules (preloaded if you do not
46use this option) are sufficient to do the job of GNU m4-1.4.  Additional
47modules may be desirable, or necessary if libltdl does not support your
48host architecture.  The implementation uses libltdl interface, details of
49which are in the libtool manual.  See file `modules/README' for a more
50detailed description.
51
52By default, the `syscmd' and `esyscmd' macros try to use the first
53instance of `sh' found by `command -p getconf PATH' at configure time,
54with a default of `/bin/sh'.  If that default is inappropriate, you
55can use `./configure --with-syscmd-shell=location' to specify the
56shell to use.
57
58By using `./configure --with-dmalloc', GNU m4 is linked with Gray
59Watson's dmalloc package.  It is a debugging option for finding memory
60management problems.  Gray Watson's dmalloc package is available at
61ftp://ftp.letters.com/src/dmalloc/dmalloc.tar.gz.
62
63GNU M4 uses GNU Libtool in order to build shared libraries on a
64variety of systems.  While this is very nice for making usable
65binaries, it can be a pain when trying to debug a program. For that
66reason, compilation of shared libraries can be turned off by
67specifying the `--disable-shared' option to `configure'.  However,
68without shared libraries, modules that are not preloaded will not be
69available for use.
70
71Send bug reports, comments or ideas to `bug-m4@gnu.org'.  A bug report
72is an adequate description of the problem: your input, what you
73expected, what you got, and why this is wrong.  Diffs are welcome, but
74they only describe a solution, from which the problem might be uneasy to
75infer.  Don't forget all relevant information about your operating
76system, compiler, libraries, ...
77
78The easiest way to remember this information is by using the
79testsuite.  Any test failures are automatically logged, along with
80lots of useful information about your setup; simply mailing
81tests/testsuite.log to `bug-m4@gnu.org' is a good start.  If you want
82to dive in and debug a failure, you may find it useful to fine-tune
83the execution of the testsuite.  For example, running test 12 in
84verbose mode can be done with:
85
86make check TESTSUITEFLAGS='-v -d -x 12'
87
88The testsuite understands --help to tell you more about the current
89set of tests.
90
91For any copyright year range specified as YYYY-ZZZZ in this package
92note that the range specifies every single year in that closed interval.
93
94========================================================================
95
96Copyright (C) 2000, 2005-2011, 2013-2014, 2017 Free Software Foundation,
97Inc.
98
99Permission is granted to copy, distribute and/or modify this document
100under the terms of the GNU Free Documentation License, Version 1.3 or
101any later version published by the Free Software Foundation; with no
102Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
103Texts.  A copy of the license is included in the ``GNU Free
104Documentation License'' file as part of this distribution.
105

README-alpha

1This is a alpha version of GNU m4.
2
3Please see the file TODO for a list of open problems and known bugs.
4
5Send bug reports, comments or ideas to `bug-m4@gnu.org'.  A bug report
6is an adequate description of the problem: your input, what you
7expected, what you got, and why this is wrong.  Diffs are welcome, but
8they only describe a solution, from which the problem might be uneasy to
9infer.  Don't forget all relevant information about your operating
10system, compiler, libraries, ...
11
12GNU m4 has a web-site at http://www.gnu.org/software/m4/
13
14========================================================================
15
16Copyright (C) 2000, 2006, 2010, 2013-2014, 2017 Free Software
17Foundation, Inc.
18
19Permission is granted to copy, distribute and/or modify this document
20under the terms of the GNU Free Documentation License, Version 1.3 or
21any later version published by the Free Software Foundation; with no
22Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
23Texts.  A copy of the license is included in the ``GNU Free
24Documentation License'' file as part of this distribution.
25