You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
383 lines
9.2 KiB
383 lines
9.2 KiB
#! /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() |
|
) |
|
|
|
|