Get parity with makefile flags.
Former-commit-id: d1ee3b078001fc2bd5f0454cf457897cd0a0a817
This commit is contained in:
parent
0748a05bf0
commit
90b2860fd2
|
@ -101,21 +101,53 @@ class AMXXConfig(object):
|
||||||
have_gcc = cxx.name == 'gcc'
|
have_gcc = cxx.name == 'gcc'
|
||||||
have_clang = cxx.name == 'clang'
|
have_clang = cxx.name == 'clang'
|
||||||
|
|
||||||
|
if have_clang or (have_gcc and cxx.majorVersion >= 4):
|
||||||
|
cfg.cflags += ['-fvisibility=hidden']
|
||||||
|
cfg.cxxflags += ['-fvisibility-inlines-hidden']
|
||||||
|
if (have_gcc and cxx.minorVersion >= 7) or (have_clang and cxx.majorVersion >= 3):
|
||||||
|
cfg.cxxflags += ['-Wno-delete-non-virtual-dtor']
|
||||||
|
|
||||||
if have_gcc:
|
if have_gcc:
|
||||||
cfg.cflags += ['-Wno-parentheses']
|
cfg.cflags += ['-Wno-parentheses']
|
||||||
elif have_clang:
|
elif have_clang:
|
||||||
cfg.cflags += ['-Wno-logical-op-parentheses']
|
cfg.cflags += ['-Wno-logical-op-parentheses']
|
||||||
|
|
||||||
|
cfg.cxxflags += [
|
||||||
|
'-fno-exceptions',
|
||||||
|
'-fno-rtti',
|
||||||
|
]
|
||||||
|
|
||||||
|
# Optimization
|
||||||
|
if builder.options.opt == '1':
|
||||||
|
cfg.defines += ['NDEBUG']
|
||||||
|
if cxx.behavior == 'gcc':
|
||||||
|
cfg.cflags += ['-O2']
|
||||||
|
elif cxx.behavior == 'msvc':
|
||||||
|
cfg.cflags += ['/Ox']
|
||||||
|
cfg.linkflags += ['/OPT:ICF', '/OPT:REF']
|
||||||
|
|
||||||
|
# Debugging
|
||||||
|
if builder.options.debug == '1':
|
||||||
|
cfg.defines += ['DEBUG', '_DEBUG']
|
||||||
|
if cxx.behavior == 'msvc':
|
||||||
|
cfg.cflags += ['/Od', '/RTC1']
|
||||||
|
|
||||||
|
# This needs to be after our optimization flags which could otherwise disable it.
|
||||||
|
if cxx.name == 'msvc':
|
||||||
|
# Don't omit the frame pointer.
|
||||||
|
cfg.cflags += ['/Oy-']
|
||||||
|
|
||||||
# Platform-specifics
|
# Platform-specifics
|
||||||
if builder.target_platform == 'linux':
|
if builder.target_platform == 'linux':
|
||||||
cfg.defines += ['_LINUX', 'POSIX', 'LINUX']
|
cfg.defines += ['_LINUX', 'POSIX', 'LINUX']
|
||||||
|
cfg.postlink += ['-ldl']
|
||||||
if cxx.name == 'gcc':
|
if cxx.name == 'gcc':
|
||||||
cfg.linkflags += ['-static-libgcc']
|
cfg.postlink += ['-static-libgcc']
|
||||||
elif cxx.name == 'clang':
|
elif cxx.name == 'clang':
|
||||||
cfg.linkflags += ['-lgcc_eh']
|
cfg.postlink += ['-lgcc_eh']
|
||||||
elif builder.target_platform == 'mac':
|
elif builder.target_platform == 'mac':
|
||||||
cfg.defines += ['OSX', '_OSX', 'POSIX']
|
cfg.defines += ['OSX', '_OSX', 'POSIX']
|
||||||
cfg.linkflags += [
|
cfg.postlink += [
|
||||||
'-mmacosx-version-min=10.5',
|
'-mmacosx-version-min=10.5',
|
||||||
'-arch', 'i386',
|
'-arch', 'i386',
|
||||||
'-lstdc++',
|
'-lstdc++',
|
||||||
|
|
|
@ -6,6 +6,7 @@ binary = AMXX.Program(builder, 'amxxpc')
|
||||||
binary.compiler.defines += [
|
binary.compiler.defines += [
|
||||||
'AMX_ANSIONLY',
|
'AMX_ANSIONLY',
|
||||||
]
|
]
|
||||||
|
binary.compiler.cxxflags.remove('-fno-exceptions')
|
||||||
|
|
||||||
if builder.target_platform == 'linux':
|
if builder.target_platform == 'linux':
|
||||||
binary.compiler.postlink += [
|
binary.compiler.postlink += [
|
||||||
|
|
|
@ -16,14 +16,14 @@ if AMXX.mysql_path:
|
||||||
]
|
]
|
||||||
|
|
||||||
if builder.target_platform is 'linux' or builder.target_platform is 'mac':
|
if builder.target_platform is 'linux' or builder.target_platform is 'mac':
|
||||||
binary.compiler.postlink += [
|
binary.compiler.linkflags += [
|
||||||
os.path.join(AMXX.mysql_path, 'lib', 'libmysqlclient_r.a'),
|
os.path.join(AMXX.mysql_path, 'lib', 'libmysqlclient_r.a'),
|
||||||
'-lz',
|
'-lz',
|
||||||
'-lpthread',
|
'-lpthread',
|
||||||
'-lm'
|
'-lm'
|
||||||
]
|
]
|
||||||
elif builder.target_platform is 'windows':
|
elif builder.target_platform is 'windows':
|
||||||
binary.compiler.postlink += [
|
binary.compiler.linkflags += [
|
||||||
os.path.join(AMXX.mysql_path, 'lib', 'opt', 'mysqlclient.lib'),
|
os.path.join(AMXX.mysql_path, 'lib', 'opt', 'mysqlclient.lib'),
|
||||||
os.path.join(AMXX.mysql_path, 'lib', 'opt', 'zlib.lib'),
|
os.path.join(AMXX.mysql_path, 'lib', 'opt', 'zlib.lib'),
|
||||||
'wsock32.lib'
|
'wsock32.lib'
|
||||||
|
|
Loading…
Reference in New Issue
Block a user