#! /usr/bin/env python # encoding: utf-8 # a1batross, mittorn, 2018 from waflib import Utils import os def options(opt): return def configure(conf): if conf.env.COMPILER_CC == 'msvc': # hl.def removes MSVC function name decoration from GiveFnptrsToDll on Windows. # Without this, the lookup for this function fails. hlDefNode = conf.path.find_resource("./thewastes.def") if hlDefNode is not None: conf.env.append_value('LINKFLAGS', '/def:%s' % hlDefNode.abspath()) else: conf.fatal("Could not find hl.def") def build(bld): source = [ './animating.cpp', './animation.cpp', './bmodels.cpp', './buttons.cpp', './cbase.cpp', './client.cpp', './combat.cpp', './doors.cpp', './effects.cpp', './explode.cpp', './func_break.cpp', './func_tank.cpp', './game.cpp', './game_deathmatch.cpp', './game_lastmanstanding.cpp', './game_singleplay.cpp', './game_teamplay.cpp', './gamerules.cpp', './ggrenade.cpp', './globals.cpp', './h_ai.cpp', './h_cycler.cpp', './h_export.cpp', './items.cpp', './lights.cpp', './maprules.cpp', './monsters.cpp', './mortar.cpp', './nodes.cpp', './observer.cpp', './pathcorner.cpp', './plane.cpp', './plats.cpp', './player.cpp', '../pm_shared/pm_debug.c', '../pm_shared/pm_math.c', '../pm_shared/pm_shared.c', './schedule.cpp', './scripted.cpp', './skill.cpp', './sound.cpp', './soundent.cpp', './spectator.cpp', './subs.cpp', './thewastes.cpp', './triggers.cpp', './turret.cpp', './wpn_shared/tw_akimbos.cpp', './wpn_shared/tw_automatics.cpp', './wpn_shared/tw_explosives.cpp', './wpn_shared/tw_melee.cpp', './wpn_shared/tw_shotguns.cpp', './wpn_shared/tw_sidearms.cpp', './util.cpp', '../game_shared/voice_gamemgr.cpp', './weapons.cpp', './world.cpp', ] defines = [] includes = [ '.', '../common', '../engine', '../pm_shared', '../game_shared', '../public' ] if bld.env.DEST_OS not in ['android', 'dos']: install_path = os.path.join(bld.env.GAMEDIR, bld.env.SERVER_INSTALL_DIR) else: install_path = bld.env.PREFIX bld.shlib( source = source, target = bld.env.SERVER_LIBRARY_NAME + bld.env.POSTFIX, name = 'server', features = 'c cxx', includes = includes, defines = defines, install_path = install_path, subsystem = bld.env.MSVC_SUBSYSTEM, idx = bld.get_taskgen_count() )