BLDCONF

Section: PARSEC Benchmark Suite (5)
Updated: December 2008
Index Return to Main Contents
 

NAME

bldconf - Format of a PARSEC build configuration  

DESCRIPTION

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 these variables.  

PREREQUISITES

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).  

CONFIGURATION VARIABLES

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:
CC
The C compiler.
CXX
The C++ compiler.
CPP
The C preprocessor. CC_HOME The installation root of the C/C++ compiler.
LD
The linker.
AS
The default assembler.
AR
The archive program to use for the creation of libraries.
RANLIB
The program to use to create an index for an archive.
STRIP
The tool to discard symbols from object files.
M4
The processor for the M4 macro language.
MAKE
The make utility to use to build a package.
CFLAGS
Flags for the C compiler specified by the CC variable.
CXXFLAGS
Flags for the C++ compiler specified by the CXX variable.
CPPFLAGS
Flags for the C preprocessor specified by the CPP variable.
LDFLAGS
Flags for the linker specified by the LD variable.
LIBS
Libraries to add to the link line.
CC_ver
The version string of the C compiler specified by the CC variable.
CXX_ver
The version string of the C++ compiler specified by the CXX variable.
LD_ver
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 safe.

A build configuration must define the following variables for each package:

build_deps
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.
build_env
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.
build_inplace
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.
build_conf
Arguments to pass to the configure script (if applicable)
 

FILES

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.
config/*.bldconf
Global build configuration files are located in the config/ directory of the PARSEC installation root.
pkgs/*/*/parsec/*.bldconf
Local build configuration files are located in the parsec/ directory of the package they belong to.
 

ENVIRONMENT

PARSECDIR
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.
PARSECPLAT
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.
 

AUTHOR

Written by Christian Bienia.  

COPYRIGHT

Copyright (c) 2006-2009 Princeton University  

SEE ALSO

parsec(7), parsec.conf(5), sysconf(5), runconf(5), parsecmgmt(1), bldconfadd(1), bldconfdel(1), bash(1)


 

Index

NAME
DESCRIPTION
PREREQUISITES
CONFIGURATION VARIABLES
GLOBAL CONFIGURATION VARIABLES
LOCAL CONFIGURATION VARIABLES
FILES
ENVIRONMENT
AUTHOR
COPYRIGHT
SEE ALSO

This document was created by man2html, using the manual pages.
Time: 04:41:54 GMT, February 24, 2009