From: "Lars Hecking" Date: Thu, 3 Dec 1992 17:56:24 -0400 Subject: Gawk-2.14 -- Amiga-Port, the 2nd Gawk on the Amiga has been compiled and tested using the Amiga port of gcc by Markus Wild (wild@nessie.cs.id.ethz.ch). I recommend the use of this compiler (at least v2.2.2) because the provided environment (includes, libs, binutils) allows straight-forward porting of BSD/UNIX programs. Gcc compiled programs access/emulate UNIX syscalls via a shared library (ixemul.library); thus, only minimal changes to the source are necessary. That release also provides a `sh'- command. If no `sh'-command is available or another compiler is being used, `config.h' and `Makefile' are to be created by hand. Since I'm afraid that none of the Amiga-specific make-commands handles UNIX-style makefiles correctly I suggest the use of Dennis Vadura's`dmake', which is available on the Amiga (v3.6). I'm currently using dmake v3.8 (a hack) or GNU make v3.62 (another hack :), which even allows to start multiple make jobs! Thanx to Markus!). Machine Configuration (obsoleted by gawk 2.16) --------------------- Only copy the following into config/amiga: Amiga under AmigaOS with gcc DOPRNT_MISSING 1 ENVSEP ',' DEFPATH ".,/usr/local/lib" HAVE_UNDERSCORE_SETJMP 1 SRANDOM_PROTO 1 STDC_HEADERS 1 The gcc compiler and the compiled executables are working under AmigaOS 1.2/1.3 as well as AmigaOS 2.x. However, some very special functions of ixemul.library currently require AmigaOS 2.x to work properly. How to compile (obsoleted by gawk 2.16) -------------- Compiling and installing on the Amiga rather clones the UNIX- installation: After you have extracted the `gawk' distribution, `cd' to `gawk- 2.14'. Look in the `config' subdirectory for a file that matches your machine (in this case: `amiga', if the gawk maintainers put it there :). If you find such a file, run the command: sh configure amiga This produces a `Makefile' and `config.h' tailored to your system. You may wish to edit the `Makefile' to use a different C compiler, such as `gcc', the GNU C compiler (recommended), if you have it. You may also wish to change the `CFLAGS' variable, which controls the command line options that are passed to the C compiler (such as optimization levels, or producing `resident'-able code) After you have configured `Makefile' and `config.h', type: make and shortly thereafter (a little bit longer on a 7MHz machine >:->, you should have an executable version of `gawk'. That's all there is to it! Testing ------- Gawk succeeds in all tests, but not with 'make test'. When executing the tests by hand (e.g. 'make swaplns' and so on) gawk runs all tests ok except for the following: - argarray, awkpath: these do not work due to insufficient environment variable handling by pdksh ('bin:sh') - poundbang, regtest: pdksh refuses to handle the #! statement properly Modifying these tests in a way that only *gawk-features, not *sh- features are tested, it is found that gawk succeeds here too. - manyfiles: (error: too many open files) ixemul.library v39.45 uses OPEN_MAX=64; manyfiles required at least OPEN_MAX=106 This may only be overcome when mwild releases a new ixemul.library. Changing the number '100' in the 'manyfiles::'-target in 'test/Makefile' to some value <= 58 (depends on the number of currently open files in ixemul.library) gawk tests successfully, too.