source-engine/engine/wscript

384 lines
9.2 KiB
Python
Executable File

#! /usr/bin/env python
# encoding: utf-8
from waflib import Utils
import os
top = '.'
PROJECT_NAME = 'engine'
def options(opt):
# stub
return
def configure(conf):
if conf.options.DEDICATED:
conf.define('SWDS', 1)
conf.define('NO_STEAM', 1)
else:
if conf.env.DEST_OS == 'darwin':
conf.define('HAVE_OPENAL', 1)
conf.env.append_unique('DEFINES',[
'__USEA3D',
'_ADD_EAX_',
'ENGINE_DLL',
'VERSION_SAFE_STEAM_API_INTERFACES',
'USE_BREAKPAD_HANDLER',
'USE_CONVARS',
'VOICE_OVER_IP'
])
def build(bld):
source = [
'socketcreator.cpp',
'clientframe.cpp',
'decal_clip.cpp',
'demofile.cpp',
'DevShotGenerator.cpp',
'OcclusionSystem.cpp',
'tmessage.cpp',
'baseclient.cpp',
'baseclientstate.cpp',
'cbenchmark.cpp',
'console.cpp',
'render_pch.cpp',
'decals.cpp',
'disp.cpp',
'disp_interface.cpp',
'disp_mapload.cpp',
'gl_draw.cpp',
'gl_rsurf.cpp',
'gl_shader.cpp',
'l_studio.cpp',
'matsys_interface.cpp',
'modelloader.cpp',
'Overlay.cpp',
'r_decal.cpp',
'r_linefile.cpp',
'server_pch.cpp',
'sv_ipratelimit.cpp',
'sv_rcon.cpp',
'sv_steamauth.cpp',
'sv_uploaddata.cpp',
'sv_uploadgamestats.cpp',
'vengineserver_impl.cpp',
'sv_main.cpp',
'sv_client.cpp',
'sv_ents_write.cpp',
'sv_filter.cpp',
'sv_framesnapshot.cpp',
'sv_log.cpp',
'sv_packedentities.cpp',
'sv_plugin.cpp',
'sv_precache.cpp',
'sv_redirect.cpp',
'sv_remoteaccess.cpp',
'baseautocompletefilelist.cpp',
'baseserver.cpp',
'bitbuf_errorhandler.cpp',
'../public/blockingudpsocket.cpp',
'../public/bsptreedata.cpp',
'../public/builddisp.cpp',
'changeframelist.cpp',
'checksum_engine.cpp',
'ccs.cpp',
'clockdriftmgr.cpp',
'cl_check_process.cpp',
'cmd.cpp',
'cmodel.cpp',
'cmodel_bsp.cpp',
'cmodel_disp.cpp',
'../public/collisionutils.cpp',
'common.cpp',
'../public/crtmemdebug.cpp',
'cvar.cpp',
'../public/disp_common.cpp',
'disp_defs.cpp',
'disp_helpers.cpp',
'../public/disp_powerinfo.cpp',
'../public/dispcoll_common.cpp',
'DownloadListGenerator.cpp',
'dt.cpp',
'dt_common_eng.cpp',
'dt_encode.cpp',
'dt_instrumentation.cpp',
'dt_instrumentation_server.cpp',
'dt_localtransfer.cpp',
'../public/dt_recv.cpp',
'dt_recv_decoder.cpp',
'dt_recv_eng.cpp',
'../public/dt_send.cpp',
'dt_send_eng.cpp',
'dt_stack.cpp',
'dt_test.cpp',
'../public/dt_utlvector_common.cpp',
'../public/dt_utlvector_recv.cpp',
'../public/dt_utlvector_send.cpp',
'enginesingleuserfilter.cpp',
'enginestats.cpp',
'enginethreads.cpp',
'enginetrace.cpp',
'filesystem_engine.cpp',
'../public/filesystem_helpers.cpp',
'../public/filesystem_init.cpp',
'filetransfermgr.cpp',
'GameEventManager.cpp',
'GameEventManagerOld.cpp',
'gametrace_engine.cpp',
'hltvclient.cpp',
'hltvclientstate.cpp',
'hltvdemo.cpp',
'hltvserver.cpp',
'hltvtest.cpp',
'host.cpp',
'host_cmd.cpp',
'host_listmaps.cpp',
'host_phonehome.cpp',
'host_state.cpp',
'initmathlib.cpp',
'../common/language.cpp',
'LocalNetworkBackdoor.cpp',
'../public/lumpfiles.cpp',
'MapReslistGenerator.cpp',
'materialproxyfactory.cpp',
'mem_fgets.cpp',
'mod_vis.cpp',
'ModelInfo.cpp',
'net_chan.cpp',
'net_synctags.cpp',
'net_ws.cpp',
'net_ws_queued_packet_sender.cpp',
'../common/netmessages.cpp',
'../common/steamid.cpp',
'networkstringtable.cpp',
'NetworkStringTableItem.cpp',
'networkstringtableserver.cpp',
'../public/networkvar.cpp',
'packed_entity.cpp',
'pure_server.cpp',
'pr_edict.cpp',
'precache.cpp',
'quakedef.cpp',
'randomstream.cpp',
'../common/randoverride.cpp',
'../public/registry.cpp',
'engine_replay_int.cpp',
'replay_internal.cpp',
'replaydemo.cpp',
'replayserver.cpp',
'../public/sentence.cpp',
'sound_shared.cpp',
'spatialpartition.cpp',
'staticpropmgr.cpp',
'../public/studio.cpp',
'sys_dll.cpp',
'sys_dll2.cpp',
'sys_engine.cpp',
'testscriptmgr.cpp',
'traceinit.cpp',
'../public/vallocator.cpp',
'voiceserver_impl.cpp',
'vprof_engine.cpp',
'vprof_record.cpp',
'world.cpp',
'../public/XZip.cpp',
'../public/XUnzip.cpp',
'zone.cpp',
'cheatcodes.cpp',
'../public/editor_sendcommand.cpp',
'keys.cpp',
'networkstringtableclient.cpp',
'../public/scratchpad3d.cpp',
'servermsghandler.cpp',
'../common/SourceAppInfo.cpp',
'snd_io.cpp',
'EngineSoundServer.cpp',
'audio/voice_wavefile.cpp',
'audio/vox.cpp',
'masterserver.cpp',
#'audio/snd_dev_xaudio.cpp',[$X360]
#'audio/snd_wave_mixer_xma.cpp', [$X360]
#'audio/snd_dev_openal.cpp', # [$OSXALL]
#'audio/snd_dev_mac_audioqueue.cpp',# [$OSXALL]
#'audio/voice_record_mac_audioqueue.cpp', #[$OSXALL]
]
if bld.env.SDL:
source += [
'audio/voice_record_sdl.cpp' #[$OSXALL||$LINUXALL]
]
if bld.env.DEST_OS != "darwin":
source += ['audio/snd_dev_sdl.cpp']
source_win = [
'audio/snd_dev_direct.cpp',
'audio/snd_dev_wave.cpp',
'audio/voice_mixer_controls.cpp',
'audio/voice_record_dsound.cpp'
]
if bld.env.DEST_OS == 'win32':
source += ['../public/tier0/memoverride.cpp']
else:
source += ['audio/snd_posix.cpp']
if bld.env.DEDICATED:
source += ['cl_null.cpp', 'sys_stubwind.cpp']
else:
source += source_win if bld.env.DEST_OS == 'win32' else ['sys_stubwind.cpp']
source += [
'client_pch.cpp',
'cl_rcon.cpp',
'r_efx.cpp',
'view.cpp',
'rpt_engine.cpp',
'cl_steamauth.cpp',
'cdll_engine_int.cpp',
'cl_main.cpp',
'cl_demo.cpp',
'cl_demoaction.cpp',
'cl_demoaction_types.cpp',
'cl_demoactioneditors.cpp',
'cl_demoactionmanager.cpp',
'cl_demoeditorpanel.cpp',
'cl_demosmootherpanel.cpp',
'cl_demouipanel.cpp',
'cl_foguipanel.cpp',
'cl_txviewpanel.cpp',
'cl_entityreport.cpp',
'cl_ents_parse.cpp',
'cl_localnetworkbackdoor.cpp',
'cl_parse_event.cpp',
'cl_pluginhelpers.cpp',
'cl_pred.cpp',
'cl_texturelistpanel.cpp',
'client.cpp',
'colorcorrectionpanel.cpp',
'buildcubemaps.cpp',
'debug_leafvis.cpp',
'debugoverlay.cpp',
'LoadScreenUpdate.cpp',
'enginetool.cpp',
'gl_drawlights.cpp',
'gl_lightmap.cpp',
'gl_matsysiface.cpp',
'gl_rlight.cpp',
'gl_rmain.cpp',
'gl_rmisc.cpp',
'gl_screen.cpp',
'gl_warp.cpp',
'r_areaportal.cpp',
'shadowmgr.cpp',
'cl_bounded_cvars.cpp',
'downloadthread.cpp',
'matchmakinghost.cpp',
'matchmakingqos.cpp',
'matchmakingclient.cpp',
'matchmakingshared.cpp',
'matchmakingmigrate.cpp',
'replaydemoplayer.cpp',
'Session.cpp',
'sys_mainwind.cpp',
'bugreporter.cpp',
'download.cpp',
'host_saverestore.cpp',
'lightcache.cpp',
'saverestore_filesystem.cpp',
'sys_getmodes.cpp',
'vgui_askconnectpanel.cpp',
'xboxsystem.cpp',
# 'audio/audio_pch.cpp',
'EngineSoundClient.cpp',
'engsoundservice.cpp',
'audio/MPAFile.cpp', #[!$X360]
'audio/MPAHeader.cpp', #[!$X360]
'audio/circularbuffer.cpp',
'audio/snd_dev_common.cpp',
'audio/snd_dma.cpp',
'audio/snd_dsp.cpp',
'audio/snd_mix.cpp',
'audio/snd_sentence_mixer.cpp',
'audio/snd_wave_data.cpp',
'audio/snd_wave_mixer.cpp',
'audio/snd_wave_mixer_adpcm.cpp',
'audio/snd_wave_source.cpp',
'audio/snd_wave_temp.cpp',
'audio/snd_win.cpp',
'audio/voice_gain.cpp',
'audio/snd_mp3_source.cpp',
'audio/snd_wave_mixer_mp3.cpp',
'audio/VBRHeader.cpp', #[!$X360]
'audio/voice.cpp', #[!$X360]
'audio/voice_sound_engine_interface.cpp', #[!$X360]
'../public/vgui_controls/vgui_controls.cpp',
'../common/vgui/vgui_basebudgetpanel.cpp',
'../common/vgui/vgui_budgetbargraphpanel.cpp',
'../common/vgui/vgui_budgethistorypanel.cpp',
'../common/vgui/vgui_budgetpanelshared.cpp',
'perfuipanel.cpp',
'vgui_basepanel.cpp',
'vgui_baseui_interface.cpp',
'vgui_budgetpanel.cpp',
'vgui_DebugSystemPanel.cpp',
'vgui_drawtreepanel.cpp',
'vgui_helpers.cpp',
'vgui_texturebudgetpanel.cpp',
'vgui_vprofgraphpanel.cpp',
'vgui_vprofpanel.cpp',
'toolframework.cpp',
]
if bld.env.DEST_OS != 'win32':
source += [
'audio/voice_mixer_controls_openal.cpp', #[$OSXALL||$LINUXALL]
'audio/voice_record_openal.cpp' #[$OSXALL||$LINUXALL]
]
if bld.env.DEST_OS == 'darwin':
source += [
'audio/snd_dev_openal.cpp', # [$OSXALL]
'audio/snd_dev_mac_audioqueue.cpp',# [$OSXALL]
'audio/voice_record_mac_audioqueue.cpp', #[$OSXALL]
]
includes = [
'.',
'../public',
'../public/tier0',
'../public/tier1',
'../common',
'audio',
'../public/engine/audio/',
'audio/',
]
defines = []
libs = ['tier0','vgui_controls','dmxloader','tier1','tier2','tier3','bitmap','vstdlib','appframework','datamodel','vtf','mathlib','steam_api','matsys_controls','BZ2','SDL2','JPEG','ZLIB','OPENAL','CURL' ]
if bld.env.DEST_OS == 'android':
libs += ['SSL', 'CRYPTO'] # android curl was built with openssl
elif bld.env.DEST_OS == 'win32':
libs += ['USER32', 'WINMM', 'WININET', 'DSOUND', 'DXGUID', 'GDI32', 'bzip2']
elif bld.env.DEST_OS == 'darwin' and not bld.env.DEDICATED:
libs += ['APPKIT', 'COREAUDIO', 'AUDIOTOOLBOX', 'SYSTEMCONFIGURATION']
install_path = bld.env.LIBDIR
bld.shlib(
source = source,
target = PROJECT_NAME,
name = PROJECT_NAME,
features = 'c cxx',
includes = includes,
defines = defines,
use = libs,
install_path = install_path,
subsystem = bld.env.MSVC_SUBSYSTEM,
idx = bld.get_taskgen_count()
)