home *** CD-ROM | disk | FTP | other *** search
-
- 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 "autoconf" support to most tools that didn't already have
- autoconf support, and rebuild the automatically generated configure
- scripts for those tools that did come with autoconf support, using
- the latest version of autoconf.
-
- * Merged in some GNU ld bug fixes and other changes.
-
- * Merged a patch in ls.c so that ls will handle international
- characters better.
-
- * Version 1.01 of Armin Vogt's A++ library has been added to the GNU
- source tree. It hasn't yet been integrated as part of the standard
- GNU C environment though. The A++ library is a library written in
- C++ that consists of classes assigned to the task of encapsulating
- the Amiga system software, to given them a proper C++ class
- interface. See the documentation and examples in the source
- directory "src/amiga/APlusPlus".
-
- ====
- TODO
- ====
-
- This is a list of things that still remain to be done for future releases,
- and/or comments about future directions.
-
- * Beta versions of gcc that use separate 68020/030/040 binaries
- and libraries are currently in testing. They should be integrated
- in the next release.
-
- * New versions of ixemul.library (40.X) are in beta test. Once they
- are stable, they will be integrated into a future release.
-
- * Look at adding AmigaDOS style version strings to all binaries.
-
- * Look at redoing documentation files (such as this one) as AmigaGuide
- documents, or as texinfo files that can be used to generate both
- AmigaGuide and plain-text files.
-
- * Integrate an "info-to-AmigaGuide" converter into the standard
- build and install process, in order to generate and install
- AmigaGuide versions of all info files.
-
- * Ensure that the standard documentation browsing tools are present
- and work correctly (man, info, etc).
-
- * Continue integrating selected tools now that the "GNU tree" has
- been opened up to non-GNU tools as well as GNU tools. One fertile
- source of material may be the BSD-lite distributions.
-
- * Finish the GNU emacs 18.XX port so that it can be compiled with the
- GNU C compiler.
-
- * Port GNU emacs 19.XX.
-
- * In cpio-2.3, the "mt" program is not getting built, possibly
- because "rmt" support is not provided by default. Fix this.
-
- * Provide documentation in both *.dvi and *.ps formats.
-