Message-Id: <201609221911.u8MJBlTH008986@delorie.com> Date: Thu, 22 Sep 2016 20:51:04 +0200 From: "Juan Manuel Guerrero (juan DOT guerrero AT gmx DOT de) [via djgpp-announce AT delorie DOT com]" To: djgpp-announce AT delorie DOT com Subject: ANNOUNCE: DJGPP port of GNU Gawk 4.1.4 uploaded. Content-Type: text/plain; charset=ISO-8859-15; format=flowed Reply-To: djgpp AT delorie DOT com This is a port of GNU Gawk 4.1.4 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. ======================= - Because the DJGPP port of GAWK has become officialy deprecated with this release by the GAWK maintainer, the major porting effort has been invested into the creation of all the standard files like config.bat, config.sed, config.site, etc. that are also used in all the other DJGPP ports. I see no sense in trying to keep up to date the DJGPP specific configuration files distributed in the /pc directory that are part of the official GAWK release. Those files seem to have been taylored for the use with DJGPP- 2.03 and are no longer maintained and thus are only of limited use to compile the sources using DJGPP 2.05. The required Makefiles and config.h files are now created by running a DJGPP specificaly modified version of the configure script that is created by config.bat. This is the usual way for almost all DJGPP ports. All DJGPP specific files are now stored in the /djgpp directory. - The source files like mbsupport.h and pc/gawkmisc.pc are the only realy important ones for this port and have been modified to get the sources compiled with DJGPP 2.05. I do not care about and do not support any more the building of GAWK using neither DJGPP 2.03 nor any previous versions of DJGPP. The original Makefiles and config.h stored in the /pc directory may still be usefull to some extend but I do not maintain them. - All changes I have done to this GAWK version are documented in the diffs file stored in the /djgpp directory. - This DJGPP port of GAWK does neither offer MPFR nor DXE/dll nor multi-byte support. And it is very unlikely that it will ever do. - To configure and build the port, LFN support is required. - The port has been configure to be build in the _build directory. Although the configuration process creates a Makefile for the /extension directory it is not used at all and no stuff there is build nor supported by this port. - The configuration process also creates a Makefile for running the testsuite. I have run all test suites. They all fail for those tests that check for not supported functionality like the |& operator or mult-byte functions. The most important issue to get the test suites working with DJGPP/DOS is to replace the used "cmp" program with "diff -u" in the appropriate line in the Makefile. There are some checks that have always failed and will continue failing. This is mostly due to the DJGPP specific behaviour of certain C library functions. - As has been announce somewhere in the GAWK documentation, the DJGPP support may be removed in the future. I will try to port GAWK until the DJGPP code gets removed. I will not try to reimpleent DJGPP support once it has been droped. The GAWK development goes into direction multi-byte and 64-bit systems and these are features that cannot be ported to DJGPP/DOS anyways. - The port has been configured and compiled on WinXP SP3. There is no guarantee that this may be possible with any other DOS-like OS. Due to the use of long file names it will not be possible to configure and compile without LFN support. Here is an extract of the NEWS file showing the user visible changes from the last port (GNU Gawk 4.1.1) to this one: ------------------------------------------------------------------------------- Changes from 4.1.3 to 4.1.4 --------------------------- 1. Updated to GNU autoconf 2.69, automake 1.15, gettext 0.19.7, texinfo 6.1, texinfo.tex 2016-02-05.07, libtool 2.4.6. 2. z/OS support updated. 3. At the beginning of each statement, the debugger now checks and reports watchpoints that have fired before checking for breakpoints. This gives more natural behavior to the user. 4. The "exit" command has been added to the debugger as an alias for "quit". 5. AIX 7.1 should pass the test suite now. Similar for Minix. 6. VMS support has been updated. 7. The profiler / pretty-printer now chains else-if statements instead of causing cascading elses. 8. The return value of system() has been enhanced to convey more information. See the doc. 9. Attempting to write to the "to" end of a two-way pipe that has been closed is now a fatal error. Similarly, so is reading from the "from" end that has been closed. 10. MinGW support has been updated. 11. The -d option now allows -d- to print to standard output. 12. Error messages for --help and in other instances should now get translated correctly. 13. A new environment variable GAWK_LOCALE_DIR may be set to locate the .mo file for gawk itself. 14. The DJGPP port is now officially deprecated. 15. A number of bugs have been fixed. See the ChangeLog. Changes from 4.1.2 to 4.1.3 --------------------------- 1. Regexp parsing with extra brackets should now be working again. There are several new tests to keep this stuff on track. 2. Updated to latest config.guess and config.sub. 3. A (small) number of bugs have been fixed. See the ChangeLog. Changes from 4.1.1 to 4.1.2 --------------------------- 1. The manual has been considerably improved. - Thoroughly reviewed and updated. - Out-of-date examples replaced. - Chapter 15 on MPFR reworked. - Summary sections added to all chapters. - Exercises added in several chapters. - Heavily proof-read and copyedited. 2. The debugger's "restart" command now works again. 3. Redirected getline is now allowed inside BEGINFILE/ENDFILE. 4. A number of bugs have been fixed in the MPFR code. 5. Indirect function calls now work for both built-in and extension functions. 6. Built-in functions are now included in FUNCTAB. 7. POSIX and historical practice require the exclusive use of the English alphabet in identifiers. In non-English locales, it was accidentally possible to use "letters" beside those of the English alphabet. This has been fixed. (isalpha and isalnum are NOT our friends.) If you feel that you must have this misfeature, use `configure --help' to see what option to use when configuring gawk to reenable it. 8. The "where" command has been added to the debugger as an alias for "backtrace". This will make life easier for long-time GDB users. 9. Gawk no longer explicitly checks the current directory after doing a path search of AWKPATH. The default value continues to have "." at the front, so most people should not be affected. If you have your own AWKPATH setting, be sure to put "." in it somewhere. The documentation has been updated and clarified. 10. Infrastructure upgrades: Automake 1.15, Gettext 0.19.4, Libtool 2.4.6, Bison 3.0.4. 11. If a user-defined function has a parameter with the same name as another user-defined function, it is no longer possible to call the second function from inside the first. 12. POSIX requires that the names of function parameters not be the same as any of the special built-in variables and also not conflict with the names of any functions. Gawk has checked for the former since 3.1.7. With --posix, it now also checks for the latter. 13. The test suite should check for necessary locales and skip the tests where it matters if support isn't what it should be. 14. Gawk now expects to be compiled on a system with multibyte character support. Systems without such support, at least at the C language level, are so obsolete as to not be worth supporting anymore. 15. A number of bugs have been fixed. See the ChangeLog. ------------------------------------------------------------------------------- Compiling the sources. ====================== Compile, test and install the binaries produced from the source distribution running the following commands from the _build directory: make make check make install 8 tests (addcomma, ofmt, ofmtbig, regexprange, regrange, reindops, sigpipe1 and strtod) from the test suite 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 consists of the usual three packages produced using djdev205 that can be downloaded from ftp.delorie.com and mirrors as (time stamp 2016-09-19): Gawk 4.1.4 binary, info and man format documentation: ftp://ftp.delorie.com/pub/djgpp/current/v2gnu/gwk414b.zip Gawk 4.1.4 dvi, html and ps format documentation: ftp://ftp.delorie.com/pub/djgpp/current/v2gnu/gwk414d.zip Gawk 4.1.4 source: ftp://ftp.delorie.com/pub/djgpp/current/v2gnu/gwk414s.zip Send Gawk specific bug reports to . Send suggestions and bug reports concerning the DJGPP port to comp.os.msdos.djgpp or . Enjoy. Guerrero, Juan Manuel