Make sure you're using homebrew for adding libraries like nspr
.
-
Need to specify
clang
so that SpiderMonkey will compileCC=clang CXX=clang++ make install SYMLINK=1
-
Required for SpiderMonkey versions older than 28
brew install nspr
-
To avoid the "object file XXXXXX was built for newer OSX version (10.13) than being linked (10.11)" errors, type the following on the command line:
export MACOSX_DEPLOYMENT_TARGET=10.13
-
Comment out line 73 of
/src/conio/Common.gmake
to avoid "unknown option character `W' in: -Wl,-rpath,@executable_path/../Frameworks" -
Next, remove
-lcc_dynamic
from lines 91-92 of/src/sbbs3/GNUMakefile
:MKSHLIB := libtool -dynamic -framework System MKSHPPLIB := libtool -dynamic -framework System -lstdc++
(include -v if you want debugging output)
-
Fix duplicate symbol errors.
Add "extern" to lines 225-226 of
sbbsecho.h
extern char* pktTypeStringList[PKT_TYPES_SUPPORTED+1]; extern char* mailStatusStringList[4];
Add "extern" to line 103 of
scfg.h
extern char* area_sort_desc[AREA_SORT_TYPES+1];
-
Fix library directories
Prepend "$(SRC_ROOT)$(DIRSEP)sbbs3$(DIRSEP)" to "$@" for each library in
GNUmakefile
. Lines 120, 125, 130, 135, 140Example from Line 120:
$(QUIET)$(MKSHPPLIB) $(LDFLAGS) -o $(SRC_ROOT)$(DIRSEP)sbbs3$(DIRSEP)$@ $(OBJS) $(SBBS_LIBS) $(LIBS) $(SHLIBOPTS) $(JS_LIBS) $(CRYPT_LIBS) $(XPDEV-MT_LIBS) -lsmb
-
After compiling, to make symlinks, use these Mac-specific commands in
/sbbs/exec/
ln -s ../src/sbbs3/clang.*.exe.release/* . ln -s ../src/sbbs3/*/clang.*.exe.release/* .