Skip to content

Configure Options

holke edited this page Jul 7, 2020 · 10 revisions

On this page we collect various options that you can pass to t8code's configure script.

This list gives only the most used options, for a complete overview use

configure -h

Options

Option Description Default value (if existing)
--build=BUILD configure for building on BUILD guessed
--host=HOST cross-compile to build programs to run on HOST BUILD
--enable-shared[=PKGS] build shared libraries yes
--enable-static[=PKGS] build static libraries yes
--enable-mpi enable MPI parallel code false
--enable-debug enable debugging mode (Note: This will drastically reduce performance) false
--with-LIB[=ARG] enable linking with LIB yes
--without-LIB disable linking with LIB (same as --with-LIB=no)
--prefix=PATH Provide an installation prefix
--with-metis enable metis-dependent code
--with-petsc enable PETSc-dependent code
--with-sc path to installed package sc (if non-standard)
--with-p4est path to installed package p4est (if non-standard)

Environment variables

Variable Description
CC C compiler command
CFLAGS compiler flags
LDFLAGS linker flags, e.g. -L if you have libraries in a nonstandard directory
LIBS libraries to pass to the linker, e.g. -l
CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if you have headers in a nonstandard directory
CXX C++ compiler command
CXXFLAGS C++ compiler flags
LT_SYS_LIBRARY_PATH User-defined run-time library search path.
CPP C preprocessor
CXXCPP C++ preprocessor

Example configurations

For a parallel release mode with local installation path ~/t8code_install:

configure --enable-mpi CFLAGS=-O3 CXXFLAGS=-O3 --prefix=~/t8code_install

For a debugging mode with static linkage (makes using gdb and valgrind more comfortable):

configure --enable-mpi --enable-debug --enable-static --disable-shared CFLAGS="-Wall -O0 -g" CXXFLAGS="-Wall -O0 -g"

Notes on blas

t8code automatically links against lapack and blas, but does not use them at the current state.

Sometimes this causes problems on systems with ill-configured or non-existing blas/lapack libraries. You can simply disable these by

configure --without-blas --without-lapack [OTHER OPTIONS]

Clone this wiki locally