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

You can donate to the Synchronet project using PayPal.

This is an old revision of the document!


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.

  • 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.
  • DEBUG
    • If defined, or if RELEASE is not defined, does a debug build.
  • RELEASE
    • If defined, does a release build (no debug information).
  • 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
    • 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
    • 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.
  • CRYPTLIBINCLUDE
    • Path to Cryptlib header files
  • CRYPTLIBDIR
    • Path to Cyrptlib library
  • CRYPT_LIBS
    • Library link specifier (ie: -lcl or /path/to/libcl.a)
  • JS_CONFIGURE_ARGS
    • Pass to the configure command when building the included SpiderMonkey.
  • 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 for audio only, not graphics.
  • WITHOUT_SDL
    • Do not attempt to use the SDL library for anything.

See Also