home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Fresh Fish 5
/
FreshFish_July-August1994.bin
/
bbs
/
gnu
/
gdb-4.12-src.lha
/
README
< prev
next >
Wrap
Text File
|
1994-07-12
|
10KB
|
310 lines
G N U G E N E R A L I N F O R M A T I O N
(Updated 7/12/94)
========
OVERVIEW
========
This is the root directory of a set of utilities which started with Amiga
ports of important GNU (GNU's Not Unix) tools, such as the GNU C compiler,
and then has gradually expanded to encompass other tools.
For information about what has changed since the previous release, see the
CHANGES topic later in this file.
One of the goals of this set of utilities is to have a completely self
hosting environment. I.E. that everything within it be compilable by the
GNU C compiler or other provided compilers. It should be possible for the
recipient of these utilities to make whatever changes or bug fixes they
want in any piece of code, and then rebuild and use that fixed version (and
hopefully send those changes back for integration into future releases).
==========
STACK SIZE
==========
*** IMPORTANT ***
Some of the GNU utilities, gcc in particular, require a
very large stack. You need to arrange that the CLI/Shell
or whatever you run these programs from has a large stack
set. In a CLI you can set this with a command of the
form "stack 100000" (100000 is what I use). You can also
put this command in your S:Shell-Startup file to get large
stacks for all CLI/Shell startups, without having to
remember to manually set the stack each time. Really huge
compiles, like recompiling the compiler itself, may require
even more stack space (like 300Kb or more).
=========
STRUCTURE
=========
Important subdirectories are:
amigados ? (gcc/g++ uses this for something...)
bin Where the GNU executables go.
etc Equivalent to /etc on UNIX.
guide AmigaGuide versions of info files.
include Include files used by gcc.
info Info files.
lib Library tree, like /usr/lib on UNIX.
man Manual pages.
manifests Lists that subdivide this tree up into important
subsets for individual distribution, such as all
the files that comprise a binary distribution of
the GNU C compiler.
os-include System specific include files. These are
Commodore proprietary and are distributed
under license from Commodore.
os-lib System specific library files. These are
derived from Commodore proprietary libraries
and are distributed under license from Commodore.
src All the source code, including the original
FSF distributions, patches to the FSF distributions,
and the fully patched AmigaDOS sources.
==============
GENERAL STATUS
==============
Distribution Prev This Latest
Name CD-ROM CD-ROM FSF Status
------------ ------ ------ ------ -----------------
a++ * 1.01 n/a Added
autoconf * 1.11 1.11 Added
bash 1.13.4 1.13.4 1.13.4 Port incomplete
bc 1.02 1.02 1.02 No change
binutils 1.8.x 1.8.x 2.3 No change
bison 1.22 1.22 1.22 No change
calc * * 2.02b No port integrated yet
cpio 2.3 2.3 2.3 No change
cvs * * 1.3 No port integrated yet
dc 0.2 0.2 0.2 No change
dejagnu * * 1.1.1 No port integrated yet
diffutils 2.6 2.6 2.6 No change
doschk 1.1 1.1 1.1 No change
ed * 0.1 0.1 Added
elvis * * 1.7 No port integrated yet
emacs 18.59 18.59 19.22 No change
f2c 930428 930428 930428 No change
fileutils 3.9 3.9 3.9 No change
find 3.8 3.8 3.8 No change
finger * * 1.37 No port integrated yet
flex 2.4.6 2.4.6 2.4.6 No change
fontutils * * 0.6 No port integrated yet
gas 1.38 1.38 2.2 No change
gawk 2.15.4 2.15.5 2.15.5 Updated
gcc 2.5.8 2.5.8 2.5.8 No change
gdb 4.12 4.12 4.12 No change - Port incomplete
gdbm 1.7.1 1.7.3 1.7.3 Updated
ghostscript 2.6.1 2.6.1 2.6.1 No change
ghostview * * 1.5 No port integrated yet
glibc * * 1.06 No port integrated yet
gmp 1.3.2 1.3.2 1.3.2 No change
gnat * 1.80 n/a Added
gnuchess * * 4.0.62 No port integrated yet
gnugo * * 1.1 No port integrated yet
grep 2.0 2.0 2.0 No change
groff 1.09 1.09 1.09 No change
gzip 1.2.4 1.2.4 1.2.4 No change
indent 1.9.1 1.9.1 1.9.1 No change
ispell 4.0 4.0 4.0 No change
less * * 177 No port integrated yet
libg++ 2.5.3 2.5.3 2.5.3 No change
m4 1.1 1.1 1.1 No change
make 3.70 3.71 3.71 Updated
mm * * 1.07 No port integrated yet
mtools * * 2.0.7 No port integrated yet
nethack * * 3.1.3 No port integrated yet
oleo * * 1.3.1b No port integrated yet
patch 2.1 2.1 2.1 No change
pdksh 4.5 4.9 n/a Updated
perl 4.036 4.036 4.036 No change (not working)
rcs 5.6.0.1 5.6.0.1 5.6.0.1 No change
readline * * 1.1 No port integrated yet
recode * * 3.2.4 No port integrated yet
regex * * 0.12 No port integrated yet
sed 2.03 2.05 2.05 Updated
shellutils 1.9.4 1.10 1.10 Updated
tar 1.11.2 1.11.2 1.11.2 No change
termcap 1.2 1.2 1.2 No change
texinfo 3.1 3.1 3.1 No change
textutils 1.9 1.9 1.9 No change
time * * 1.6 No port integrated yet
tput * * 1.0 No port integrated yet
uucp * * 1.04 No port integrated yet
uuencode 1.0 1.0 1.0 No change
wdiff * * 0.04 No port integrated yet
==============
GNU C COMPILER
==============
All the versions of gcc look for local header files in LOCAL:include and
LOCAL:os-include, and look for local library files in LOCAL:lib and
LOCAL:os-lib. This allows you to add local packages that will be found
automatically by gcc, in a location that is writable by you. Simply
reassign LOCAL: to point to the correct location.
Gcc now automatically includes -lamiga in the command line to the linker,
so you can use AmigaDOS specific calls in your code without having to
remember to link with libamiga.a.
As of this date, all releases of gcc since 2.3.3 have had broken support
for the -resident option. This is one reason why gcc 2.3.3 is still
included on the CD-ROM. To demonstrate the problem, try to bootstrap using
"make bootstrap RESIDENT=-resident".
==========
GNU LINKER
==========
A new option "-f" or "-flavor" is used to inform the linker to look in
additional subdirectories for particular "flavors" of libraries, like
libraries compiled with -fresident, libraries compiled with -g, libraries
compiled with -p, etc. All the flavor args are collected in a list,
sorted, and then used to create additional sudirectories at the end of the
standard library search paths.
For example, given the args
"-L mystuff:lib -flavor libx -flavor libb -lmylib"
the linker will search for libmylib.a in "mystuff:lib/libb/libx/".
In particular, this is the mechanism that is now used to locate the base
relative libraries, which have moved from gcc:blib to gcc:lib/libb.
Eventually there will be other standard flavors of libraries, like -p
compiled and -g compiled libraries, in a subtree like:
gcc:lib/libb/libc.a -resident
gcc:lib/libb/libg/libc.a -resident -g
gcc:lib/libb/libg/libp/libc.a -resident -g -p
gcc:lib/libp/libc.a -p
gcc:lib/libg/libp/libc.a -g -p
etc.
============
GNU DEBUGGER
============
GDB 4.12 has been ported to the extent that you can build an AmigaDOS
executable that knows how to load and examine executables from non-AmigaDOS
systems. Much work remains. See the gnu:src/diffs/gdb-4.12-README file.
=======
CHANGES
=======
This is a summary of things that have changed since the last release.
* It is now possible to configure and build most of the GNU
tree using a single command, and to do so in a directory
that is total separate from the GNU tree (commonly called
the "build" directory. I.E.
makedir junk:build
cd junk:build
sh
/gnu/src/amiga/configure amigados ; make
* Added a port of GNU ada (gnat) done by Pass Travis. Thanks Pass!
See gnu:src/amiga/gnat-1.80/README-amiga for details. For examples
of how to run the compiler, and test your installation, try the
examples in the gnat-1.80/examples directory.
* GNU sed updated to version 2.05.
* GNU "ed" version 0.1 added.
* GNU autoconf 1.11 added.
* GNU gawk updated to version 2.15.5.
* GNU gdb updated with patches for reading AmigaDOS "hunk" format.
* GNU gdbm updated to version 1.7.3.
* GNU make updated to version 3.71.
* GNU shell utils updated to version 1.10 (and renamed).
* Pdksh updated from version 4.5 to version 4.9, the latest public
release, and autoconf support added.
* Added "autoc