Section: PARSEC Benchmark Suite (5)
Updated: December 2008
Return to Main Contents
bldconf - Format of a PARSEC build configuration
A build configuration is a set of configuration files of the PARSEC framework
that describe how to build a package. It defines which compilers to use, the
optimization level and other settings relevant at build time.
All build configuration files are executable bash scripts, which means
that a large degree of freedom exists for writing these configurations. The
scripts must set a number of predefined configuration variables as described
below. The build systems of the packages are parameterized and make use of
Build configurations do not have any prerequisites, but the build systems of
the packages expect that environment variable PARSECDIR contains the
path to the root directory of the PARSEC distribution and that environment
variable PARSECPLAT is set to the platform description string to use
(in addition to all variables set by the build configuration).
PARSEC uses the standard UNIX environment variables to control the build
process. These variables must be properly set by the build configuration.
A build configuration is usually defined for all packages of the benchmark suite
and is composed of a global and a local part. The global part defines the
properties that apply to all packages, whereas a local part only applies to
the package it belongs to.
GLOBAL CONFIGURATION VARIABLES
The global part of a build configuration has to define the following variables:
The C compiler.
The C++ compiler.
The C preprocessor.
The installation root of the C/C++ compiler.
The default assembler.
The archive program to use for the creation of libraries.
The program to use to create an index for an archive.
The tool to discard symbols from object files.
The processor for the M4 macro language.
The make utility to use to build a package.
Flags for the C compiler specified by the CC variable.
Flags for the C++ compiler specified by the CXX variable.
Flags for the C preprocessor specified by the CPP variable.
Flags for the linker specified by the LD variable.
Libraries to add to the link line.
The version string of the C compiler specified by the CC variable.
The version string of the C++ compiler specified by the CXX variable.
The version string of the linker specified by the LD variable.
LOCAL CONFIGURATION VARIABLES
Local build configurations specify properties applying only to the specific
package they belong to. Care must be taken when defining a local build
configuration as to avoid any side effects on the global configuration.
Assigning values non-recursively to the variables described below is always
A build configuration must define the following variables for each package:
Depenencies of this package and build configuration. The dependencies are given
as a list of package names separated by blanks. The PARSEC framework will build
these packages first. The dependency graph defined by all dependencies may not
contain any cycles.
Modifications to apply to the environment before the build system of the package
is invoked. All manipulations of the global part of the build configuration
should be specified here.
Whether the build system of the package supports in-place building. If in-place
building is not supported the whole source code directory is copied to the build
directory before the package is built. This variable must be set to either
TRUE or FALSE.
Arguments to pass to the configure script (if applicable)
All files belonging to a build configuration have the same name but are located
in different directories. The name of the files is formed by appending the
ending .bldconf to the name of the build configuration.
Global build configuration files are located in the config/ directory of
the PARSEC installation root.
Local build configuration files are located in the parsec/ directory of
the package they belong to.
Path to the root directory of the PARSEC distribution. The tools auto-detect
the root directory by using heuristics to search for .parsec-uniquefile,
but it is possible to override that behavior with this environment variable.
Unique identifier for the current machine type. The value of this variable is
used to separate the build and installation directories for different machine
types so they can coexist in a single PARSEC distribution directory. The
PARSEC tools automatically determine a value based on the OS and CPU names,
but it is possible to override the default value with this environment variable.
Written by Christian Bienia.
Copyright (c) 2006-2009 Princeton University
- CONFIGURATION VARIABLES
- GLOBAL CONFIGURATION VARIABLES
- LOCAL CONFIGURATION VARIABLES
- SEE ALSO
This document was created by
using the manual pages.
Time: 04:41:54 GMT, February 24, 2009