home *** CD-ROM | disk | FTP | other *** search
/ Fresh Fish 5 / FreshFish_July-August1994.bin / bbs / gnu / ixemul-39.47-bin.lha / README < prev    next >
Text File  |  1994-07-12  |  10KB  |  310 lines

  1.  
  2.            G N U   G E N E R A L   I N F O R M A T I O N
  3.  
  4.                  (Updated 7/12/94)
  5.  
  6. ========
  7. OVERVIEW
  8. ========
  9.  
  10. This is the root directory of a set of utilities which started with Amiga
  11. ports of important GNU (GNU's Not Unix) tools, such as the GNU C compiler,
  12. and then has gradually expanded to encompass other tools.
  13.  
  14. For information about what has changed since the previous release, see the
  15. CHANGES topic later in this file.
  16.  
  17. One of the goals of this set of utilities is to have a completely self
  18. hosting environment.  I.E. that everything within it be compilable by the
  19. GNU C compiler or other provided compilers.  It should be possible for the
  20. recipient of these utilities to make whatever changes or bug fixes they
  21. want in any piece of code, and then rebuild and use that fixed version (and
  22. hopefully send those changes back for integration into future releases).
  23.  
  24. ==========
  25. STACK SIZE
  26. ==========
  27.  
  28.             *** IMPORTANT ***
  29.  
  30.     Some of the GNU utilities, gcc in particular, require a
  31.     very large stack.  You need to arrange that the CLI/Shell
  32.     or whatever you run these programs from has a large stack
  33.     set.  In a CLI you can set this with a command of the
  34.     form "stack 100000" (100000 is what I use).  You can also
  35.     put this command in your S:Shell-Startup file to get large
  36.     stacks for all CLI/Shell startups, without having to 
  37.     remember to manually set the stack each time.  Really huge
  38.     compiles, like recompiling the compiler itself, may require
  39.     even more stack space (like 300Kb or more).
  40.  
  41.  
  42. =========
  43. STRUCTURE
  44. =========
  45.  
  46. Important subdirectories are:
  47.  
  48.     amigados    ? (gcc/g++ uses this for something...)
  49.  
  50.     bin        Where the GNU executables go.
  51.  
  52.     etc        Equivalent to /etc on UNIX.
  53.  
  54.     guide        AmigaGuide versions of info files.
  55.  
  56.     include        Include files used by gcc.
  57.  
  58.     info        Info files.
  59.  
  60.     lib        Library tree, like /usr/lib on UNIX.
  61.  
  62.     man        Manual pages.
  63.  
  64.     manifests    Lists that subdivide this tree up into important
  65.             subsets for individual distribution, such as all
  66.             the files that comprise a binary distribution of
  67.             the GNU C compiler.
  68.  
  69.     os-include    System specific include files.  These are
  70.             Commodore proprietary and are distributed 
  71.             under license from Commodore.
  72.  
  73.     os-lib        System specific library files.  These are
  74.             derived from Commodore proprietary libraries
  75.             and are distributed under license from Commodore.
  76.  
  77.     src        All the source code, including the original 
  78.             FSF distributions, patches to the FSF distributions,
  79.             and the fully patched AmigaDOS sources.
  80.  
  81. ==============
  82. GENERAL STATUS
  83. ==============
  84.  
  85.     Distribution    Prev    This    Latest
  86.     Name        CD-ROM    CD-ROM    FSF    Status
  87.     ------------    ------    ------    ------    -----------------
  88.  
  89.     a++        *    1.01    n/a    Added
  90.     autoconf    *    1.11    1.11    Added
  91.     bash        1.13.4    1.13.4    1.13.4    Port incomplete
  92.     bc        1.02    1.02    1.02    No change
  93.     binutils    1.8.x    1.8.x    2.3    No change
  94.     bison        1.22    1.22    1.22    No change
  95.     calc        *    *    2.02b    No port integrated yet
  96.     cpio        2.3    2.3    2.3    No change
  97.     cvs        *    *    1.3    No port integrated yet
  98.     dc        0.2    0.2    0.2    No change
  99.     dejagnu        *    *    1.1.1    No port integrated yet
  100.     diffutils    2.6    2.6    2.6    No change
  101.     doschk        1.1    1.1    1.1    No change
  102.     ed        *    0.1    0.1    Added
  103.     elvis        *    *    1.7    No port integrated yet
  104.     emacs        18.59    18.59    19.22    No change
  105.     f2c        930428    930428    930428    No change
  106.     fileutils    3.9    3.9    3.9    No change
  107.     find        3.8    3.8    3.8    No change
  108.     finger        *    *    1.37    No port integrated yet
  109.     flex        2.4.6    2.4.6    2.4.6    No change
  110.     fontutils    *    *    0.6    No port integrated yet
  111.     gas        1.38    1.38    2.2    No change
  112.     gawk        2.15.4    2.15.5    2.15.5    Updated
  113.     gcc        2.5.8    2.5.8    2.5.8    No change
  114.     gdb        4.12    4.12    4.12    No change - Port incomplete
  115.     gdbm        1.7.1    1.7.3    1.7.3    Updated
  116.     ghostscript    2.6.1    2.6.1    2.6.1    No change
  117.     ghostview    *    *    1.5    No port integrated yet
  118.     glibc        *    *    1.06    No port integrated yet
  119.     gmp        1.3.2    1.3.2    1.3.2    No change
  120.     gnat        *    1.80    n/a    Added
  121.     gnuchess    *    *    4.0.62    No port integrated yet
  122.     gnugo        *    *    1.1    No port integrated yet
  123.     grep        2.0    2.0    2.0    No change
  124.     groff        1.09    1.09    1.09    No change
  125.     gzip        1.2.4    1.2.4    1.2.4    No change
  126.     indent        1.9.1    1.9.1    1.9.1    No change
  127.     ispell        4.0    4.0    4.0    No change
  128.     less        *    *    177    No port integrated yet
  129.     libg++        2.5.3    2.5.3    2.5.3    No change
  130.     m4        1.1    1.1    1.1    No change
  131.     make        3.70    3.71    3.71    Updated
  132.     mm        *    *    1.07    No port integrated yet
  133.     mtools        *    *    2.0.7    No port integrated yet
  134.     nethack        *    *    3.1.3    No port integrated yet
  135.     oleo        *    *    1.3.1b    No port integrated yet
  136.     patch        2.1    2.1    2.1    No change
  137.     pdksh        4.5    4.9    n/a    Updated
  138.     perl        4.036    4.036    4.036    No change (not working)
  139.     rcs        5.6.0.1    5.6.0.1    5.6.0.1    No change
  140.     readline    *    *    1.1    No port integrated yet
  141.     recode        *    *    3.2.4    No port integrated yet
  142.     regex        *    *    0.12    No port integrated yet
  143.     sed        2.03    2.05    2.05    Updated
  144.     shellutils    1.9.4    1.10    1.10    Updated
  145.     tar        1.11.2    1.11.2    1.11.2    No change
  146.     termcap        1.2    1.2    1.2    No change
  147.     texinfo        3.1    3.1    3.1    No change
  148.     textutils    1.9    1.9    1.9    No change
  149.     time        *    *    1.6    No port integrated yet
  150.     tput        *    *    1.0    No port integrated yet
  151.     uucp        *    *    1.04    No port integrated yet
  152.     uuencode    1.0    1.0    1.0    No change
  153.     wdiff        *    *    0.04    No port integrated yet
  154.  
  155. ==============
  156. GNU C COMPILER
  157. ==============
  158.  
  159. All the versions of gcc look for local header files in LOCAL:include and
  160. LOCAL:os-include, and look for local library files in LOCAL:lib and
  161. LOCAL:os-lib.  This allows you to add local packages that will be found
  162. automatically by gcc, in a location that is writable by you.  Simply
  163. reassign LOCAL: to point to the correct location.
  164.  
  165. Gcc now automatically includes -lamiga in the command line to the linker,
  166. so you can use AmigaDOS specific calls in your code without having to
  167. remember to link with libamiga.a.
  168.  
  169. As of this date, all releases of gcc since 2.3.3 have had broken support
  170. for the -resident option.  This is one reason why gcc 2.3.3 is still
  171. included on the CD-ROM.  To demonstrate the problem, try to bootstrap using
  172. "make bootstrap RESIDENT=-resident".
  173.  
  174. ==========
  175. GNU LINKER
  176. ==========
  177.  
  178. A new option "-f" or "-flavor" is used to inform the linker to look in
  179. additional subdirectories for particular "flavors" of libraries, like
  180. libraries compiled with -fresident, libraries compiled with -g, libraries
  181. compiled with -p, etc.  All the flavor args are collected in a list,
  182. sorted, and then used to create additional sudirectories at the end of the
  183. standard library search paths.
  184.  
  185. For example, given the args
  186.  
  187.     "-L mystuff:lib -flavor libx -flavor libb -lmylib"
  188.  
  189. the linker will search for libmylib.a in "mystuff:lib/libb/libx/".
  190.  
  191. In particular, this is the mechanism that is now used to locate the base
  192. relative libraries, which have moved from gcc:blib to gcc:lib/libb.
  193. Eventually there will be other standard flavors of libraries, like -p
  194. compiled and -g compiled libraries, in a subtree like:
  195.  
  196.     gcc:lib/libb/libc.a        -resident
  197.     gcc:lib/libb/libg/libc.a    -resident -g
  198.     gcc:lib/libb/libg/libp/libc.a    -resident -g -p
  199.     gcc:lib/libp/libc.a        -p
  200.     gcc:lib/libg/libp/libc.a    -g -p
  201.  
  202.     etc.
  203.  
  204. ============
  205. GNU DEBUGGER
  206. ============
  207.  
  208. GDB 4.12 has been ported to the extent that you can build an AmigaDOS
  209. executable that knows how to load and examine executables from non-AmigaDOS
  210. systems.  Much work remains.  See the gnu:src/diffs/gdb-4.12-README file.
  211.  
  212. =======
  213. CHANGES
  214. =======
  215.  
  216. This is a summary of things that have changed since the last release.
  217.  
  218.     *    It is now possible to configure and build most of the GNU
  219.     tree using a single command, and to do so in a directory
  220.     that is total separate from the GNU tree (commonly called
  221.     the "build" directory.  I.E.
  222.  
  223.         makedir junk:build
  224.         cd junk:build
  225.         sh
  226.         /gnu/src/amiga/configure amigados ; make
  227.  
  228.     *    Added a port of GNU ada (gnat) done by Pass Travis.  Thanks Pass!
  229.     See gnu:src/amiga/gnat-1.80/README-amiga for details.  For examples
  230.     of how to run the compiler, and test your installation, try the
  231.     examples in the gnat-1.80/examples directory.
  232.  
  233.     *    GNU sed updated to version 2.05.
  234.  
  235.     *    GNU "ed" version 0.1 added.
  236.  
  237.     *    GNU autoconf 1.11 added.
  238.  
  239.     *    GNU gawk updated to version 2.15.5.
  240.  
  241.     *    GNU gdb updated with patches for reading AmigaDOS "hunk" format.
  242.  
  243.     *    GNU gdbm updated to version 1.7.3.
  244.  
  245.     *    GNU make updated to version 3.71.
  246.  
  247.     *    GNU shell utils updated to version 1.10 (and renamed).
  248.  
  249.     *    Pdksh updated from version 4.5 to version 4.9, the latest public
  250.     release, and autoconf support added.
  251.  
  252.     *    Added "autoc