diff options
author | Arnold D. Robbins <arnold@skeeve.com> | 2010-07-16 12:41:09 +0300 |
---|---|---|
committer | Arnold D. Robbins <arnold@skeeve.com> | 2010-07-16 12:41:09 +0300 |
commit | 8c042f99cc7465c86351d21331a129111b75345d (patch) | |
tree | 9656e653be0e42e5469cec77635c20356de152c2 /README_d | |
parent | 8ceb5f934787eb7be5fb452fb39179df66119954 (diff) | |
download | egawk-8c042f99cc7465c86351d21331a129111b75345d.tar.gz egawk-8c042f99cc7465c86351d21331a129111b75345d.tar.bz2 egawk-8c042f99cc7465c86351d21331a129111b75345d.zip |
Move to gawk-3.0.0.
Diffstat (limited to 'README_d')
-rw-r--r-- | README_d/README.FIRST | 21 | ||||
-rw-r--r-- | README_d/README.VMS | 108 | ||||
-rw-r--r-- | README_d/README.atari | 21 | ||||
-rw-r--r-- | README_d/README.pc | 178 | ||||
-rw-r--r-- | README_d/README.sgi | 17 | ||||
-rw-r--r-- | README_d/README.sunos4 | 8 | ||||
-rw-r--r-- | README_d/README.ultrix | 20 | ||||
-rw-r--r-- | README_d/README.yacc | 7 |
8 files changed, 380 insertions, 0 deletions
diff --git a/README_d/README.FIRST b/README_d/README.FIRST new file mode 100644 index 00000000..2ebd5b7e --- /dev/null +++ b/README_d/README.FIRST @@ -0,0 +1,21 @@ +Sat Feb 18 23:07:55 EST 1995 + +Starting with 2.15.6, gawk will preserve the value of NF and $0 for +the last record read into the END rule(s). This is important to you +if your program uses + + print + +in an END rule to mean + + print "" + +(i.e., print nothing). Examine your awk programs carefully to make sure +that they use `print ""' instead of `print', otherwise you will get +strange results. + +If you send me email about this, without having read this +file, I will yell at you. + +Arnold Robbins +arnold@gnu.ai.mit.edu diff --git a/README_d/README.VMS b/README_d/README.VMS new file mode 100644 index 00000000..057a359f --- /dev/null +++ b/README_d/README.VMS @@ -0,0 +1,108 @@ + +Compiling GAWK on VMS: + + There's a DCL command procedure that will issue all the necessary +CC and LINK commands, and there's also a Makefile for use with the MMS +utility. From the source directory, use either + |$ @[.VMS]VMSBUILD.COM +or + |$ MMS/DECRIPTION=[.VMS]DECSRIP.MMS GAWK + +VAX C V3.x -- use either vmsbuild.com or descrip.mms as is. These use + CC/OPTIMIZE=NOLINE, which is essential for version 3.0. +VAX C V2.x -- (version 2.3 or 2.4; older ones won't work); edit either + vmsbuild.com or descrip.mms according to the comments in them. + For vmsbuild.com, this just entails removing two '!' delimiters. + Also edit config.h (which is a copy of file [.config]vms-conf.h) + and comment out or delete the two lines ``#define __STDC__ 0'' + and ``#define VAXC_BUILTINS'' near the end. +GNU C -- edit vmsbuild.com or descrip.mms; the changes are different + from those for VAX C V2.x, but equally straightforward. No + changes to config.h should be needed. +DEC C -- edit vmsbuild.com or descrip.mms according to their comments. + + Tested under VAX/VMS V5.5-2 using VAX C V3.2, GNU C 1.42 and 2.5.0. +Should work without modifications for VMS V4.6 and up. + + +Installing GAWK on VMS: + + All that's needed is a 'foreign' command, which is a DCL symbol +whose value begins with a dollar sign. + |$ GAWK :== $device:[directory]GAWK +(Substitute the actual location of gawk.exe for 'device:[directory]'.) +That symbol should be placed in the user's login.com or in the system- +wide sylogin.com procedure so that it will be defined every time the +user logs on. + + Optionally, the help entry can be loaded into a VMS help library. + |$ LIBRARY/HELP SYS$HELP:HELPLIB [.VMS]GAWK.HLP +(You may want to substitute a site-specific help library rather than +the standard VMS library 'HELPLIB'.) After loading the help text, + |$ HELP GAWK +will provide information about both the gawk implementation and the +awk programming language. + + The logical name AWK_LIBRARY can designate a default location +for awk program files. For the '-f' option, if the specified filename +has no device or directory path information in it, Gawk will look in +the current directory first, then in the directory specified by the +translation of AWK_LIBRARY if it the file wasn't found. If the file +still isn't found, then ".awk" will be appended and the file access +will be re-tried. If AWK_LIBRARY is not defined, that portion of the +file search will fail benignly. + + +Running GAWK on VMS: + + Command line parsing and quoting conventions are significantly +different on VMS, so examples in _The_GAWK_Manual_ or the awk book +often need minor changes. They *are* minor though, and all the awk +programs should run correctly. + + Here are a couple of trivial tests: + |$ gawk -- "BEGIN {print ""Hello, World!""}" + |$ gawk -"W" version !could also be -"W version" or "-W version" +Note that upper- and mixed-case text must be quoted. + + The VMS port of Gawk includes a DCL-style interface in addition +to the original shell-style interface. See the help entry for details. +One side-effect of dual command line parsing is that if there's only a +single parameter (as in the quoted string program above), the command +becomes ambiguous. To work-around this, the normally optional "--" +flag is required to force shell rather than DCL parsing. If any other +dash-type options (or multiple parameters such as data files to be +processed) are present, there is no ambiguity and "--" can be omitted. + + The logical name AWKPATH can be used to override the default +search path of "SYS$DISK:[],AWK_LIBRARY:" when looking for awk program +files specified by the '-f' option. The format of AWKPATH is a comma- +separated list of directory specifications. When defining it, the +value should be quoted so that it retains a single translation, not a +multi-translation RMS searchlist. + + +Building and using GAWK under VMS POSIX: + + Ignore the instructions above, although vms/gawk.hlp should still +be made available in a help library. Make sure that the two scripts, +'configure' and 'mungeconf', are executable; use `chmod +x' on them if +necessary. Then execute the following two commands: + |psx> configure vms-posix + |psx> make PARSER=yacc awktab.c gawk +The first command will construct files "config.h" and "Makefile" out of +templates. The second command will compile and link 'gawk'. Due to +a 'make' bug in VMS POSIX 1.0 and V1.1, the file "awktab.c" must be +given as an explicit target or it will not be built and the final link +step will fail. Ignore the warning "Could not find lib m in lib list"; +it is harmless, caused by the Makefile's explicit use of -lm as a linker +option which is not needed under VMS POSIX. Under V1.1 (but not V1.0) +a problem with the yacc skeleton /etc/yyparse.c will cause a compiler +warning for awktab.c, followed by a linker warning about compilation +warnings in the resulting object module. These warnings can be ignored. + + Another 'make' bug interferes with exercising various components +of the test suite, but all the actual tests should execute correctly. +(The main exception being book/wordfreq, which gives different results +due to VMS POSIX 'sort' rather than to 'gawk'.) + diff --git a/README_d/README.atari b/README_d/README.atari new file mode 100644 index 00000000..ffbb12ac --- /dev/null +++ b/README_d/README.atari @@ -0,0 +1,21 @@ +Gawk on the Atari has been compiled and tested using gcc, both +with and without -mshort flag. Other compilers can be used but if +sizeof(pointer) != sizeof(int) this code will not compile correctly +with a non-ANSI compiler (prototypes and library). + +Compiled executables were tested and passed successfully a test suite +similar to 'make test'. Required changes are minor and minor +modifications are due to differences in environment and/or shell. If +a need will arise a modified test suite with a driving Makefile (for +gulam) is available on a request from Michal Jaegermann, +michal@gortel.phys.ualberta.ca or michal@ellpspace.math.ualberta.ca, +via e-mail. + +Sample files atari/Makefile.st, atari/Makefile.awklib and +atari/config.h assume gcc compilation and execution under TOS; it is +likely that one would want to change it for another setup. If they +are ok then copy atari/Makefile.st to Makefile, atari/config.h to +config.h and atari/Makefile.awklib to awklib/Makefile.. Pay attention +to code fragments bracketed by '#ifdef atarist ... #endif'. These +modifications may not be required/desired with a different OS and/or +libraries. diff --git a/README_d/README.pc b/README_d/README.pc new file mode 100644 index 00000000..875cd53c --- /dev/null +++ b/README_d/README.pc @@ -0,0 +1,178 @@ +This is the README for GNU awk 3.0 under OS/2 and DOS. + + Gawk has been compiled and tested under OS/2 and DOS using the GNU +development tools from DJ Delorie (DJGPP, DOS-only) and Eberhard Mattes +(EMX, DOS and OS/2). Microsoft C can be used to build 16-bit versions +for DOS and OS/2. + + +Building gawk +------------- + +Copy the files in the `pc' directory to the directory with the rest of +the gawk sources. The makefile contains a configuration section with +comments, and may need to be edited in order to work with your make +utility. + +The "prefix" line in the Makefile is used during the install of gawk +(and in building igawk.bat and igawk.cmd). Since the libraries for +gawk will be installed under $(prefix)/lib/awk (e.g., /gnu/lib/awk), +it is convenient to have this directory in DEFPATH of config.h. + +The makefile contains a number of targets for building various DOS and +OS/2 versions. A list of targets will be printed if the make command is +given without a target. As an example, to build gawk using the djgpp +tools, enter "make djgpp". + + +Testing and installing gawk +--------------------------- + +The command "make test" (and possibly "make install") requires several +Unix-like tools, including an sh-like shell, sed, cp, and cmp. Only dmake +and OS/2 GNU make are known to work on "make test"; in particular, the +make delivered as part of the DJGPP tools and Ndmake will not work. + +There are two methods for the install: Method 1 uses a typical Unix-like +approach and requires cat, cp, mkdir, sed, and sh; method 2 uses gawk +and batch files. See the configuration section of the makefile. + +The file test/Makefile will need some editing (especially for DOS). A +sample makefile with comments appears in pc/Makefile.tst, and can be +used to modify test/Makefile for your platform. In addition, the files +in the test directory ending with ".ok" may need to have their +end-of-line markers converted, as described in Makefile.tst. + +It is routine to install by hand, but note that the install target also +builds igawk.bat and igawk.cmd, which are used to add an include +facility to gawk (and which require sh). + + +Notes +----- + +1. 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: + + oak.oakland.edu:SimTel/msdos/sysutil/ms_sh23[bs].zip + ftp-os2.cdrom.com:pub/os2/unix/ms_sh23[bs].zip + ftp.leo.org:pub/comp/os/os2/shells/ms_sh23b.zip + +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 broken 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. + +The Korn shell (ksh) may be another possibility: + + ftp-os2.cdrom.com:pub/os2/unix/ksh522rt.zip + ftp.leo.org:pub/comp/os/os2/shells/ksh513rt.zip + +Bash (OS/2) should be a good choice; however, there has been some +trouble getting a solid version for OS/2. As of Feb-95, there are +two bash ports, available in: + + ftp.leo.org:pub/comp/os/os2/shells/gnu/gnubash.zip + ftp.leo.org:pub/comp/os/os2/shells/gnu/bash-112.zip + ftp-os2.cdrom.com:pub/os2/unix/bash_112.zip + +Hamilton's C Shell is another possibility, available for a number of +platforms. A demo is available at ftp.leo.org. + +Users of the emx versions of gawk may wish to set EMXSHELL, which +overrides COMSPEC when running shells from emx programs. + +The site ftp.leo.org (ftp.informatik.tu-muenchen.de) is maintained +by Kai Uwe Rommel (rommel@ars.de), and is also accessible at +http://www.leo.org/archiv/os2/ via WWW. + + +2. Stewartson's shell contains sources for a setargv-replacement +for MSC, which can add enhanced command-line processing capabilities +to gawk. Strongly recommended. See the makefile. + + +3. dmake is by Dennis Vadura (dvadura@watdragon.uwaterloo.ca), CS Dept., +University of Waterloo. OS/2 and DOS versions can be found at + + ftp.leo.org:pub/comp/os/os2/devtools/utils/dmake38.zip + ftp.leo.org:pub/comp/os/os2/devtools/utils/dmake40os2.zip + ftp-os2.cdrom.com:pub/os2/dev16/dmake38x.zip + +DOS users will need the DOS-only version (due to the swap requirement): + + oak.oakland.edu:SimTel/msdos/c/dmake38[es].zip + +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 + + oak.oakland.edu:SimTel/msdos/c/ndmake45.zip + +GNU make is from the FSF. An OS/2 version can be found at + + ftp.leo.org:pub/comp/os/os2/devtools/gnu/gnumake.zip + +For DOS, dmake-3.8 is recommended. The make delivered with djgpp can +be used on the djgpp target, but will fail on targets with more +complicated quoting. Makefile compatibility among all the versions +of OS/2 and DOS gawk has been an ugly problem. + + +Known bugs +---------- + +1. DJGPP version 1 does not properly support signals. At the time of +this writing, Version 2 of djgpp was in beta, and promises better +signal support. However, as of 2.00.beta2, known bugs remain. + +2. DJGPP version 1 fails the fsbs test due to its broken handling of +the line in test/Makefile. Fixed in the version 2 betas. + +3. DJGPP 2.00.beta2 popen() fails on commands with pipes; edit the +makefile and use the popen in the pc directory. Fixed in beta3. + +4. 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. + +5. The 16-bit DOS version can exhaust memory on scripts such as Henry +Spencer's "awf". Use GNU C versions if possible. + + +---- + +If you have any problems with the DOS or OS/2 versions of Gawk, +please send bug reports (along with the version and compiler used) to + + Scott Deifik, scottd@amgen.com (DOS versions) +or + Kai Uwe Rommel, rommel@ars.de (OS/2 or bound versions) + Darrel Hankerson, hankedr@mail.auburn.edu diff --git a/README_d/README.sgi b/README_d/README.sgi new file mode 100644 index 00000000..0d89ad3e --- /dev/null +++ b/README_d/README.sgi @@ -0,0 +1,17 @@ +Sun Dec 31 15:07:11 EST 1995 + +Gawk 3.0 is known to be broken on 64-bit SGI machines running IRIX 6.x. + +1) It needs to be compiled with the native cc, not gcc. + +2) Even if compiled with the native cc, the gensub and gnu regex tests fail. + +I don't have access to an IRIX 6.x machine, so I am not able to track +down the problem. If any kind soul is able to run gawk from a debugger +and figure out what the problem(s) are, and would let me know (and supply +patches!), I'd greatly appreciate it. + +Thanks! + +Arnold Robbins +arnold@gnu.ai.mit.edu diff --git a/README_d/README.sunos4 b/README_d/README.sunos4 new file mode 100644 index 00000000..e1ae900d --- /dev/null +++ b/README_d/README.sunos4 @@ -0,0 +1,8 @@ +Sun Jan 7 23:49:46 EST 1996 + +GCC and Autoconf disagree about the type of the array argument passed +to getgroups(2). You can thus ignore the warning that gcc will +generate under SunOS 4.1.x for io.c. + +If you send me email about this without having read this file, I will +fuss at you! diff --git a/README_d/README.ultrix b/README_d/README.ultrix new file mode 100644 index 00000000..9c56c250 --- /dev/null +++ b/README_d/README.ultrix @@ -0,0 +1,20 @@ +When compiling on DECstation running Ultrix 4.0 a command 'cc -c -O +regex.c' is causing an infinite loop in an optimizer. Other sources +compile fine with -O flag. If you are going to use this flag either +add a special rule to Makefile for a compilation of regex.c, or issue +'cc -c regex.c' before hitting 'make'. + +From: Steve Simmons <scs@wotan.iti.org> +Subject: Non-bug report on gawk 2.13.2 +To: david@cs.dal.ca, arnold@skeeve.atl.ga.us +Date: Thu, 25 Jul 1991 13:45:38 -0300 + +Just fyi -- it passes tests with flying colors under Ultrix 4.2. The +README.ultrix file applies more than ever. You might want to add +these paragraphs to it: + + As of Ultrix 4.2 the optimise works for regex.c, but you must give an + additional switch to get everything optimised. Using '-Olimit 1500' + does the job. Without the switch gawk will compile and run correctly, + but you will get complaints about lost optimisations in builtin.c, + awk.tab.c and regex.c. diff --git a/README_d/README.yacc b/README_d/README.yacc new file mode 100644 index 00000000..9c5de13a --- /dev/null +++ b/README_d/README.yacc @@ -0,0 +1,7 @@ +Sat Jan 28 22:07:17 EST 1995 + +Some older versions of yacc (notably Ultrix's) have limits on the depth +of the parse stack. This only shows up when gawk is dealing with deeply +nested control structures, such as those in `awf'. + +The problem goes away if you use either bison or Berkeley yacc. |