-- $MawkId: README,v 1.6 2019/01/29 02:05:45 tom Exp $ -- vile:txtmode fc=78 mawk -- an implementation of new/posix awk version 1.3.4 Generic installation instructions are in file INSTALL. This file gives more specific information. Send bug reports, comments, questions, etc. to Thomas E. Dickey https://invisible-island.net/mawk/ ftp://ftp.invisible-island.net/mawk/ ------------------------------------------------------------------------------- Portability: ----------- This program builds/runs on several POSIX-style platforms. It has been recently tested for these: AIX (5.1 and 5.3, using cc and gcc) Cygwin (1.5.21 on Windows/XP) FreeBSD (6.0) HPUX (10.20, 11.00, 11.11 and 11.23, using cc and gcc) IRIX64 (using cc and gcc) Linux (several flavors, using gcc and icc) MinGW/MSYS (on Windows/XP) OpenBSD (4.1) Solaris (2.6 to 10, using cc and gcc) Tru64 (4.0D and 5.1, using cc and gcc) Options: ------- The configure script has these application-specific options: --disable-echo display "compiling" commands Show "compiling foo.c" rather than the full compiler and options. Those are clutter useful only to a developer. Developers focus on compiler warnings anyway. --enable-warnings test: turn on gcc compiler warnings This turns on the usual gcc compiler warnings needed to do useful development. If you happen to be using the Intel compiler icc, it does the right thing for that. --with-builtin-regex use mawk's own regular-expressions engine Normally mawk's configure script uses the built-in regular expressions. The choice of default is based on where the greatest lossage occurs. More scripts use gawk's null-character extension than use POSIX brace expressions. If your needs are different, build mawk using an external library. Limitations: ----------- mawk 1.3.3 was developed to correspond with a POSIX draft. POSIX continued, and incorporated some of mawk's extensions as features. The 1.3.4 release fills in the major areas in which POSIX grew past the mawk 1.3.3 implementation. mawk's built-in regular expression engine does not yet support brace expressions, e.g., /a{,4}/ Use an external regular expression library if you require brace expressions. Aside from that, mawk's built-in regular expressions provide POSIX functionality. Using an external regular expression library means that mawk cannot match expressions containing the null character. That is a nonstandard feature provided by gawk. Using mawk's built-in regular expressions, there is some support for this feature. Aside from supporting nulls, using an external regular expression library is usually advantageous. The Cygwin math library has some problems (which are also visible in the gawk port). For instance, its log() function returns Inf (infinity) for log(-8) rather than NaN (not a number) as all of the Unix and similar platforms would do. The MSYS package for regular expressions is unusable as an external library for mawk because it generates a runtime error when asked to compile a newline, e.g., "\n". mawk does this during initialization. The MinGW/MSYS port does not currently support pipes. There is source-code from the obsolete MS-DOS port which can be reused for this purpose; however that is not the focus of the 1.3.4 release.