dvander@2784: # vim: set ts=2 sw=2 tw=99 noet ft=python: dvander@2784: import os dvander@2784: dvander@2784: compiler = SM.DefaultCompiler() dvander@2784: base = AMBuild.sourceFolder dvander@2784: compiler['CXXINCLUDES'].append(os.path.join(SM.mmsPath, 'core', 'sourcehook')) dvander@2784: compiler['CXXINCLUDES'].append(os.path.join(base, 'core', 'logic')) dvander@2784: compiler['CXXINCLUDES'].append(os.path.join(base, 'public')) dvander@2784: compiler['CXXINCLUDES'].append(os.path.join(base, 'public', 'sourcepawn')) dvander@4030: compiler['CXXINCLUDES'].append(os.path.join(base, 'public', 'amtl')) dvander@2784: compiler['CDEFINES'].append('SM_DEFAULT_THREADER') dvander@2784: compiler['CDEFINES'].append('SM_LOGIC') dvander@2784: dvander@2793: if AMBuild.target['platform'] == 'linux': dvander@2792: compiler['POSTLINKFLAGS'].append('-lpthread') dvander@4025: compiler['POSTLINKFLAGS'].append('-lrt') ds@3295: if AMBuild.target['platform'] == 'darwin': ds@3628: compiler['CFLAGS'].extend(['-Wno-deprecated-declarations']) ds@3295: compiler['POSTLINKFLAGS'].extend(['-framework', 'CoreServices']) dvander@2792: dvander@2784: extension = AMBuild.AddJob('sourcemod.logic') dvander@2784: binary = Cpp.LibraryBuilder('sourcemod.logic', AMBuild, extension, compiler) dvander@2784: files = [ dvander@2784: 'common_logic.cpp', dvander@2784: 'smn_adt_array.cpp', dvander@2784: 'smn_sorting.cpp', dvander@2784: 'smn_maplists.cpp', skamonkey@4137: 'ADTFactory.cpp', dvander@2784: 'smn_adt_stack.cpp', dvander@2784: 'thread/ThreadWorker.cpp', dvander@2784: 'thread/BaseWorker.cpp', dvander@2784: 'ThreadSupport.cpp', dvander@2784: 'smn_float.cpp', dvander@2784: 'TextParsers.cpp', dvander@2784: 'smn_textparse.cpp', dvander@2784: 'smn_adt_trie.cpp', dvander@2784: 'Profiler.cpp', dvander@2906: 'smn_functions.cpp', dvander@2989: 'smn_timers.cpp', dvander@2996: 'smn_players.cpp', dvander@2999: 'MemoryUtils.cpp', dvander@3000: 'smn_admin.cpp', dvander@3001: 'smn_banning.cpp', dvander@3791: 'smn_filesystem.cpp', dvander@3002: 'stringutil.cpp', dvander@3004: 'Translator.cpp', dvander@3004: 'PhraseCollection.cpp', dvander@3004: 'smn_lang.cpp', dvander@3006: 'smn_string.cpp', dvander@3008: 'smn_handles.cpp', dvander@3009: 'smn_datapacks.cpp', dvander@3010: 'smn_gameconfigs.cpp', dvander@3872: 'smn_fakenatives.cpp', dvander@3010: 'GameConfigs.cpp', dvander@3270: 'sm_crc32.cpp', dvander@3792: 'smn_profiler.cpp', dvander@3872: 'ShareSys.cpp', dvander@3872: 'PluginSys.cpp', dvander@3872: 'HandleSys.cpp', dvander@3872: 'NativeOwner.cpp', dvander@3872: 'NativeInvoker.cpp', dvander@3872: 'ExtensionSys.cpp', skamonkey@4138: 'DebugReporter.cpp', skamonkey@4138: 'Database.cpp', skamonkey@4138: 'smn_database.cpp', skamonkey@4139: 'ForwardSys.cpp', dvander@2784: ] dvander@2784: if AMBuild.target['platform'] == 'windows': dvander@2784: files.append('thread/WinThreads.cpp') dvander@2784: else: dvander@2784: files.append('thread/PosixThreads.cpp') dvander@2784: binary.AddSourceFiles('core/logic', files) dvander@2784: SM.AutoVersion('core/logic', binary) asherkin@3835: SM.ExtractDebugInfo(extension, binary) dvander@2784: binary.SendToJob() dvander@2784: