home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Fresh Fish 4
/
FreshFish_May-June1994.bin
/
bbs
/
gnu
/
shellutils-1.9.4-src.lha
/
src
/
README
next >
Wrap
Text File
|
1994-03-14
|
4KB
|
106 lines
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 ><>