Mail Archives: djgpp/2019/06/29/23:10:03
This is a port of GNU Gawk 5.0.0 to MSDOS/DJGPP.
GNU Gawk is an interpreter for text scanning and processing language named
Awk. It is specifically suited for programs that process text files one line
at a time, but can also be used for much more complex tasks.
DJGPP specific changes.
=======================
- The DJGPP port now supports three new targets that can be selected by
passing one of the following options to the Makefile:
djgpp-mpfr
djgpp-readline
djgpp-readline-mpfr
The first compiles Gawk with mpfr support. To compile this version
the following ports must have been installed before:
ftp://ftp.delorie.com/pub/djgpp/current/v2gnu/gmp612b.zip
ftp://ftp.delorie.com/pub/djgpp/current/v2gnu/mpfr401b.zip
The second compiles Gawk with readline support. To compile this
version the following port must have been installed before:
ftp://ftp.delorie.com/pub/djgpp/current/v2gnu/rdln80b.zip
The third compiles Gawk with readline and mpfr support. To compile
this version all enumerated ports must have been installed before.
To compile Gawk without any of these features just simply pass the
option:
djgpp
to the Makefile.
- The distributed binary archive file (aka gwk500b.zip) contains two
different versions of the port, one is the usual Gawk program without
any of the features complied in called gawk.exe and a second one
compiled with readline and mpfr support called gawk_ext.exe. Select
the one you prefer and delete the other one.
- Although gawk already offers DJGPP support out-of-the-box, I have done
some minor changes to the Makefile.tst. All changes I have done to this
gawk version are documented in the diffs file stored in the /pc/djgpp
directory.
- The port has been configured and compiled on WinXP SP3, Win98SE and on
MSDOS 6.22. Due to the use of long file names it will not be possible
to build without LFN support.
- Please note that the only supported way to configure and compile gawk
using DJGPP is by using the makefiles and other code files and headers
files stored in the /pc directory. Because the distributed source
archive file (aka gwk500s.zip) is already configured, all these files
are already installed in the right directories.
It is neither possible nor supported by the gawk maintainers to
configure the DJGPP port by just running the configure script. This
has never been the case and will never be the case. Use the port
specific files stored in the /pc directory as explained in the README.pc
file that is stored in the /README_d directory.
Here is an extract of the NEWS file showing the user visible changes from
the last port (GNU Gawk 4.2.1) to this one:
-------------------------------------------------------------------------------
Changes from 4.2.1 to 5.0.0
---------------------------
1. Support for the POSIX standard %a and %A printf formats has been added.
2. The test infrastructure has been greatly improved, simplifying the
contents of test/Makefile.am and making it possible to generate
pc/Makefile.tst from test/Makefile.in.
3. The regex routines have been replaced with those from GNULIB, allowing
me to stop carrying forward decades of changes against the original
ones from GLIBC.
4. Infrastructure upgrades: Bison 3.3, Automake 1.16.1, Gettext 0.19.8.1,
makeinfo 6.5.
5. The undocumented configure option and code that enabled the use of
non-English "letters" in identifiers is now gone.
6. The `--with-whiny-user-strftime' configuration option is now gone.
7. The code now makes some stronger assumptions about a C99 environment.
8. PROCINFO["platform"] yields a string indicating the platform for
which gawk was compiled.
9. Writing to elements of SYMTAB that are not variable names now
causes a fatal error. THIS CHANGES BEHAVIOR.
10. Comment handling in the pretty-printer has been reworked almost completely
from scratch. As a result, comments in many corner cases that were
previously lost are now included in the formatted output.
11. Namespaces have been implemented! See the manual. One consequence of this
is that files included with -i, read with -f, and command line program
segments must all be self-contained syntactic units. E.g., you can no
longer do something like this:
gawk -e 'BEGIN {' -e 'print "hello" }'
12. Gawk now uses the locale settings for ignoring case in single byte
locales, instead of hardwiring in Latin-1.
13. A number of bugs, some of them quite significant, have been fixed.
See the ChangeLog for details.
-------------------------------------------------------------------------------
Compiling the sources.
======================
Compile, test and install the binaries produced from the source
distribution running the following commands from the top source
directory (aka gawk-5.0.0):
make
make check
make install
31 tests from the test suite will fail without aborting the test suite.
This is expected to happen. It may be usefull to increment the "files"
directive in your config.sys or config.nt to around the max. value of 255
before running the testsuite.
For further information about GNU Gawk please read the info docs
and NEWS file.
The port consists of the usual three packages that have been produced
using djdev205 and can be downloaded from ftp.delorie.com and mirrors
as (time stamp 2019-05-21):
Gawk 5.0.0 binary, info and man format documentation:
ftp://ftp.delorie.com/pub/djgpp/current/v2gnu/gwk500b.zip
Gawk 5.0.0 dvi, html and ps format documentation:
ftp://ftp.delorie.com/pub/djgpp/current/v2gnu/gwk500d.zip
Gawk 5.0.0 source:
ftp://ftp.delorie.com/pub/djgpp/current/v2gnu/gwk500s.zip
Send Gawk specific bug reports to <bug-gawk AT gnu DOT org>.
Send suggestions and bug reports concerning the DJGPP port
to comp.os.msdos.djgpp or <djgpp AT delorie DOT com>.
Enjoy.
Guerrero, Juan Manuel <juan DOT guerrero AT gmx DOT de>
- Raw text -