Table of Contents
Options
The Synchronet builds system supports a vast array of build options most of which are only slightly supported. This page attempts to document them for advanced users.
Supported Options
DEBUG- If defined, or if
RELEASEis not defined, does a debug build.
FORTIFY- When combined with
DEBUG, will build with_FORTIFY_SOURCEoption (and enable basic optimization).
SANITIZE- When combined with
DEBUG, will build with AddressSanitizer (ASan) and Undefined Behavior (UB) Sanitizer (not currently recommended/supported).
RELEASE- If defined, does a release build (no debug information).
SpiderMonkey Options
JS_CFLAGS- Extra CFLAGS for compiling against JS
JS_LDFLAGS- Extra LDFLAGS for linking agsint JS
JSINCLUDE- Path to JS headers
JSLIBDIR- Path to JS library.
JSLIB- Library name for SpiderMonkey.
EXTRA_JS_CONFIGURE_ARGS- Pass these arguments IN ADDITION TO THE BUILDIN ONES to the
configurecommand when building the included SpiderMonkey. - Adding
–disable-tracejitis commonly needed to build JS on less common OSs/Architectures. Please file a bug if it's required.
JS_CONFIGURE_ARGS- Pass to the
configurecommand when building the included SpiderMonkey.
Cryptlib Options
CRYPTLIBINCLUDE- Path to Cryptlib header files
CRYPTLIBDIR- Path to Cyrptlib library
CRYPT_LIBS- Library link specifier (ie: -lcl or /path/to/libcl.a)
SDL Options
USE_SDL_AUDIO- Use SDL for audio only, not graphics.
WITHOUT_SDL- Do not attempt to use the SDL library for anything.
SDL_CONFIG- Command-line for the sdl-config utility
nspr4 options
NSPRDIR- Path to the nspr4 library
NSPRINCLUDE- Path to the nspr4 header files
NSPR_CFLAGS- Extra CFLAGS for compiling against nspr4
NSPR_LDFLAGS- Extra linker flags for linking against nspr4
Other Options
SRC_ROOT- Overrides the path to the src directory. Normally set in the makefile.
3RDP_ROOT- Overrides the path to the 3rdp directory. Normally set in the makefile.
PROFILE- Generates binaries that create gprof detail files (GCC/DEBUG only)
UPROFILE- Generates binaries which generate profile-driven optimizartion data (GCC/DEBUG only)
USE_UPROFILE- Builds ising information generated by a
UPROFIEbuild (RELEASE builds only)
GCOV- Generates binaries that produce gcov data
DONT_CLOBBER_CC(Removed Fri Feb 6 23:58:56 2015 UTC - gcc no longer forced)- By default, the build system will force CC to be
gcc. To use a different compiler, you will need to set both CC *and* this option.
OBJPATH_SUFFIX- Adds the specified string to the object path.
STATIC- Attempts to statically link everything. Unlikely to work.
BUILDPATH- Changes the “debug” or “release” suffix on output directories to this value. Useful when building for multiple systems with the same machine/compiler/release options.
NO_X- Prevents the use of X11.
WITHOUT_PORTAUDIO- Do not attempt to support portaudio.
DONT_BLAME_SYNCHRONET- Reduces the importance of security to allow rebinding of ports. Please don't use this.