SCO Skunkware 5.0 Build Environment
SCO Skunkware 5.0 was built using an
SCO OpenServer Release 5 Enterprise
system and the
SCO OpenServer Development System Release 5.
In addition, some components
were built with the
SCO Optimizing C Compiler.
All components were
built in the ELF binary format and utilize DLL's. In order to easily accomplish
this, the system /etc/default/cc file was modified setting :
FLAGS=-belf -dy -L/usr/lib/DLL
In addition, whenever the SCO C++ compiler (/usr/bin/CC) was used, the
flags "-belf" and, if necessary "+.cc" or "+.c" were used. Almost all
C++ code on SCO Skunkware 5 was compiled using the SCO C++ compiler.
The SCO Skunkware 5.0 source tree is divided into four basic sub-trees.
Assuming that you mounted the SCO Skunkware 5.0 CD-ROM on /usr/skunk,
the source tree is in /usr/skunk/src. The tree is divided into sub-directories
containing source for
Productivity Tools,
Graphical X11 Clients,
Games, and
Custom Installable Storage Section Objects.
Although not strictly enforced, these four sub-trees exist in :
/usr/skunk/src/Tools
/usr/skunk/src/X11
/usr/skunk/src/Games
/usr/skunk/src/cdmt
The entire tree can be built with one command, each sub-tree can be built
separately, or each component can be built individually. Unfortunately, the
CD-ROM is read-only so you will not be able to build in the existing source
tree. Decide which components you would like to rebuild and copy those source
hierarchies over to a writeable filesystem, preserving the file and directory
structure as much as possible. For instance, to prepare your system to rebuild
the endo binary, you could issue the command :
$ copy -mrv /usr/skunk/src/X11/endo /u/src/X11/endo
Some source directories contain a compressed tar file of the sources.
To extract these, issue the command (using Emacs as an example) :
$ gzcat /usr/skunk/src/Tools/emacs-19.22/emacs-19.22.tar.gz | tar xf -
after having cd'd into a writeable empty directory of your choice.
[Note : Under SCO UNIX 3.2.v4 you may need to use pax rather than tar. That is,
$ gzcat /usr/skunk/src/Tools/emacs-19.22/emacs-19.22.tar.gz | pax -rmopLvf -
To build the entire
tree, as a non-root user change directory to /u/skunk/src (assuming you
copied the SCO Skunkware 5.0 source tree to /u/skunk/src). Next, simply type
"sh Build". If you have previously installed the SCO Skunkware 5.0 build
environment described above, the Build command will attempt to rebuild the
entire SCO Skunkware 5.0 tree.
To build just the Tools sub-tree, copy /usr/skunk/src/Tools to a writeable
filesystem (e.g. /u/skunk/src/Tools), change directory to this new directory
and type "sh Build". Similarly, to rebuild the Games tree, copy
/usr/skunk/src/Games to /u/skunk/src/Games, change directory to this new
directory and type "sh Build". To rebuild any component of the Tools or Games
sub-trees, cd into that components subdirectory (e.g.
/u/skunk/src/Tools/bpatch) and type "make".
To rebuild just the X11 sub-tree, copy /usr/skunk/src/X11 to a writeable
filesystem (e.g. /u/skunk/src/X11), change directory to this new directory
and type "xmkmf -a; make". To rebuild any component of the X11 sub-tree, cd
into that components subdirectory (e.g. /u/skunk/src/X11/endo) and type
"xmkmf -a; make".
After successfully rebuilding a component or sub-tree you may want to install
the resulting files on your system in a convenient location. The SCO Skunkware
5.0 build scripts, Makefiles and Imakefiles are configured to install the
results of a build in /usr/skunk. If you use /usr/skunk as your installation
directory for rebuilds then you will not be able to use the mounted Skunkware
CD-ROM and the rebuilt tree in /usr/skunk. It is therefore recommended
that you change your installation directory for rebuilding SCO Skunkware 5.0
components from /usr/skunk to /usr/local (or any directory other than
/usr/skunk). To do so, it may be necessary to edit the appropriate Makefile,
Imakefile or configure script. In some cases it is only necessary to provide
the appropriate --prefix argument to Configure (see the
Tools/Build script
for examples). In rare cases it may also be necessary to edit a component's
source files, changing occurrences of the string "/usr/skunk" to "/usr/local"
or wherever you have chosen to install the component.
Return to Welcome Home Page or
Continue to Browse