This is an old revision of the document!
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.
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 nspr4
JSINCLUDE- Path to JS headers
JSLIBDIR- Path to JS library.
JSLIB- Library name for SpiderMonkey.
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- 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.
USE_DOSEMU- Add “support” for DOSEMU (unsupported).
DONT_BLAME_SYNCHRONET- Reduces the importance of security to allow rebinding of ports. Please don't use this.