Mail Archives: djgpp/2013/05/12/15:40:22
This is a port of GNU Gawk 4.1.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.
=======================
- Add CVS version of popen.c to avoid that gawk is linked to the broken
one from djdev204 (beta 1).
- Minor DJGPP specific issues concerning the way the sources are compiled
documented in the diffs file located in the pc subdir.
- The testsuite will only work if LFN support is available. This is due
to the great amount of long file names that can not match on unique
short file names clashes. I have no intention to solve these file name
conflicts. Please note that the package can always be compiled and
installed on SFN systems. Only the testsuite will not work.
- The DJGPP port does not support the building of DLLs. DLLs are not
supported by DOS nor by DJGPP by the momment.
- The DJGPP port does not support the use of MPFR library. This may
change in the future.
Here is an extract of the NEWS file showing the user visible changes from
the last port (gawk 4.0.2) to this one:
Changes from 4.0.2 to 4.1.0
---------------------------
1. The three executables gawk, pgawk, and dgawk, have been merged into
one, named just gawk. As a result:
* The -R option is gone
* Use -D to run the debugger. An optional file argument is a
list of commands to run first.
* Use -o to do pretty-printing only.
* Use -p to do profiling.
This considerably reduces gawk's "footprint" and eases the documentation
burden as well.
2. Gawk now supports high precision arithmetic with MPFR. The default is
still double precision, but setting PREC changes things, or using
the -M / --bignum options. This support is not compiled in if the MPFR
library is not available.
3. The new -i option (from xgawk) is used for loading awk library files.
This differs from -f in that the first non-option argument is treated
as a script.
4. The new -l option (from xgawk) is used for loading dynamic extensions.
5. The dynamic extension interface has been completely redone! There is
now a defined API for C extensions to use. A C extension acts like
a function written in awk, except that it cannot do everything that awk
code can. However, this allows interfacing to any facility that is
available from C. This is a major development, see the doc, which has
a nice shiny new chapter describing everything.
This support is not compiled in if dynamic loading of shared libraries
is not supported.
The old extension mechanism is still supported for compatiblity, but
it will most definitely be removed at the next major release.
6. The "inplace" extension, built using the new facility, can be used to
simulate the GNU "sed -i" feature.
7. The and(), or() and xor() functions now take any number of arguments,
with a minimum of two.
8. New arrays: SYMTAB, FUNCTAB, and PROCINFO["identifiers"]. SYMTAB allows
indirect access to any defined variable or array; it is possible to
"walk" the symbol table, if that should be necessary.
9. Support for building gawk with a cross compiler has been improved.
10. Infrastructure upgrades: bison 2.7.1, gettext 0.18.2.1, automake 1.13.1,
libtool 2.4.2 for the extensions.
-----------------------------------------------------------
Compiling the sources.
======================
Compile, test and install the binaries produced from the source
distribution
running the following commands from the top srcdir, this is gawk-4.1-0:
make djgpp
cd test
make
cd ..
make install
7 tests from the testsuite will fail without aborting the test suite.
This is expected to happen. The test case: manyfiles may abort the
complete
test suite. This is because it tries to open 1025 files exhausting
the amount
of file descriptors that the OS offers. I have reduced the number to
245,
so the test should work if you have set the "files" directive in your
config.sys or config.nt to around the max. value of 255.
For further information about GNU gawk please read the info docs and
NEWS file.
The port has been compiled using stock djdev203 (patchlevel 2) and
consists
of the usual three packages that can be downloaded from
ftp.delorie.com and
mirrors as (time stamp 2013-05-12):
Gawk 4.1.0 binary, info and man format documentation:
ftp://ftp.delorie.com/pub/djgpp/current/v2gnu/gwk410b.zip
Gawk 4.1.0 dvi, html and ps format documentation:
ftp://ftp.delorie.com/pub/djgpp/current/v2gnu/gwk410d.zip
Gawk 4.1.0 source:
ftp://ftp.delorie.com/pub/djgpp/current/v2gnu/gwk410s.zip
The binaries have been produced a second time using the stock version of
djdev204 beta library. This package is available at ftp.delorie.com and
mirrors as (time stamp 2013-05-12):
Gawk 4.1.0 binary, info and man format documentation:
ftp://ftp.delorie.com/pub/djgpp/beta/v2gnu/gwk410b.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 -