amxmodx/modules/mysqlx/AMBuilder
Karol Szuster d6e71c8f4f Little cleanup (#461)
* Remove FAKEMETA leftovers

* Move "require_module" native to where it belongs

* Remove broken AMX module support

* Remove useless natives

* Remove "alloc_amxmemory" and "free_amxmemory" functions

* Remove "strip_name" function

* Clean engine a bit

* Export "GiveFnptrsToDll" (Windows) (Core)

* memcpy -> ke::SafeStrcpy

* Export GiveFnptrsToDll in modules

* Update msvc project files
2017-12-07 18:45:16 +01:00

74 lines
1.9 KiB
Python

# vim: set sts=2 ts=8 sw=2 tw=99 et ft=python:
import os.path
if AMXX.mysql_path:
binary = AMXX.MetaModule(builder, 'mysql')
binary.compiler.cxxincludes += [
os.path.join(AMXX.mysql_path, 'include'),
os.path.join(builder.currentSourcePath, 'mysql'),
os.path.join(builder.currentSourcePath, 'thread'),
]
binary.compiler.defines += [
'SM_DEFAULT_THREADER',
'HAVE_STDINT_H',
]
binary.sources = []
if builder.target_platform is 'linux' or builder.target_platform is 'mac':
binary.compiler.defines += ['stricmp=strcasecmp']
binary.compiler.linkflags += [
os.path.join(AMXX.mysql_path, 'lib', 'libmysqlclient_r.a'),
'-lpthread',
'-lm',
]
if builder.target_platform is 'linux':
binary.compiler.linkflags += [
'-lrt'
]
elif builder.target_platform is 'windows':
binary.compiler.linkflags += [
os.path.join(AMXX.mysql_path, 'lib', 'mysqlclient.lib'),
'ws2_32.lib',
'/EXPORT:GiveFnptrsToDll=_GiveFnptrsToDll@8,@1',
'/SECTION:.data,RW'
]
if binary.compiler.vendor == 'msvc' and binary.compiler.version >= 1900:
binary.compiler.linkflags += ['legacy_stdio_definitions.lib', 'legacy_stdio_wide_specifiers.lib']
binary.sources += [
'msvc15hack.c'
]
binary.compiler.linkflags += [AMXX.zlib.binary]
binary.sources += [
'basic_sql.cpp',
'handles.cpp',
'module.cpp',
'threading.cpp',
'../../public/sdk/amxxmodule.cpp',
'oldcompat_sql.cpp',
'thread/BaseWorker.cpp',
'thread/ThreadWorker.cpp',
'mysql/MysqlQuery.cpp',
'mysql/MysqlResultSet.cpp',
'mysql/MysqlDatabase.cpp',
'mysql/MysqlDriver.cpp',
]
if builder.target_platform == 'windows':
binary.sources += ['version.rc']
if builder.target_platform == 'windows':
binary.sources += [
'thread/WinThreads.cpp',
]
else:
binary.sources += [
'thread/PosixThreads.cpp',
]
AMXX.modules += [builder.Add(binary)]