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