How GPT Implements Build Flavors

The relationship between the components of the flavor label and the build options are set in the file $GPT_LOCATION/etc/gpt/globus_flavor_labels.conf. The package globus_core translates the definitions in this file into a build environment that can be accessed by the tools gpt_build_config and globus-makefile-header. The tool gpt-build can translate translate build options into options that a packages configure script can understand.

The flavor translation, which happens the globus_core package is configured is a two stage process. First GPT uses the globus_flavor_labels.conf file to translate a flavor label into a set of shell variables and command line switches that globus_core's configure understands. This script then uses autoconf style probing to verify the flavor and then sets up files that define the build environment. These files are then installed with the make install command. All of this happens automatically when gpt-build is invoked with a new flavor.