core/logic/AMBuilder
author David Anderson <dvander@alliedmods.net>
Sun Aug 25 11:59:45 2013 -0700 (2013-08-25)
changeset 4064 d7ca1e28949d
parent 4030 eb4df1f7ff3c
child 4137 11a7aa48621c
permissions -rw-r--r--
Switch HandleSys off KTrie (bug 5884 part 2, r=ds).
     1 # vim: set ts=2 sw=2 tw=99 noet ft=python: 
     2 import os
     3 
     4 compiler = SM.DefaultCompiler()
     5 base = AMBuild.sourceFolder
     6 compiler['CXXINCLUDES'].append(os.path.join(SM.mmsPath, 'core', 'sourcehook'))
     7 compiler['CXXINCLUDES'].append(os.path.join(base, 'core', 'logic'))
     8 compiler['CXXINCLUDES'].append(os.path.join(base, 'public'))
     9 compiler['CXXINCLUDES'].append(os.path.join(base, 'public', 'sourcepawn'))
    10 compiler['CXXINCLUDES'].append(os.path.join(base, 'public', 'amtl'))
    11 compiler['CDEFINES'].append('SM_DEFAULT_THREADER')
    12 compiler['CDEFINES'].append('SM_LOGIC')
    13 
    14 if AMBuild.target['platform'] == 'linux':
    15 	compiler['POSTLINKFLAGS'].append('-lpthread')
    16 	compiler['POSTLINKFLAGS'].append('-lrt')
    17 if AMBuild.target['platform'] == 'darwin':
    18 	compiler['CFLAGS'].extend(['-Wno-deprecated-declarations'])
    19 	compiler['POSTLINKFLAGS'].extend(['-framework', 'CoreServices'])
    20 
    21 extension = AMBuild.AddJob('sourcemod.logic')
    22 binary = Cpp.LibraryBuilder('sourcemod.logic', AMBuild, extension, compiler)
    23 files = [
    24 	'common_logic.cpp',
    25 	'smn_adt_array.cpp',
    26 	'smn_sorting.cpp',
    27 	'smn_maplists.cpp',
    28 	'smn_adt_stack.cpp',
    29 	'thread/ThreadWorker.cpp',
    30 	'thread/BaseWorker.cpp',
    31 	'ThreadSupport.cpp',
    32 	'smn_float.cpp',
    33 	'TextParsers.cpp',
    34 	'smn_textparse.cpp',
    35 	'smn_adt_trie.cpp',
    36 	'Profiler.cpp',
    37 	'smn_functions.cpp',
    38 	'smn_timers.cpp',
    39 	'smn_players.cpp',
    40 	'MemoryUtils.cpp',
    41 	'smn_admin.cpp',
    42 	'smn_banning.cpp',
    43 	'smn_filesystem.cpp',
    44 	'stringutil.cpp',
    45 	'Translator.cpp',
    46 	'PhraseCollection.cpp',
    47 	'smn_lang.cpp',
    48 	'smn_string.cpp',
    49 	'smn_handles.cpp',
    50 	'smn_datapacks.cpp',
    51 	'smn_gameconfigs.cpp',
    52 	'smn_fakenatives.cpp',
    53 	'GameConfigs.cpp',
    54 	'sm_crc32.cpp',
    55 	'smn_profiler.cpp',
    56 	'ShareSys.cpp',
    57 	'PluginSys.cpp',
    58 	'HandleSys.cpp',
    59 	'NativeOwner.cpp',
    60 	'NativeInvoker.cpp',
    61 	'ExtensionSys.cpp',
    62 	'DebugReporter.cpp'
    63 	]
    64 if AMBuild.target['platform'] == 'windows':
    65 	files.append('thread/WinThreads.cpp')
    66 else:
    67 	files.append('thread/PosixThreads.cpp')
    68 binary.AddSourceFiles('core/logic', files)
    69 SM.AutoVersion('core/logic', binary)
    70 SM.ExtractDebugInfo(extension, binary)
    71 binary.SendToJob()
    72