Clang UPC Autconf Options
Calng UPC can also be configured by using the GNU autoconf tools (configure). In most of the cases there is no difference between cmake configuration and autoconf, except in the following areas:
- While cmake configuration is capable of configuring and building multiple instances of the runtime, autoconf is building only one of them, as specified by the configuration options.
1.1 General Options
-
–prefix=PREFIX
Install architecture-independent files in PREFIX [/usr/local]
-
–exec-prefix=EPREFIX
Install architecture-dependent files in EPREFIX [PREFIX]
-
–enable-optimized
Compile with optimizations enabled (default is NO)
-
–enable-profiling
Compile with profiling enabled (default is NO)
-
–enable-assertions
Compile with assertion checks enabled (default is YES)
-
–enable-werror
Compile with -Werror enabled (default is NO)
-
–enable-expensive-checks
Compile with expensive debug checks enabled (default is NO)
-
–enable-debug-runtime
Build runtime libs with debug symbols (default is NO)
-
–enable-debug-symbols
Build compiler with debug symbols (default is NO if optimization is on and YES if it’s off)
-
–enable-keep-symbols
Do not strip installed executables)
1.2 Optional Features
-
–enable-clang-upc2c
Enable building of clang upc2c (default is YES)
-
–enable-clang-upc-runtime
Enable building of clang upc runtime (default is YES)
-
–enable-upc-link-script
Enable UPC’s use of a custom linker script; this will define the UPC shared section as a no load section on targets where this feature is supported (requires GNU LD)
-
–enable-upc-backtrace
Enable UPC backtrace; Enable stack frame backtrace report when UPC run-time fatal errors occur or by user request (via signal)
-
–enable-upc-numa
Enable UPC runtime NUMA support [default=’yes’]
1.3 Optional Configuration
-
–with-execinfo-lib-path
Specify path for execinfo library
-
–with-execinfo-inc-path
Specify path for execinfo include
-
–with-upc-pts
UPC packed or struct pointer representation.
-
–with-upc-pts-packed-bits
UPC packed pointer representation.
-
–with-upc-pts-vaddr-order
UPC vaddr first or last.
-
–with-upc-runtime=MODEL
Specify the runtime implementation model for UPC, where MODEL may be: ‘SMP’ (Symmetric Multiprocessing) or ‘Portals4’. [default=’SMP’]
-
–with-portals4=PATH
Specify prefix directory for installed portals4 package
-
__–with-upc-job-launcher Select UPC Portals4 job launcher [default=slurm]
The following option are used only when ‘-fupc-ir’ option is provided on the compiler command line:
-
–with-upc-ir-rp-addrspace=ADDRSPACE
Specify the LLVM address space for the UPC remote pointer (default=16)
-
–with-upc-ir-rp-bits=thread,addr
Choose bit distribution in LLVM remote pointer representation (default=20,44)
1.4 Some influential environment variables
-
CC
C compiler command
-
CFLAGS
C compiler flags
-
LDFLAGS
linker flags, e.g. -L
if you have libraries in a nonstandard directory -
CPPFLAGS
C/C++/Objective C preprocessor flags, e.g. -I
if you have headers in a nonstandard directory -
CXX
C++ compiler command
-
CXXFLAGS
C++ compiler flags
-
CPP
C preprocessor
-
CXXCPP
C++ preprocessor
Use these variables to override the choices made by `configure’ or to help it to find libraries and programs with nonstandard names/locations.