Make sure you're using homebrew for adding libraries like nspr.
-
Need to specify
clangso 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.gmaketo avoid "unknown option character `W' in: -Wl,-rpath,@executable_path/../Frameworks" -
Next, remove
-lcc_dynamicfrom 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.hextern char* pktTypeStringList[PKT_TYPES_SUPPORTED+1]; extern char* mailStatusStringList[4];Add "extern" to line 103 of
scfg.hextern 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/* .