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.
install/nix/options.1350337696.txt · Last modified: 2012/10/15 14:48 by deuce
Back to top
CC Attribution 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0