1999-01-27 06:27:59 +00:00
|
|
|
$Id: doing.builds,v 1.2 1999/01/27 06:27:59 gdr-ftp Exp $
|
1999-01-09 21:19:58 +00:00
|
|
|
|
1999-01-27 06:27:59 +00:00
|
|
|
This file describes how to build the GNO base distribution. It is critical
|
|
|
|
that things be done in the sequence given here, as there are dependencies.
|
1999-01-09 21:19:58 +00:00
|
|
|
|
1999-01-27 06:27:59 +00:00
|
|
|
The default target in each Makefile is 'build'; it causes the program or
|
|
|
|
library to be built in the /obj hierarchy. Each Makefile also has a
|
|
|
|
'release' target, which caused built or verbatim files to be copied into
|
|
|
|
the /dist hierarchy.. Both of these must be made before you proceed to the
|
|
|
|
next step.
|
1999-01-09 21:19:58 +00:00
|
|
|
|
1999-01-27 06:27:59 +00:00
|
|
|
All Makefiles also have an 'install' target, but that is only used for
|
|
|
|
installing into a live system. Caveat Emptor.
|
1999-01-09 21:19:58 +00:00
|
|
|
|
1999-01-27 06:27:59 +00:00
|
|
|
- The first thing is to ensure that your system header files match those
|
|
|
|
in the distribution. This is done by the following commands:
|
1999-01-09 21:19:58 +00:00
|
|
|
|
1999-01-27 06:27:59 +00:00
|
|
|
cd /src/gno
|
|
|
|
dmake headerInstall
|
|
|
|
|
|
|
|
- Next, the libraries have to be built in the following sequence. Each
|
|
|
|
of them should get a 'dmake build' followed by a 'dmake release':
|
|
|
|
|
|
|
|
/src/lib/orcalibs/Source/ORCALib
|
|
|
|
/src/lib/orcalibs/Source/SysFloat
|
|
|
|
/src/lib/orcalibs/Source/SysFPEFloat
|
|
|
|
/src/gno/lib/lsaneglue
|
|
|
|
/src/gno/lib/libc (build top level last, or there won't be rez fork)
|
|
|
|
/src/gno/lib/libcontrib
|
|
|
|
/src/gno/lib/libcrypt
|
|
|
|
/src/gno/lib/libcurses
|
|
|
|
/src/gno/lib/libedit (not yet building)
|
|
|
|
/src/gno/lib/libsim (not yet building)
|
|
|
|
/src/gno/lib/libtermcap
|
|
|
|
/src/gno/lib/libutil
|
|
|
|
/src/gno/lib/liby
|
|
|
|
/src/gno/lib/netdb
|
|
|
|
|
|
|
|
- Now you want to build each of the (finished) programs in the following
|
|
|
|
directory hierarchies. The sequence doesn't really matter. You need
|
|
|
|
to do both 'dmake build' and 'dmake release'.
|
|
|
|
|
|
|
|
/src/gno/bin
|
|
|
|
/src/gno/usr.bin
|
|
|
|
/src/gno/usr.orca.bin
|
|
|
|
/src/gno/usr.sbin
|
|
|
|
/src/gno/sbin
|
|
|
|
|
|
|
|
Note that not all checked in programs are necessarily finished, and
|
|
|
|
therefore suitable for the 'build' and 'release' targets. When in doubt,
|
|
|
|
check the file /src/gno/NOTES/status.bin.
|
|
|
|
|
|
|
|
(need to add text about the sys and kern directories)
|
1999-01-09 21:19:58 +00:00
|
|
|
|
|
|
|
- when the builds are closer to a sane state the /dist hierarchy
|
|
|
|
will be used to directly make a distribution. However for now,
|
|
|
|
we make use of another hierarchy, /gno into which we copy the
|
|
|
|
/dist hierarchy. The /gno hierarchy is then topped up with files
|
|
|
|
from a v2.0.4 distribution.
|
|
|
|
|
|
|
|
- so, once the 'release' target has been made in all the relevent source
|
|
|
|
directories, the following must occur:
|
|
|
|
|
1999-01-27 06:27:59 +00:00
|
|
|
- start with all of the following volumes empty. They may either be
|
|
|
|
physical volumes, or empty directories specified via the namespace
|
|
|
|
facility:
|
|
|
|
/gno
|
|
|
|
/gno-hfs (MUST be an HFS volume)
|
|
|
|
/gno.boot
|
|
|
|
Both /gno-hfs and /gno.boot may be no larger than 800k (ie: the
|
|
|
|
results will fit onto an 800k floppy)
|
|
|
|
|
|
|
|
- make sure the three volumes above are online. Since I use a
|
|
|
|
floppy for /gno-hfs, I keep forgetting that ...
|
|
|
|
|
1999-01-09 21:19:58 +00:00
|
|
|
- copy the entire contents of /dist to /gno
|
1999-01-27 06:27:59 +00:00
|
|
|
|
1999-01-09 21:19:58 +00:00
|
|
|
- run the /src/gno/build.tools/fudgeinstall script
|
1999-01-27 06:27:59 +00:00
|
|
|
|
1999-01-09 21:19:58 +00:00
|
|
|
- run the /src/gno/build.tools/mkboot script
|
1999-01-27 06:27:59 +00:00
|
|
|
|
1999-01-09 21:19:58 +00:00
|
|
|
- run the /src/gno/build.tools/mkdisk1 script
|
1999-01-27 06:27:59 +00:00
|
|
|
|
1999-01-09 21:19:58 +00:00
|
|
|
- go to the /gno directory. Using gshk, archive all the
|
|
|
|
directories you find there (such as gno.01, gno.02, etc).
|
|
|
|
You should create the files gno.01.shk, gno.02.shk, and so
|
1999-01-27 06:27:59 +00:00
|
|
|
forth.
|
|
|
|
*** Don't include the upper directory name in the archive. ***
|
1999-01-09 21:19:58 +00:00
|
|
|
When creating gno.16.shk, leave out the /install directory.
|
1999-01-27 06:27:59 +00:00
|
|
|
|
1999-01-09 21:19:58 +00:00
|
|
|
- go to the /gno-hfs partition. Archive up all contents of that
|
|
|
|
partition to create the gnohfs.shk archive. The gnohfs.shk
|
|
|
|
file should be placed with the gno.??.shk files from the
|
|
|
|
previous step.
|
1999-01-27 06:27:59 +00:00
|
|
|
*** Don't include the upper directory name in the archive. ***
|
|
|
|
|
1999-01-09 21:19:58 +00:00
|
|
|
- go to the /gno.boot partition and use gshk to archive all
|
|
|
|
all the files in that partition. Name the resulting archive
|
|
|
|
file gnoboot.shk, and place it with the other archive files.
|
1999-01-27 06:27:59 +00:00
|
|
|
*** Don't include the upper directory name in the archive. ***
|
|
|
|
|
1999-01-09 21:19:58 +00:00
|
|
|
- run the /src/gno/build.tools/mkdisk2 script
|