Build Environment Notes


The Toolset Specification May Need Better Granularity

Tools with Absolute Pathname Requirements

Using Dynamic Views in ClearCase under UNIX, the absolute path to an element can remain constant across views. This makes dealing with multiple revisions of tool installations easy. It allowed programs with fixed absolute installation paths to execute without problem. The ClearCase virtual file system hid the differences.

Even the GNU compiler GCC suffers from this "fixed installation path" problem. The compiler driver "gcc" must be able to locate the various compiler components, and thus an installation prefix is specified when building the compiler. :-(

One potential solution is to add an option to "gcc.c" that would add absolute paths relative to the location of the "gcc" executable. This would enable the gcc driver to find the assembler, linker/loader and other tools included in the installation. The absolute path might be gleaned from argv[0] if gcc were invoked with an absolute pathname, or from an argument to the new option. The use of an option to enable this feature would prevent this aberant behaviour from accidently being used by possibly incompatable environments.

I checked the GCC-FAQ for changes. No other dynamic solution is currently available, see the solution above.