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:43] – [Options] Flesh it out... ordering leaves much to be desired. 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.
  
-  * ''SRC_ROOT'' +===== Supported Options =====
-    * 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.+
   * ''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).
-  * ''PROFILE'' + 
-    * Generates binaries that create gprof detail files (GCC/DEBUG only) +===== SpiderMonkey Options =====
-  * ''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'' +
-    * 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. +
-  * 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. +
-  * ''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+
   * ''JS_CFLAGS''   * ''JS_CFLAGS''
     * 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 48: 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''
 +    * Pass to the ''configure'' command when building the included SpiderMonkey.
 +
 +===== Cryptlib Options =====
   * ''CRYPTLIBINCLUDE''   * ''CRYPTLIBINCLUDE''
     * Path to Cryptlib header files     * Path to Cryptlib header files
Line 54: Line 36:
   * ''CRYPT_LIBS''   * ''CRYPT_LIBS''
     * Library link specifier (ie: -lcl or /path/to/libcl.a)     * Library link specifier (ie: -lcl or /path/to/libcl.a)
-  * ''JS_CONFIGURE_ARGS'' + 
-    * Pass to the ''configure'' command when building the included SpiderMonkey. +===== SDL Options =====
-  * ''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.+
   * ''USE_SDL_AUDIO''   * ''USE_SDL_AUDIO''
     * Use SDL for audio only, not graphics.     * Use SDL for audio only, not graphics.
   * ''WITHOUT_SDL''   * ''WITHOUT_SDL''
     * Do not attempt to use the SDL library for anything.     * 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]]
  
install/nix/options.1350337418.txt · Last modified: 2012/10/15 14:43 by deuce
Back to top
CC Attribution 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0