47 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			47 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| # vim: set sts=2 ts=8 sw=2 tw=99 et ft=python:
 | |
| import os
 | |
| 
 | |
| if SM.mysql_root:
 | |
|   binary = SM.ExtLibrary(builder, 'dbi.mysql.ext')
 | |
|   binary.compiler.cxxincludes += [
 | |
|     os.path.join(SM.mysql_root, 'include'),
 | |
|     os.path.join(SM.mms_root, 'core', 'sourcehook')
 | |
|   ]
 | |
|   if binary.compiler.family == 'gcc' or binary.compiler.family == 'clang':
 | |
|     binary.compiler.cxxflags += ['-fno-rtti']
 | |
|   elif binary.compiler.family == 'msvc':
 | |
|     binary.compiler.cxxflags += ['/GR-']
 | |
| 
 | |
|   if builder.target.platform == 'linux' or builder.target.platform == 'mac':
 | |
|     binary.compiler.postlink += [
 | |
|       os.path.join(SM.mysql_root, 'lib', 'libmysqlclient_r.a'),
 | |
|       '-lz',
 | |
|       '-lpthread',
 | |
|       '-lm',
 | |
|     ]
 | |
|   if builder.target.platform == 'linux':
 | |
|     binary.compiler.postlink += ['-lrt']
 | |
|   elif builder.target.platform == 'windows':
 | |
|     binary.compiler.postlink += [
 | |
|       os.path.join(SM.mysql_root, 'lib', 'opt', 'mysqlclient.lib'),
 | |
|       os.path.join(SM.mysql_root, 'lib', 'opt', 'zlib.lib'),
 | |
|       'wsock32.lib'
 | |
|     ]
 | |
| 
 | |
|   binary.sources += [
 | |
|     '../../public/smsdk_ext.cpp',
 | |
|     'mysql/MyBasicResults.cpp',
 | |
|     'mysql/MyBoundResults.cpp',
 | |
|     'mysql/MyDatabase.cpp',
 | |
|     'mysql/MyDriver.cpp',
 | |
|     'mysql/MyStatement.cpp',
 | |
|     'extension.cpp'
 | |
|   ]
 | |
|   
 | |
|   if binary.compiler.family == 'msvc' and binary.compiler.version >= 1900:
 | |
|     binary.sources += [ 'msvc15hack.c' ]
 | |
|     binary.compiler.linkflags += ['legacy_stdio_definitions.lib', 'legacy_stdio_wide_specifiers.lib']
 | |
| 
 | |
|   SM.extensions += [builder.Add(binary)]
 | |
| 
 |