summaryrefslogtreecommitdiff
path: root/README.amiga
blob: 46acfb4c18f22b44efc7b7bf0ff1e54faf205d24 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
From:	"Lars Hecking" <ST000002@hrz1.hrz.th-darmstadt.de>
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.