diff options
author | Arnold D. Robbins <arnold@skeeve.com> | 2010-12-18 20:29:22 +0200 |
---|---|---|
committer | Arnold D. Robbins <arnold@skeeve.com> | 2010-12-18 20:29:22 +0200 |
commit | bd52c816f95a6aec471f194b94c2e195cf7f9988 (patch) | |
tree | 95afa5c273355441df78fdf1aeaa69d078945159 /README_d | |
parent | dd4d686a4181448171114d6fc6f4f8ae58394e16 (diff) | |
download | gawk-bd52c816f95a6aec471f194b94c2e195cf7f9988.tar.gz |
Cleanup the mainline PC code, and pc/ directory.
Diffstat (limited to 'README_d')
-rw-r--r-- | README_d/ChangeLog | 8 | ||||
-rw-r--r-- | README_d/README.pc | 300 |
2 files changed, 19 insertions, 289 deletions
diff --git a/README_d/ChangeLog b/README_d/ChangeLog new file mode 100644 index 00000000..3ac17c2b --- /dev/null +++ b/README_d/ChangeLog @@ -0,0 +1,8 @@ +2010-12-18 Eli Zaretskii <eliz@gnu.org> + + * README_d/README.pc: Update and simplify. Remove lots of + outdated stuff for systems and configurations no longer supported. + +2010-12-18 Arnold Robbins <arnold@skeeve.com> + + * ChangeLog: Created. diff --git a/README_d/README.pc b/README_d/README.pc index 12e4279a..661f9bd4 100644 --- a/README_d/README.pc +++ b/README_d/README.pc @@ -1,13 +1,10 @@ -This is the README for GNU awk 3.1 under Windows32, OS/2, and DOS. +This is the README for GNU awk 4 under Windows32, OS/2, and DOS. Gawk has been compiled and tested under OS/2, DOS, and Windows32 using the GNU development tools from DJ Delorie (DJGPP; DOS with special -support for long filenames under Win95), Eberhard Mattes (EMX; OS/2, +support for long filenames on Windows), Eberhard Mattes (EMX; OS/2, DOS, and Windows32 with rsxnt), and Jan-Jaap van der Heijden and Mumit Khan -(Mingw32; Windows32). Microsoft Visual C/C++ can be used to build a Windows32 -version for Windows 9x/NT, and MSC can be used to build 16-bit versions -for DOS and OS/2. (As of 3.1.2, the MSC version doesn't work, but the -maintainer for it is working on fixing it.) +(Mingw32; Windows32). The Cygwin environment (http://cygwin.com) may also be used to compile and run gawk under Windows. For Cygwin, building and @@ -27,21 +24,9 @@ The `configure' step takes a long time, but works otherwise. Building gawk ------------- -Building on DOS or Windows environments can be troublesome, in part due -to shell limitations, the long filename issue, and various Windows32 pipe -considerations. The situation is somewhat better on OS/2. The general -recommendation is to use tools (especially make) which are compatible -or built with the compiler to be used on gawk. - -Building versions which do not understand long filenames on systems -that offer long names is a special case. The maintainers unpack the -distribution and process using utilities (unzip, make, cmp) which do not -use long filenames. (For example, the djgpp tools will work if LFN=n is -set in the environment.) - Copy the files in the `pc' directory (EXCEPT for `ChangeLog') to the directory with the rest of the gawk sources. (The subdirectories of -`pc' need not be copied.) The makefile contains a configuration +`pc' need not be copied.) The Makefile contains a configuration section with comments, and may need to be edited in order to work with your make utility. @@ -85,279 +70,17 @@ builds igawk.bat and igawk.cmd, which are used to add an include facility to gawk (and which require sh). -Notes ------ - -1. Collections containing gawk and various utilities for OS/2 or DOS -include the GNUish Project, Rommel's OS/2 collection at LEO, and the -djgpp collection. - -The GNUish Project was designed to bring GNU-like programs to small -systems running OS/2 and DOS. Binary distributions of gawk are -maintained in GNUish, and include 16bit OS/2 and DOS, 32bit djgpp, -and Windows32 versions. Information on GNUish is available via - - http://www.simtel.net/simtel.net/ -or - ftp://ftp.simtel.net/simtelnet/gnu/gnuish - -Documentation appears in gnuish.htm (html) or gnuish.inf (info). - -Kai Uwe Rommel <rommel@leo.org> maintains a (mostly OS/2) collection at - - http://www.leo.org/archiv/os2 or ftp://ftp.leo.org - -It contains emx-compiled (32bit) versions of gawk for OS/2, DOS, and Windows32, -along with many OS/2 utilities. - -The djgpp collection at - - ftp://ftp.delorie.com/pub/djgpp/current/v2gnu/ - -contains a djgpp-compiled (32bit) version of gawk, along with many -djgpp-compiled utilities. - -The Mingw32 collection at http://www.mingw.org contains links to ported -software. The site by Jan-Jaap van der Heijden - - http://agnes.dida.physik.uni-essen.de/~janjaap/ - -is apparently no longer maintained, but it was accessible as of Jan 2001 -and may contain files of interest. - - -2. The following table illustrates some of the differences among the various -compiled versions of gawk. For example, the djgpp version runs on all the -systems, but with differing capabilities: it supports long filenames under -Win-9x but not under NT, and it runs as a DPMI application under OS/2 (which -translates into "works in the DOS-box under OS/2, but not as a true OS/2 -application"). - - DOS Win/WfW Win9x NT OS/2 - ------------------------------------------------------- - djgpp | DPMI DPMI DPMI DPMI,NoLFN DPMI - emx(1) | N N N N OS2 - emxbnd(2) | VCPI,DPMI DPMI DPMI,NoLFN DPMI,NoLFN DPMI,OS2 - emxnt(3) | N N Windows32 Windows32 N - msc(4) | 16 16 16,NoLFN 16,NoLFN 16,DOS - msc6bnd | 16 16 16,NoLFN 16,NoLFN 16,DOS,OS2 - msc6os2 | N N N N 16,OS2 - vcWin32 | N N Windows32 Windows32 N - mingw32 | N N Windows32 Windows32 N - - (1) Requires emxrt. - - (2) May run as a DPMI app in plain DOS and in a DOS-shell under OS/2 - or Windows, and as a true OS/2 application under OS/2. DPMI - requires rsxnt, and VCPI or use as an OS/2 app requires emxrt. - - (3) Requires rsxnt. - - (4) When compiling, MSC 8, when run in Windows 9x, will require that if - files are listed in #include statements with LFNs - (eg. <patchlevel.h>), that the file be named with the LFN. - - 16 16bit; limited capacity, especially under DOS. - - DOS Runs as a DOS application. - - DPMI Dos Protected Mode Interface; program runs as a DOS application. - Under plain DOS, a DPMI server (such as csdpmi from the djgpp - archives) is required. See also VCPI. - - emxrt The emx runtime, available from LEO. - - N Not supported. - - NoLFN No long filename support. - - OS2 Runs as an OS/2 application. - - rsxnt Runtimes for use with DPMI or Windows32. - - VCPI Virtual Control Program Interface; program runs as a DOS app. - Memory managers (such as emm386) may need adjustment. VCPI cannot - be used under OS/2, Win/WfW, Win-95, or NT. See also DPMI. - -Windows32 Uses/supports Windows32 features (such as long filenames). - -Reportedly, NTEmacs (another Windows32 program) can run programs such as -Windows32-gawk asynchronously. Similarly, as native OS/2 versions are a -plus under OS/2 even for command-line programs, native Windows32 versions -may be desired under NT and Win95. - -Users interested in Windows32 applications may also wish to examine the -Red Hat Cygwin project at http://cygwin.com/ or the Mingw32 work at -http://www.mingw.org. Windows32 gawk will often require that utilities run -from within gawk be Windows32 (e.g., the tests place this requirement on the -cat utility). - - -3. An sh-like shell may be useful for awk programming (and is essential -for running "make test"). Stewartson's sh (OS/2 and DOS) is a good -choice, and may be found in GNUish. - -Stewartson's shell uses a configuration file (see "Command Line Building" -in the sh manual page), and it may be necessary to edit the entry for -gawk. The following entries are suggested: - - -- $(EXTENDED_LINE) -- -- Comment only, not part of file -- - gawk = unix ignoretype # emxbnd - gawk = unix # djgpp; msc* with Stewartson's stdargv - # No entry for emx or for msc* without stdargv - gawk = ignoretype # if you want something which which always work - # --but without the use of @-include files. - -However, users of djgpp versions of gawk may prefer "dos" over "unix" -in the above, due to the way djgpp handles @-include files. Entries -for other other utilities (such as sed and wc) may need to be edited -in order to match your specific collection of programs. - -Daisuke Aoyama <jack@st.rim.or.jp> has ported Bash 1.14.7 to djgpp. -This version worked flawlessly in tests with djgpp gawk and make. bash -is now part of the djgpp collection; the older port may be found on - - http://www.neongenesis.com/~jack/djgpp-work/beta/index.html - -Under OS/2, bash should be a good choice; however, there has been some -trouble getting a solid version. As of Feb-95, there are two bash ports, -available at LEO under shells/gnu/. - -LEO also contains a Korn shell (ksh), tcsh, zsh, and a demo of -Hamilton's C shell, but these have not been tested with gawk by the -maintainers. Reports are welcomed. - -Users of the emx versions of gawk may wish to set EMXSHELL, which -overrides COMSPEC when running shells from emx programs. Similarly, -the djgpp version of gawk respects SHELL. - -Compatibility among shells and various utilities (including gawk) -continues to be a problem. Stewartson's shell may be the best choice -for emx-compiled programs (although djgpp-bash almost works with -emx on DOS). GNU make is recommended if using djgpp-bash. - -Beginning with 3.0.4, the MSC (DOS/Windows32) and Mingw32 versions write -pipe and system() commands to a temporary file, and then execute -with SHELL or COMSPEC. The current mechanism defaults to dos-style -shell conventions unless the shell is one of sh, bash, csh, tcsh, sh32, -sh16, or ksh. - - -4. GNU make is available at LEO for OS/2, in the djgpp collection -for DOS, and in the Mingw32 collection for Windows32. - -dmake is by Dennis Vadura (dvadura@watdragon.uwaterloo.ca), CS -Dept., University of Waterloo. OS/2 and DOS versions can be found as -part of the GNUish project. Note that DOS users will need the DOS-only -version (due to the swap requirement). - -Ndmake is by D.G. Kneller. This ShareWare program was later released -as Opus Make (which is available for OS/2 and DOS). Ndmake 4.5 is -available at - - ftp://ftp.simtel.net/simtelnet/msdos/c/ndmake45.zip - - -5. Stewartson's shell contains sources for a setargv-replacement -for MSC, which can add enhanced command-line processing capabilities -to gawk. See the makefile. Note that there is a fatal bug in -stdargv.c, triggered in the case of no closing quote. The following -patch treats this case as if a quote was inserted as the last -character on the command-line. - -478,479c478,482 -< else -< spos = &spos[strlen (cpos)]; ---- -> else { -> /* No matching quote. Fake it. */ -> spos = cpos + strlen (cpos) + 1; -> break; -> } - - -Known bugs ----------- - -1. DJGPP version 1 has known problems with signals, and in the way it -handles command-lines. Older versions of this file contain notes on -other bugs, and on a few bugs uncovered in the v2 betas. Testing of -gawk with DJGPP v1 ended with gawk-3.0. djgpp-2.01 and djgpp ports of -GNU make 3.75 or later are strongly preferred, in part due to enhanced -support for sh-like shells. - -2. emx does not support DST. On 2-Jan-96, Mattes writes: - - Quotation from ISO 9899-1990: - - 7.12.3.5 The strftime function - [...] - %Z is replaced by the time zone name or abbreviation, or by no - characters if no time zone is determinable. - - As emx does not yet support DST, it does not know which one of the two - time zones (with DST vs. without DST) applies. In consequence, `no - time zone is determinable'. - -As a workaround, it may be possible to edit do_strftime() of builtin.c -according to Mattes' recommendation: - - If you happen to know whether DST applies or not for a given struct - tm, just set its tm_isdst to a positive value or to zero, respectively. - Then, strftime() will replace %Z with the name of the time zone. - -However, this probably won't yield a generic solution given that the rules -for when DST starts and stops vary depending upon your location and the -rules have changed over time. Most versions of UNIX maintain this -information in a database (of sorts). In Solaris, for instance, it can be -found in /usr/share/zoneinfo/*. The setting of the TZ environment variable -(eg. TZ=US/Pacific) is then used to lookup the specifics for that locale. - -3. The 16-bit DOS version can exhaust memory on scripts such as Henry -Spencer's "awf". Use GNU C versions if possible. - -4. builtin.c of gawk-3.0.[1-6] triggers a bug in MSC 6.00A. The makefile -works around the bug by compiling builtin.c without optimizations (-Od). -In limited testing, it appears that inserting some dummy code in -builtin.c can provide a better solution than disabling optimizations. - -5. There are problems with system() when using the rsx package with emx -programs (rsx is used in DPMI environments such as MS-Win). The djgpp -versions are preferred in this case. - -6. In contrast to getpid() on UNIX, the getpid() in Microsoft C/C++ 1.52 -(AKA 8.0) sometimes returns negative numbers. The DOS Gawk developers felt -that it was best to use Microsoft's built-in function; but at the same time, -we are placing this warning here, because this behavior will undoubtably be -surprising to many. - -7. MSC 6 fails the strftlng test. The funstack test exhausts memory -on the 16bit DOS versions. - -8. Eli Zaretskii writes: "Make can crash with SIGFPE after finishing all -the tests. This happens on Windows 95 only, and Gawk 3.0.3 does that as -well (as do older versions of Make). The cause for this is the log(-1) -call in the last test. Based on some limited testing, I'd say that the -problem is in sloppy Windows handling of the FPU: it doesn't clean up the -FPU after a program exits, so if Make has SIGFPE unmasked, it crashes." - -9. gawk built from the mingw32 and vcWin32 targets continues to have -problems with pipes; in particular, the pipeio1 test fails. - -10. As mentioned above, `|&' only works with Cygwin. - - Gawk thanks ----------- -The DOS maintainers wish to express their thanks to Eli Zaretskii -<eliz@is.elta.co.il> for his work and for the many conversations -concerning gawk, make, and djgpp. His FAQ for djgpp is essential -reading, and he was always willing to answer our questions (even when -we didn't read the relevant portions of the FAQ :). +The DOS maintainers wish to express their thanks to Eli Zaretskii +<eliz@gnu.org> for his work and for the many conversations concerning +gawk, make, and djgpp. His FAQ for djgpp is essential reading, and he +was always willing to answer our questions (even when we didn't read +the relevant portions of the FAQ :). -We are indebted to Juan Grigera <juan@biophnet.unlp.edu.ar> for the -Visual C++ target, and for additional help on changes for Windows32. +We are indebted to Juan Grigera <juan@biophnet.unlp.edu.ar> for +additional help on changes for Windows32. ---- @@ -369,4 +92,3 @@ or andreas.buening@nexgo.de (OS/2 version) Support for Windows32 started in gawk-3.0.3. -This is no longer supported. |