Go to main content

man pages section 1: User Commands

Exit Print View

Updated: Wednesday, July 27, 2022
 
 

m4 (1g)

Name

m4 - macro processor

Synopsis

m4 [OPTION]... [FILE]...

Description

M4(1)                            User Commands                           M4(1)



NAME
       m4 - macro processor

SYNOPSIS
       m4 [OPTION]... [FILE]...

DESCRIPTION
       Process  macros in FILEs.  If no FILE or if FILE is `-', standard input
       is read.

       Mandatory or optional  arguments  to  long  options  are  mandatory  or
       optional for short options too.

   Operation modes:
       --help display this help and exit

       --version
              output version information and exit

       -E, --fatal-warnings
              once:  warnings  become  errors,  twice: stop execution at first
              error

       -i, --interactive
              unbuffer output, ignore interrupts

       -P, --prefix-builtins
              force a `m4_' prefix to all builtins

       -Q, --quiet, --silent
              suppress some warnings for builtins

       --warn-macro-sequence[=REGEXP]
              warn if macro definition matches REGEXP,

              default \$\({[^}]*}\|[0-9][0-9]+\)

       -W, --word-regexp=REGEXP
              use REGEXP for macro name syntax

   Preprocessor features:
       -D, --define=NAME[=VALUE]
              define NAME as having VALUE, or empty

       -I, --include=DIRECTORY
              append DIRECTORY to include path

       -s, --synclines
              generate `#line NUM "FILE"' lines

       -U, --undefine=NAME
              undefine NAME

   Limits control:
       -g, --gnu
              override -G to re-enable GNU extensions

       -G, --traditional
              suppress all GNU extensions

       -H, --hashsize=PRIME
              set symbol lookup hash table size [509]

       -L, --nesting-limit=NUMBER
              change nesting limit, 0 for unlimited [0]

   Frozen state files:
       -F, --freeze-state=FILE
              produce a frozen state on FILE at end

       -R, --reload-state=FILE
              reload a frozen state from FILE at start

   Debugging:
       -d, --debug[=FLAGS]
              set debug level (no FLAGS implies `aeq')

       --debugfile[=FILE]
              redirect debug and trace output to FILE (default stderr, discard
              if empty string)

       -l, --arglength=NUM
              restrict macro tracing size

       -t, --trace=NAME
              trace NAME when it is defined

   FLAGS is any of:
       a      show actual arguments

       c      show before collect, after collect and after call

       e      show expansion

       f      say current input file name

       i      show changes in input files

       l      say current input line number

       p      show results of path searches

       q      quote values as necessary, with a or e flag

       t      trace for all macro calls, not only traceon'ed

       x      add a unique macro call id, useful with c flag

       V      shorthand for all of the above flags

       If defined, the environment variable `M4PATH' is a colon-separated list
       of directories included after any specified by `-I'.

       Exit status is 0 for success, 1 for failure, 63 for frozen file version
       mismatch, or whatever value was passed to the m4exit macro.

AUTHOR
       Written by Rene' Seindal.

REPORTING BUGS
       Report bugs to: bug-m4@gnu.org
       GNU M4 home page: <http://www.gnu.org/software/m4/>
       General help using GNU software: <http://www.gnu.org/gethelp/>

COPYRIGHT
       Copyright  (C) 2016 Free Software Foundation, Inc.  License GPLv3+: GNU
       GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
       This is free software: you are free  to  change  and  redistribute  it.
       There is NO WARRANTY, to the extent permitted by law.


ATTRIBUTES
       See attributes(7) for descriptions of the following attributes:


       +---------------+------------------------+
       |ATTRIBUTE TYPE |    ATTRIBUTE VALUE     |
       +---------------+------------------------+
       |Availability   | developer/macro/gnu-m4 |
       +---------------+------------------------+
       |Stability      | Committed              |
       +---------------+------------------------+

SEE ALSO
       The  full  documentation  for m4 is maintained as a Texinfo manual.  If
       the info and m4 programs are properly installed at your site, the  com-
       mand

              info m4

       should give you access to the complete manual.



NOTES
       Source  code  for open source software components in Oracle Solaris can
       be found at https://www.oracle.com/downloads/opensource/solaris-source-
       code-downloads.html.

       This     software     was    built    from    source    available    at
       https://github.com/oracle/solaris-userland.   The  original   community
       source                was                downloaded                from
       https://ftp.gnu.org/gnu/m4/m4-1.4.18.tar.xz.

       Further information about this software can be found on the open source
       community website at https://www.gnu.org/software/m4.



GNU M4 1.4.18                    December 2016                           M4(1)