Synchronet v3.19b-Win32 (install) has been released (Jan-2022).

You can donate to the Synchronet project using PayPal.

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
install:nix:options [2012/10/15 14:19] – created deuceinstall:nix:options [2023/06/06 18:21] (current) – [Supported Options] document the FORTIFY and SANITIZE options (not that anyone likely finds/reads this page anyway) digital man
Line 1: Line 1:
 ====== Options ====== ====== Options ======
-The Synchronet builds system supports a vast array of build options most of which are only slightly supported.  This pages attempts to document them for advanced users.+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 ''[[https://www.redhat.com/en/blog/enhance-application-security-fortifysource|_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 [[https://gitlab.synchro.net/main/sbbs/-/issues/new|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.
  
 ===== See Also ===== ===== See Also =====
   * [[:install:nix:|install:nix index]]   * [[:install:nix:|install:nix index]]