Synchronet now requires the libarchive development package (e.g. libarchive-dev on Debian-based Linux distros, libarchive.org for more info) to build successfully.

COMPILING 1.93 KB
Newer Older
deuce's avatar
deuce committed
1 2 3 4 5 6 7 8 9 10
To build SyncTERM, you *will need* the following bits from the Synchronet CVS
tree:

src/build/*
src/conio/*
src/sbbs3/telnet.c
src/sbbs3/telnet.h
src/sbbs3/zmodem.c
src/sbbs3/zmodem.h
src/sbbs3/xmodem.h
deuce's avatar
deuce committed
11
src/sbbs3/sexyz.h
deuce's avatar
deuce committed
12 13
src/hash/*
src/encode/*
deuce's avatar
deuce committed
14 15 16
src/syncterm/*
src/uifc/*
src/xpdev/*
deuce's avatar
deuce committed
17
src/comio/*
deuce's avatar
deuce committed
18 19 20 21 22
3rdp/build/Common.gmake
3rdp/build/Common.make
3rdp/build/GNUmakefile
3rdp/build/targets.mk
3rdp/dist/cryptlib.zip
deuce's avatar
deuce committed
23
3rdp/dist/*.patch
deuce's avatar
deuce committed
24 25 26 27 28 29

The directory structure under src *must* be kept intact.  Once you have all
this in place, a simple "make" should build everything you need.  If you're
using *nix you must use GNU Make... under some systems (Such a most BSDs) this
is optional and installed as "gmake" rather than "make".

30 31 32 33 34 35 36 37
When building from the source archive, need to set SRC_ROOT to the extracted
path name to locate the bundled 3rd party sources like so:
make SRC_ROOT=/path/to/syncterm-20120226
This can be done using backticks as well:
make SRC_ROOT=`cd .. ; pwd`
or:
make SRC_ROOT=`realpath ..`

deuce's avatar
deuce committed
38 39
Refer to src/build/Common.gmake or src/build/Common.bmake for details of some
of the make options the build system supports.
deuce's avatar
deuce committed
40 41

Release builds for Mac OS X use the following command line:
42
make RELEASE=1 USE_SDL_AUDIO=1 PREFIX=/usr
43 44 45

The package is generated and copied do a disk image which is then converted
with the following command:
46
hdiutil convert ~/Desktop/SyncTERM.dmg -format UDRO -o /Volumes/Synchronet/sbbs/web/root/syncterm.bbsdev.net/SyncTERM.dmg -ov
deuce's avatar
deuce committed
47 48 49

Release builds for Win32 using MinGW32 use the following command line:
gmake DONT_CLOBBER_CC=yes CC=mingw32-gcc VERBOSE=please AR=mingw32-ar RANLIB=mingw32-ranlib RELEASE=1 CXX=mingw32-g++ WINDRES=mingw32-windres
50 51 52

Release builds of jsdoor (not related at all)
gmake jsdoor DONT_CLOBBER_CC=yes CC=mingw32-gcc VERBOSE=please AR=mingw32-ar RANLIB=mingw32-ranlib RELEASE=1 CXX=mingw32-g++ WINDRES=mingw32-windres JSLIBDIR=../../3rdp/win32.release/mozjs/bin/ JSINCLUDE=../../3rdp/win32.release/mozjs/include/ JSLIB=mozjs