49 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			49 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
# vim: set sts=2 ts=8 sw=2 tw=99 et ft=python:
 | 
						|
import os
 | 
						|
 | 
						|
if SM.mysql_root:
 | 
						|
  for arch in SM.archs:
 | 
						|
    binary = SM.ExtLibrary(builder, 'dbi.mysql.ext', arch)
 | 
						|
    binary.compiler.cxxincludes += [
 | 
						|
      os.path.join(SM.mysql_root[arch], '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[arch], 'lib', 'libmysqlclient_r.a'),
 | 
						|
        '-lz',
 | 
						|
        '-lpthread',
 | 
						|
        '-lm',
 | 
						|
      ]
 | 
						|
    if builder.target.platform == 'linux':
 | 
						|
      binary.compiler.postlink += ['-lrt']
 | 
						|
    elif builder.target.platform == 'windows':
 | 
						|
      binary.compiler.defines += ['WIN32_LEAN_AND_MEAN']
 | 
						|
      binary.compiler.postlink += [
 | 
						|
        os.path.join(SM.mysql_root[arch], 'lib', 'mysqlclient.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']
 | 
						|
      binary.compiler.defines += ['HAVE_STRUCT_TIMESPEC']
 | 
						|
 | 
						|
    SM.extensions += [builder.Add(binary)]
 | 
						|
 |