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
RELEASE
is not defined, does a debug build.
FORTIFY
- When combined with
DEBUG
, will build with_FORTIFY_SOURCE
option (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
configure
command when building the included SpiderMonkey. - Adding
–disable-tracejit
is commonly needed to build JS on less common OSs/Architectures. Please file a bug if it's required.
JS_CONFIGURE_ARGS
- Pass to the
configure
command 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
UPROFIE
build (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.