-
Notifications
You must be signed in to change notification settings - Fork 55
Configure Options
As this is related to Autotools, this information is valid up to release v3.0.0 and will be deprecated with the next major release at the latest.
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
For an overview of the full installation process, please see the Installation page.
uses a fraction of the test cases to speed up
development (WARNING: use with care)
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) See also the Developer guidelines. | false |
--enable-less-tests | uses a fraction of the test cases to speed up development (WARNING: use with care) | 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) |
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 |
For a parallel release mode with local installation path $HOME/t8code_install
:
configure --enable-mpi CFLAGS=-O3 CXXFLAGS=-O3 --prefix=$HOME/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"
Note: The debugging mode introduces a lot of safety checks and drastically reduces the code performance. Do not use it
for production runs.
<<<<<<< HEAD
If you want to use a debugger or valgrind, but do not want to perform all additional safety checks of the debugging mode,
use the above configure line without --enable-debug
.
Note: If you are developing and need to execute the tests frequently, you can use --enable-less-tests
to decrease the amount of tests
and thus the overall test runtime.
If you want to use a debugger or Valgrind, but do not want to perform all additional safety checks of the debugging mode,
use the above configure line without --enable-debug
.
For a serial configuration that links against the NetCFD library:
configure CFLAGS=-O3 CXXFLAGS=-O3 --with-netcdf
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]
Installation Guide
Configure Options
Setup t8code on JUWELS and other Slurm based systems
Setup t8code for VTK
General
Step 0 Hello World
Step 1 Creating a coarse mesh
Step 2 Creating a uniform forest
Step 3 Adapting a forest
Step 4 Partition,-Balance,-Ghost
Step 5 Store element data
Step 6 Computing stencils
Step 7 Interpolation
Features
Documentation
Tree Indexing
Element Indexing
Running on JUWELS using Slurm
Overview of the most used API functions
Known issues
Workflow - FreeCAD to t8code
Reproducing Scaling Results
Coding Guidelines
Tips
Debugging with gdb
Debugging with valgrind
Test driven development
Testing with GoogleTest
Writing C interface code