$Id: pre-req.html,v 1.3 1997/07/15 00:07:44 ksb Exp $
UNIX provides most of the utility base for the source organization. These tools implement the framework of the source organization:
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).
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.