77 lines
1.6 KiB
Python
77 lines
1.6 KiB
Python
# vim: set ts=2 sw=2 tw=99 noet ft=python:
|
|
import os
|
|
|
|
binary = SM.Program(builder, 'spcomp')
|
|
compiler = binary.compiler
|
|
compiler.includes += [
|
|
os.path.join(builder.sourcePath, 'public'),
|
|
os.path.join(builder.sourcePath, 'public', 'sourcepawn'),
|
|
os.path.join(builder.sourcePath, 'sourcepawn', 'compiler'),
|
|
os.path.join(builder.buildPath, 'includes'),
|
|
]
|
|
|
|
if compiler.cc.behavior == 'gcc':
|
|
compiler.cflags += ['-std=c99', '-Wno-format']
|
|
if builder.target_platform == 'linux':
|
|
compiler.postlink += ['-lgcc', '-lm']
|
|
elif compiler.cc.behavior == 'msvc':
|
|
compiler.linkflags.remove('/SUBSYSTEM:WINDOWS')
|
|
compiler.linkflags.append('/SUBSYSTEM:CONSOLE')
|
|
compiler.cxxflags.remove('/TP')
|
|
|
|
if builder.target_platform == 'linux':
|
|
compiler.defines += [
|
|
'LINUX',
|
|
'HAVE_STDINT_H',
|
|
'AMX_ANSIONLY',
|
|
'ENABLE_BINRELOC',
|
|
'_GNU_SOURCE'
|
|
]
|
|
elif builder.target_platform == 'mac':
|
|
compiler.defines += [
|
|
'DARWIN',
|
|
'HAVE_STDINT_H',
|
|
'AMX_ANSIONLY',
|
|
'ENABLE_BINRELOC',
|
|
'HAVE_SAFESTR'
|
|
]
|
|
|
|
binary.sources += [
|
|
'libpawnc.c',
|
|
'lstring.c',
|
|
'memfile.c',
|
|
'pawncc.c',
|
|
'sc1.c',
|
|
'sc2.c',
|
|
'sc3.c',
|
|
'sc4.c',
|
|
'sc5.c',
|
|
'sc6.c',
|
|
'sc7.c',
|
|
'scexpand.c',
|
|
'sci18n.c',
|
|
'sclist.c',
|
|
'scmemfil.c',
|
|
'scstate.c',
|
|
'sctracker.c',
|
|
'scvars.c',
|
|
'sp_file.c',
|
|
'zlib/adler32.c',
|
|
'zlib/compress.c',
|
|
'zlib/crc32.c',
|
|
'zlib/deflate.c',
|
|
'zlib/gzio.c',
|
|
'zlib/infback.c',
|
|
'zlib/inffast.c',
|
|
'zlib/inflate.c',
|
|
'zlib/inftrees.c',
|
|
'zlib/trees.c',
|
|
'zlib/uncompr.c',
|
|
'zlib/zutil.c',
|
|
'sp_symhash.c'
|
|
]
|
|
if builder.target_platform == 'linux':
|
|
binary.sources.append('binreloc.c')
|
|
|
|
SM.spcomp = builder.Add(binary)
|