Source code for compilertools._config_build

"""Extra configuration for build."""


[docs]class ConfigBuild: """Build configuration.""" #: Disable compilertools's optimization while building disabled = False #: Compiles optimized for current machine only (If not compile for a cluster of #: possibles machines) #: True or False for manually set value; 'autodetect' for automatically set value to #: True if build from PIP current_machine = "autodetect" #: Enabled suffixes in files matrix definition. #: If this set is not empty, includes only suffixes specified inside it. #: This does not affect current machine builds. suffixes_includes = set() #: Disabled suffixes in files matrix definition. #: If 'suffixes_includes' is empty, completes this set to not build files for a #: specific architecture. #: This does not affect current machine builds. suffixes_excludes = { "sse", "ssse3", "sse4_1", "sse4_2", "intel_atom", "intel", "amd", } #: Enables compilers options option = { # Enables Fast floating point math "fast_fpmath": False } #: Specific API are auto-enabled when compiling and linking if following #: preprocessors are detected in source files api = { # openMP "openmp": {"c": "#pragma omp ", "fortran": ("!$omp ", "c$omp ", "*$omp ")}, # OpenACC "openacc": {"c": "#pragma acc ", "fortran": ("!$acc ", "c$acc ", "*$acc ")}, # Intel Cilk Plus "cilkplus": {"c": "#pragma simd ", "fortran": "!dir$ simd "}, } #: Sources files extensions for code analysis extensions = { #: C/C++ sources files extensions "c": (".c", ".cpp", ".cxx", ".cc", ".c++", ".cp"), #: Fortran sources files extensions "fortran": (".f", ".for", ".f90", ".f95", ".f03", ".f08", ".f15"), }