home *** CD-ROM | disk | FTP | other *** search
-
- GNU UTILITIES README
- (updated 2/16/94)
-
- WHAT IS THIS TREE
- -----------------
-
- This is the root directory of the source for the GNU utilities supplied
- with this distribution. All of the supplied binaries were compiled from
- the sources provided here. With a few exceptions, they were all compiled
- with the gcc compiler also provided here.
-
-
- STRUCTURE OF DISTRIBUTION TREE
- ------------------------------
-
- The tree is subdivided into four subtrees, as follows:
-
- amiga Sources used to compile the AmigaDOS executables,
- in full unarchived form.
-
- fsf Original FSF archives from which the "amiga"
- source tree was derived.
-
- diffs The patch files that were applied to sources
- in the "fsf" subtree (once dearchived) to
- generate the sources in the "amiga" subtree.
- These are applied with "patch -p1 ...".
-
- build Files which are created by the configuration
- process, possibly after some hand hacking to
- account for necessary changes that are not yet
- supported by the standard configuration process.
- When configure works properly for this utility,
- the corresponding subtree here will go away.
-
- Eventually I hope to make it possible to configure and build an entire
- Amiga distribution from the top level of a build tree located somewhere
- else, doing nothing more complicated than:
-
- makedir build:junk
- cd build:junk
- FreshFish-XXX:gnu/src/amiga/configure amigados
- make
-
- The Cygnus configure makes this a pretty painless operation, however each
- of the individual tool needs various amounts of hacking to make this work
- correctly. I haven't had time yet to do this, but hope to get to it in the
- future.
-
- For now, I've settled on a structure that keeps the source code as pristine
- as possible, so that a simple diff -rc against the FSF baseline
- distribution for a particular tool will generate the most useful
- information, and not include random files that are generated at build time.
-
-
- GNU C COMPILER versus OTHER C COMPILERS
- ---------------------------------------
-
- There are many ports of various GNU utilities which have been compiled with
- a compiler other than gcc (compiled with SAS C or Dice for example). It
- was tempting to just include them "as is", however I've generally resisted
- that temptation, prefering instead to compile my own binaries using the GNU
- C compiler.
-
- In many cases, compilation with the GNU C compiler has minimized the source
- changes required to produce a binary, thanks to Markus Wild's excellent
- Unix emulation environment. However it is likely that it has introduced
- bugs in the process, since it was not always easy to tell which changes
- made to a piece of code compiled with another compiler were dependent on
- that compiler (and thus not wanted or needed for gcc compilation), or
- dependent on AmigaDOS as the host machine (probably needed regardless of
- the compiler). The authors of various ports of GNU utilities have not
- always been careful about how they made their changes or how they marked
- them in the source code, assuming they even made the source code available
- in the first place.
-
- So, it is likely that the first few releases of these utilities may be
- somewhat fragile. Since I think it is an important goal of this distri-
- bution that eventually all of the supplied GNU source be stable when
- compiled with the supplied GNU C compiler (and as much non-GNU source as
- possible as well), rather than a random selection of C compilers that may
- not be available to the person using this distribution, I think it is worth
- the temporary aggravation of stumbling over bugs resulting from a not quite
- completed port.
-
- When you find a problem that is specific to the Amiga port, please try to
- identify it's source, and even better, provide a suggested fix to the
- supplied source code.
-
- I will be making a serious effort to see that the Amiga specific patches
- made to this source tree get folded back into the FSF distributions so that
- eventually the source trees will converge, and it will be possible to build
- a complete set of GNU tools from unchanged FSF source. This is the ideal,
- it may not be possible to achieve in practice, though I think it is a
- worthy goal.
-
- LIBM and PDKSH
- --------------
-
- The src/amiga/libm material is from a BSD distribution, and src/amiga/pdksh
- is a ksh compatible shell. Neither are GNU code, but they are included here
- because of their relative importance for use with the other GNU material.
-
- -Fred Fish ><>
-