packages icon
-- $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 <dickey@invisible-island.net>
	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.