$Id: pre-req.html,v 1.3 1997/07/15 00:07:44 ksb Exp $

UNIX Implementations

UNIX provides most of the utility base for the source organization. These tools implement the framework of the source organization:

Access to utilities

To gain access to the system C compiler, linker, and other UNIX utilities we must set some system parameters (viz. umask and $PATH).

We could encode the system C compile in the Makefile as:


	CC=gcc
but that doesn't set the search path ($PATH).

If we encode the search path in the name:


	CC=/opt/gnu/bin/gcc
We face changing all the Makefiles on the system if the C compiler changes. Using the UNIX search path is the clever choice here, the only implementation detail is how to leverage that facility.

We will integrate support for this requirement in a file called "local.defs" which is usually located in /usr/local/lib/distrib/local.defs. This file just sets a search path that includes the C compiler and other tools needed to build most applications on this platform. On FREEBSD, for example, it looks like:


	PATH=/usr/local/etc:/usr/local/bin:$PATH:/usr/sbin
	export PATH
	umask 022

On Sun Solaris systems we must include "/usr/ccs/bin" in the PATH. Other systems may have other games we have to play (EP/IX is bad).

Issues with access to other products

In addition to the frame-work tools described above most useful products need access to a compiler or interpreter. To be successful we need to pick which compiler to use and what options to put on the command line. By "which" we mean the name as well as the location.


Next Page