Creating a Configurable Compiler Driver for System V Release 4

This paper discusses the design and application of the configurable C compiler driver component of System V Release 4. The configurable compiler driver is a table-driven cc command that allows users to define include file, library, and tool paths as well as command line option translations and defaults. The configurable driver presents several advantages over more traditional compiler drivers. The resulting compilation system allows many compilers with differing command line interfaces to be used in large system builds with no makefile changes. It allows the user to easily switch among several different C compilers, while presenting the user with a single command line interface. By allowing changes to compiler component paths, it makes the development of cross-compilers easier. Finally, it allows easy user configuration for the inclusion of default options. We discuss the motivation for the project, the architectural design, and applications of the driver, including experiences with using the driver for System V Release 4 system builds.