next up previous contents
Next: Compiling with Extra Packages Up: Creating a Configuration Previous: Configuration Options   Contents


Available Options

There is a plethora of available options.

  • Cross compiling

    If you are compiling on an architecture other than the one you are producing an executable for, you will need to pass the

    HOST_MACHINE=x-x-x
    option, where x-x-x is the canonical name of the architecture you are compiling for, such as sx6-nec-superux; the format is processor-vendor-OS.

  • Compiled thorns

    These specify the chosen set of thorns for compilation. If the thorn choice is not provided during configuration, a list containing all thorns in the arrangements directory is automatically created, and the user is prompted for any changes.

    THORNLIST
    Name of file containing a list of thorns with the syntax <arrangement name>/<thorn name>. Lines beginning with # or ! are ignored.

    THORNLIST_DIR
    Location of directory containing THORNLIST. This defaults to the current working directory.

  • Compiler and tool specification

    These are used to specify which compilers and other tools to use. Entries followed by * may be specified on the command line.

    CC
    * The C compiler.
    CXX
    The C++ compiler.
    F90
    * The Fortran 90 compiler.
    F77
    * The Fortran 77 compiler.
    CPP
    The preprocessor used to generate dependencies for and to preprocess C and C++ code.
    FPP
    The preprocessor used to generate dependencies for and to preprocess Fortran code.
    LD
    * The linker.
    AR
    The archiver used for generating libraries.
    RANLIB
    The archive indexer to use.
    MKDIR
    The program to use to create a directory.
    PERL
    The name of the Perl executable.

  • Compilation and tool flags

    Flags which are passed to the compilers and the tools.

    CFLAGS
    Flags for the C compiler.

    CXXFLAGS
    Flags for the C++ compiler.

    F90FLAGS
    * Flags for the Fortran 90 compiler.

    F77FLAGS
    * Flags for the Fortran 77 compiler.

    CPPFLAGS
    Flags for the preprocessor (used to generate compilation dependencies for and preprocess C and C++ code).

    FPPFLAGS
    Flags for the preprocessor (used to generate compilation dependencies for and preprocess Fortran code).

    MKDIRFLAGS
    Flags for MKDIR, so that no error is given if the directory exists.

    LDFLAGS
    * Flags for the linker. Warning: This variable is ignored while the compilers and linkers are autodetected. This can lead to strange errors while configuring. You can pass the linker flags in the variable LD instead.

    ARFLAGS
    Flags for the archiver.

    C_LINE_DIRECTIVES
    Whether error messages and debug information in the compiled C and C++ files should point to the original source file or to an internal file created by Cactus. The only options available are yes and no, the default is yes. Set this to no if your compiler reports error messages about unrecognised # directives.

    F_LINE_DIRECTIVES
    Whether error messages and debug information in the compiled Fortran files should point to the original source file or to an internal file created by Cactus. The only options available are yes and no, the default is yes. Set this to no if your compiler reports error messages about unrecognised # directives.

    CROSS_COMPILE
    Enables cross compilation. Available options are yes and no, the default is no. To create a cross-compiled configuration one must explicitly set this option to yes.

    DISABLE_REAL16
    Disable support for the data type CCTK_REAL16. The only options available are yes and no, the default is no. Cactus autodetects this data type only for C. If the C compiler supports it, but the Fortran compiler does not, it may be necessary to disable CCTK_REAL16 altogether, since Cactus assumes that data types are fully supported if they exist.

    DEBUG
    * Specifies what type of debug mode should be used, the default is no debugging. Current options are yes, no, or memory. The option yes switches on all debugging features, whereas memory just employs memory tracing (Section B10.3).

    C_DEBUG_FLAGS
    Debug flags for the C compiler, their use depends on the type of debugging being used.

    CXX_DEBUG_FLAGS
    Debug flags for the C++ compiler, their use depends on the type of debugging being used.

    F90_DEBUG_FLAGS
    Debug flags for the Fortran 90 compiler, their use depends on the type of debugging being used.

    F77_DEBUG_FLAGS
    Debug flags for the Fortran 77 compiler, their use depends on the type of debugging being used.

    OPENMP
    * Specifies whether OpenMP support should be enabled. The only options currently available are yes and no. The default is to disable OpenMP support.

    C_OPENMP_FLAGS
    OpenMP flags for the C compiler, their use depends on the type of OpenMP support being used.

    CXX_OPENMP_FLAGS
    OpenMP flags for the C++ compiler, their use depends on the type of OpenMP support being used.

    F90_OPENMP_FLAGS
    OpenMP flags for the Fortran 90 compiler, their use depends on the type of OpenMP support being used.

    F77_OPENMP_FLAGS
    OpenMP flags for the Fortran 77 compiler, their use depends on the type of OpenMP support being used.

    OPTIMISE, OPTIMIZE
    * Specifies what type of optimisation should be used. The only options currently available are yes and no. The default is to use optimisation.
    Note that the British spelling OPTIMISE will be checked first and, if set, will override any setting of the American-spelled OPTIMIZE.

    C_OPTIMISE_FLAGS
    Optimisation flags for the C compiler, their use depends on the type of optimisation being used.

    CXX_OPTIMISE_FLAGS
    Optimisation flags for the C++ compiler, their use depends on the type of optimisation being used.

    F90_OPTIMISE_FLAGS
    Optimisation flags for the Fortran 90 compiler, their use depends on the type of optimisation being used.

    F77_OPTIMISE_FLAGS
    Optimisation flags for the Fortran 77 compiler, their use depends on the type of optimisation being used.

    PROFILE
    * Specifies what type of profiling should be used. The only options currently available are yes and no. The default is to use no profiling.

    C_PROFILE_FLAGS
    Profile flags for the C compiler, their use depends on the type of profiling being used.

    CXX_PROFILE_FLAGS
    Profile flags for the C++ compiler, their use depends on the type of profiling being used.

    F90_PROFILE_FLAGS
    Profile flags for the Fortran 90 compiler, their use depends on the type of profiling being used.

    F77_PROFILE_FLAGS
    Profile flags for the Fortran 77 compiler, their use depends on the type of profiling being used.

    WARN
    * Specifies what type of build warnings should be used. The only options currently available are yes and no. The default is to produce no warnings.

    C_WARN_FLAGS
    Warning flags for the C compiler, their use depends on the type of warnings used during compilation (Section A2.2.4).

    CXX_WARN_FLAGS
    Warning flags for the C++ compiler, their use depends on the type of warnings used during compilation (Section A2.2.4).

    F90_WARN_FLAGS
    Warning flags for the Fortran 90 compiler, their use depends on the type of warnings used during compilation (Section A2.2.4).

    F77_WARN_FLAGS
    Warning flags for the Fortran 77 compiler, their use depends on the type of warnings used during compilation (Section A2.2.4).

  • Architecture-specific flags

    IRIX_BITS=32|64
    For Irix SGI systems: whether to build a 32- or 64-bit configuration.

    AIX_BITS=32|64
    For IBM SP systems: whether to build a 32- or 64-bit configuration.

  • Library flags

    Used to specify auxiliary libraries and directories to find them in.

    LIBS
    Additional libraries. This variable can also contain linker options, e.g. to switch between static and dynamic linking. (Cactus adds a -l prefix to library names, but does not modify linker options.) Warning: This variable is ignored while the compilers and linkers are autodetected. This can lead to strange errors while configuring. You can pass the additional libraries in the variable LD instead.

    LIBDIRS
    Any other library directories. This variable can also contain linker options. (Cactus adds a -L prefix to library directories, but does not modify linker options.)

  • Extra include directories

    SYS_INC_DIRS
    Used to specify any additional directories for system include files.

  • Precision options

    Used to specify the precision of the default real and integer data types, by the number of bytes the data takes up. Note that not all values will be valid on all architectures.

    REAL_PRECISION
    * Allowed values are 16, 8, 4.

    INTEGER_PRECISION
    * Allowed values are 8, 4, 2.

  • Executable name

    EXEDIR
    The directory in which to place the executable.
    EXE
    The name of the executable.

  • Extra packages

    Compiling with extra packages is described fully in Section A2.1.3, which should be consulted for the full range of configuration options.

    MPI
    * The MPI package to use, if required. Supported values are CUSTOM, NATIVE, MPICH, or LAM.

    HDF5
    Supported values are yes, and no. A blank value is taken as no.

    LAPACK
    Supported values are yes, and no. A blank value is taken as no.

    PETSC
    Supported values are yes, and no. A blank value is taken as no.

    PTHREADS
    Supported values are yes, and no. A blank value is taken as no.

  • Miscellaneous

    PROMPT
    Setting this to no turns off all prompts from the make system.
    SILENT
    Setting this to no instructs gmake to print the commands that it is executing.


next up previous contents
Next: Compiling with Extra Packages Up: Creating a Configuration Previous: Configuration Options   Contents