home *** CD-ROM | disk | FTP | other *** search
/ Fresh Fish 6 / FreshFish_September1994.bin / gnu / readme < prev    next >
Text File  |  1994-09-08  |  11KB  |  341 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 9/8/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. CHANGES
  26. =======
  27.  
  28. This is a summary of things that have changed since the last release.
  29.  
  30.     *    Added gcc 2.6.0 and recompiled everything with gcc 2.6.0.
  31.     (Note: not compiled with optimization since gcc 2.6.0 seems
  32.      to be buggy with respect to optimization.)
  33.  
  34.     *    Updated flex from 2.4.6 to 2.4.7.
  35.  
  36.     *    Updated gas from 1.38 to 2.3.
  37.  
  38.     *    Updated libg++ from 2.5.3 to 2.6.
  39.  
  40.     *    Updated m4 from version 1.1 to 1.2.
  41.  
  42.     *    Added "libnix" library tree from net release of gcc 2.6.0.
  43.     I tried to rebuild it from source but ran into various problems,
  44.     so I decided not to include source on this CD.  Fully working
  45.     source should be included on the next CD.
  46.  
  47. ==========
  48. STACK SIZE
  49. ==========
  50.  
  51.             *** IMPORTANT ***
  52.  
  53.     Some of the GNU utilities, gcc in particular, require a
  54.     very large stack.  You need to arrange that the CLI/Shell
  55.     or whatever you run these programs from has a large stack
  56.     set.  In a CLI you can set this with a command of the
  57.     form "stack 100000" (100000 is what I use).  You can also
  58.     put this command in your S:Shell-Startup file to get large
  59.     stacks for all CLI/Shell startups, without having to 
  60.     remember to manually set the stack each time.  Really huge
  61.     compiles, like recompiling the compiler itself, may require
  62.     even more stack space (like 300Kb or more).
  63.  
  64.  
  65. =========
  66. STRUCTURE
  67. =========
  68.  
  69. Important subdirectories are:
  70.  
  71.     amigados    ? (gcc/g++ uses this for something...)
  72.  
  73.     bin        Where the GNU executables go.
  74.  
  75.     etc        Equivalent to /etc on UNIX.
  76.  
  77.     guide        AmigaGuide versions of info files.
  78.  
  79.     include        Include files used by gcc.
  80.  
  81.     info        Info files.
  82.  
  83.     lib        Library tree, like /usr/lib on UNIX.
  84.  
  85.     man        Manual pages.
  86.  
  87.     manifests    Lists that subdivide this tree up into important
  88.             subsets for individual distribution, such as all
  89.             the files that comprise a binary distribution of
  90.             the GNU C compiler.
  91.  
  92.     os-include    System specific include files.  These are
  93.             Commodore proprietary and are distributed 
  94.             under license from Commodore.
  95.  
  96.     os-lib        System specific library files.  These are
  97.             derived from Commodore proprietary libraries
  98.             and are distributed under license from Commodore.
  99.  
  100.     src        All the source code, including the original 
  101.             FSF distributions, patches to the FSF distributions,
  102.             and the fully patched AmigaDOS sources.
  103.  
  104. ==============
  105. GENERAL STATUS
  106. ==============
  107.  
  108.     Distribution    Prev    This    Latest
  109.     Name        CD-ROM    CD-ROM    FSF    Status
  110.     ------------    ------    ------    ------    -----------------
  111.  
  112.     a++        1.01    1.01    n/a    --
  113.     autoconf    1.11    1.11    1.11    --
  114.     bash        1.13.4    1.13.4    1.13.4    Port incomplete
  115.     bc        1.02    1.02    1.02    --
  116.     binutils    1.8.x    1.8.x    2.3    --
  117.     bison        1.22    1.22    1.22    --
  118.     calc        *    *    2.02b    No port integrated yet
  119.     cpio        2.3    2.3    2.3    --
  120.     cvs        *    *    1.3    No port integrated yet
  121.     dc        0.2    0.2    0.2    --
  122.     dejagnu        *    *    1.1.1    No port integrated yet
  123.     diffutils    2.6    2.6    2.6    --
  124.     doschk        1.1    1.1    1.1    --
  125.     ed        0.1    0.1    0.1    --
  126.     elvis        *    *    1.7    No port integrated yet
  127.     emacs        18.59    18.59    19.22    --
  128.     f2c        930428    930428    930428    --
  129.     fileutils    3.9    3.9    3.9    --
  130.     find        3.8    3.8    3.8    --
  131.     finger        *    *    1.37    No port integrated yet
  132.     flex        2.4.6    2.4.7    2.4.7    Updated
  133.     fontutils    *    *    0.6    No port integrated yet
  134.     gas        1.38    2.3    2.3    Updated
  135.     gawk        2.15.5    2.15.5    2.15.5    --
  136.     gcc        2.5.8    2.6.0    2.6.0    Updated
  137.     gdb        4.12    4.12    4.13    Port incomplete
  138.     gdbm        1.7.3    1.7.3    1.7.3    --
  139.     ghostscript    2.6.1    2.6.1    2.6.1    --
  140.     ghostview    *    *    1.5    No port integrated yet
  141.     glibc        *    *    1.06    No port integrated yet
  142.     gmp        1.3.2    1.3.2    1.3.2    --
  143.     gnat        1.80    1.80    n/a    --
  144.     gnuchess    *    *    4.0.62    No port integrated yet
  145.     gnugo        *    *    1.1    No port integrated yet
  146.     grep        2.0    2.0    2.0    --
  147.     groff        1.09    1.09    1.09    --
  148.     gzip        1.2.4    1.2.4    1.2.4    --
  149.     indent        1.9.1    1.9.1    1.9.1    --
  150.     ispell        4.0    4.0    4.0    --
  151.     less        *    *    177    No port integrated yet
  152.     libg++        2.5.3    2.6    2.6    Updated
  153.     libnix        *    ?    ?    Added
  154.     m4        1.1    1.2    1.2    Updated
  155.     make        3.71    3.71    3.71    --
  156.     mm        *    *    1.07    No port integrated yet
  157.     mtools        *    *    2.0.7    No port integrated yet
  158.     nethack        *    *    3.1.3    No port integrated yet
  159.     oleo        *    *    1.3.1b    No port integrated yet
  160.     patch        2.1    2.1    2.1    --
  161.     pdksh        4.9    4.9    n/a    --
  162.     perl        4.036    4.036    4.036    --
  163.     rcs        5.6.0.1    5.6.0.1    5.6.0.1    --
  164.     readline    *    *    1.1    No port integrated yet
  165.     recode        *    *    3.2.4    No port integrated yet
  166.     regex        *    *    0.12    No port integrated yet
  167.     sed        2.05    2.05    2.05    --
  168.     shellutils    1.10    1.10    1.10    --
  169.     tar        1.11.2    1.11.2    1.11.2    --
  170.     termcap        1.2    1.2    1.2    --
  171.     texinfo        3.1    3.1    3.1    --
  172.     textutils    1.9    1.9    1.9    --
  173.     time        *    *    1.6    No port integrated yet
  174.     tput        *    *    1.0    No port integrated yet
  175.     uucp        *    *    1.04    No port integrated yet
  176.     uuencode    1.0    1.0    1.0    --
  177.     wdiff        *    *    0.04    No port integrated yet
  178.  
  179. ==============
  180. GNU C COMPILER
  181. ==============
  182.  
  183. All the versions of gcc look for local header files in LOCAL:include and
  184. LOCAL:os-include, and look for local library files in LOCAL:lib and
  185. LOCAL:os-lib.  This allows you to add local packages that will be found
  186. automatically by gcc, in a location that is writable by you.  Simply
  187. reassign LOCAL: to point to the correct location.
  188.  
  189. Gcc now automatically includes -lamiga in the command line to the linker, so
  190. you can use AmigaDOS specific calls in your code without having to remember
  191. to link with libamiga.a.
  192.  
  193. As of this date, all releases of gcc since 2.3.3 have had broken support for
  194. the -resident option.  This is one reason why gcc 2.3.3 is still included on
  195. the CD-ROM.  To demonstrate the problem, try to bootstrap using "make
  196. bootstrap RESIDENT=-resident".
  197.  
  198. ==========
  199. GNU LINKER
  200. ==========
  201.  
  202. A new option "-f" or "-flavor" is used to inform the linker to look in
  203. additional subdirectories for particular "flavors" of libraries, like
  204. libraries compiled with -fresident, libraries compiled with -g, libraries
  205. compiled with -p, etc.  All the flavor args are collected in a list, sorted,
  206. and then used to create additional sudirectories at the end of the standard
  207. library search paths.
  208.  
  209. For example, given the args
  210.  
  211.     "-L mystuff:lib -flavor libx -flavor libb -lmylib"
  212.  
  213. the linker will search for libmylib.a in "mystuff:lib/libb/libx/".
  214.  
  215. In particular, this is the mechanism that is now used to locate the base
  216. relative libraries, which have moved from gcc:blib to gcc:lib/libb.
  217. Eventually there will be other standard flavors of libraries, like -p
  218. compiled and -g compiled libraries, in a subtree like:
  219.  
  220.     gcc:lib/libb/libc.a        -resident
  221.     gcc:lib/libb/libg/libc.a    -resident -g
  222.     gcc:lib/libb/libg/libp/libc.a    -resident -g -p
  223.     gcc:lib/libp/libc.a        -p
  224.     gcc:lib/libg/libp/libc.a    -g -p
  225.  
  226.     etc.
  227.  
  228. ============
  229. GNU DEBUGGER
  230. ============
  231.  
  232. GDB 4.12 has been ported to the extent that you can build an AmigaDOS
  233. executable that knows how to load and examine executables from non-AmigaDOS
  234. systems.  Much work remains.  See the gnu:src/diffs/gdb-4.12-README file.
  235.  
  236. ======
  237. LIBNIX
  238. ======
  239.  
  240. This is libnix, a static (i.e. link) library for gcc 2.3.3 or above.  It's
  241. not a replacement for ixemul.library (though it's possible to recompile most
  242. of the gcc environment with libnix) but a good thing for amiga specific
  243. development on gcc:
  244.  
  245.     *    It's mostly compatible to SAS's way of handling things, i.e.
  246.     you get even an automatic shared library opening feature and
  247.     some other things you may miss in ixemul.library.
  248.     This also means it's ANSI compliant.
  249.  
  250.     *    It doesn't need any shared libraries than normal Amiga OS ones.
  251.  
  252.     *    It is not copyrighted by the FSF. Therefore you neither need
  253.     to include sources nor objects together with your executable.
  254.     (read the GLGPL _befor