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

Both sides previous revisionPrevious revision
Next revision
Previous revision
install:nix:options [2012/10/15 14:48] – [Options] Break up into sections. 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 ===== ===== Supported Options =====
   * ''DEBUG''   * ''DEBUG''
     * If defined, or if ''RELEASE'' is not defined, does a debug build.     * 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''   * ''RELEASE''
     * If defined, does a release build (no debug information).     * If defined, does a release build (no debug information).
Line 12: Line 16:
     * Extra CFLAGS for compiling against JS     * Extra CFLAGS for compiling against JS
   * ''JS_LDFLAGS''   * ''JS_LDFLAGS''
-    * Extra LDFLAGS for linking agsint nspr4+    * Extra LDFLAGS for linking agsint JS
   * ''JSINCLUDE''   * ''JSINCLUDE''
     * Path to JS headers     * Path to JS headers
Line 19: Line 23:
   * ''JSLIB''   * ''JSLIB''
     * Library name for SpiderMonkey.     * 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''   * ''JS_CONFIGURE_ARGS''
     * Pass to the ''configure'' command when building the included SpiderMonkey.     * Pass to the ''configure'' command when building the included SpiderMonkey.
Line 61: Line 68:
   * ''GCOV''   * ''GCOV''
     * Generates binaries that produce gcov data     * Generates binaries that produce gcov data
-  * ''DONT_CLOBBER_CC'' +  * ''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 bith CC *and* this option.+    * 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''   * ''OBJPATH_SUFFIX''
     * Adds the specified string to the object path.     * Adds the specified string to the object path.
Line 73: Line 80:
   * ''WITHOUT_PORTAUDIO''   * ''WITHOUT_PORTAUDIO''
     * Do not attempt to support portaudio.     * Do not attempt to support portaudio.
-  * ''USE_DOSEMU'' 
-    * Add "support" for DOSEMU (unsupported). 
   * ''DONT_BLAME_SYNCHRONET''   * ''DONT_BLAME_SYNCHRONET''
     * Reduces the importance of security to allow rebinding of ports.  Please don't use this.     * Reduces the importance of security to allow rebinding of ports.  Please don't use this.