Navigation
Learn About
Developing With
Ingres Talk
Information
Toolbox
Views
Build system improvements for better parameterization
From Ingres Community Wiki
SIR 122138 - Parameterised Builds
This project aims to revise the build system to allow site specific customizations and parameterization. From the DDS Introduction:
The current jam-based build system for the server and character based tools has some limitations and issues. Nearly all build-time control requires making a change to one or more files which are under source code control. This is very undesirable. The VERS file, which is the only non-SCM-controlled build parameter file, allows only very minimal effect on the build. Unless one changes a SCM-controlled file, many desirable things are impossible:
- There is no way to define value parameters (such as max number of columns) that can control the build.
- There is no way to control the build at the jam level at all. For instance, it would be nice to be able to define a configuration that did not build any ICE-related machinery; this is currently not possible without altering the platform specific Jamdefs.xxx_xxx from build to build. These are SCM-controlled files and should not have to change from build to build.
- There is no way to disable hybrid (or reverse hybrid) builds. This is partly a side effect of the inability to control jam, and partly because some of the build scripts assume that a hybrid must be present and fail if one attempts to turn the hybrid build off. In situations where the [reverse] hybrid is not needed, this simply wastes build time and resources.
- There is no way to have a standard configuration variant that includes OME object libraries automatically.
- The hybridization style for hybrid capable platforms is wired into the build scripts, with little or no control. (For instance, it's imposslble at present to build intel linux as a 32+64 bit hybrid instead of a 64+32 bit reverse hybrid.)
This proposed enhancement introduces a mechanism that alleviates these difficulties. Site level configuration control is to be done entirely from the VERS file. The primary change is a change to the format of the VERS file, so that it can set both jam-level variables and shell-level variables.
A summary of changes requested by the initial DDS review meeting is on the discussion page; feel free to post your thoughts there.
The updated design document is available here as an OpenOffice (ODT) file, or here as a MS Word file.

