Browse Source

Build: Fixed GiveFnptrsToDll not being found on Windows

Also fixed server DLL being named server.dll instead of hl.dll.
half-secret
Jonathan Poncelet 5 years ago
parent
commit
1bc65c15f5
  1. 19
      dlls/wscript
  2. 19
      wscript

19
dlls/wscript

@ -4,21 +4,28 @@ @@ -4,21 +4,28 @@
from waflib import Utils
import os
def options(opt):
# stub
return
def configure(conf):
# stub
return
if conf.env.DEST_OS == 'win32':
# hl.def removes MSVC function name decoration from GiveFnptrsToDll on Windows.
# Without this, the lookup for this function fails.
hlDefNode = conf.path.find_resource("./hl.def")
if hlDefNode is not None:
conf.env.append_unique('LINKFLAGS', f'/def:{hlDefNode.abspath()}')
else:
conf.fatal("Could not find hl.def")
def build(bld):
defines = []
source = bld.path.parent.ant_glob([
'pm_shared/*.c',
])
source += [
'agrunt.cpp', 'airtank.cpp', 'aflock.cpp', 'animating.cpp', 'animation.cpp', 'apache.cpp',
'barnacle.cpp', 'barney.cpp', 'bigmomma.cpp', 'bloater.cpp', 'bmodels.cpp', 'bullsquid.cpp', 'buttons.cpp',
@ -42,7 +49,7 @@ def build(bld): @@ -42,7 +49,7 @@ def build(bld):
'triggers.cpp', 'tripmine.cpp', 'turret.cpp',
'util.cpp',
'weapons.cpp', 'world.cpp', 'xen.cpp', 'zombie.cpp']
if bld.env.VOICEMGR:
source += bld.path.parent.ant_glob([
'game_shared/voice_gamemgr.cpp',
@ -61,7 +68,7 @@ def build(bld): @@ -61,7 +68,7 @@ def build(bld):
bld.shlib(
source = source,
target = 'server',
target = bld.env.SERVER_NAME,
features = 'c cxx',
includes = includes,
defines = defines,

19
wscript

@ -33,21 +33,20 @@ def options(opt): @@ -33,21 +33,20 @@ def options(opt):
grp.add_option('--enable-goldsrc-support', action = 'store_true', dest = 'GOLDSRC', default = False,
help = 'enable GoldSource engine support [default: %default]')
grp.add_option('--enable-lto', action = 'store_true', dest = 'LTO', default = False,
help = 'enable Link Time Optimization [default: %default]')
grp.add_option('--enable-poly-opt', action = 'store_true', dest = 'POLLY', default = False,
help = 'enable polyhedral optimization if possible [default: %default]')
opt.recurse('cl_dll dlls')
opt.load('xcompile compiler_cxx compiler_c clang_compilation_database strip_on_install')
if sys.platform == 'win32':
opt.load('msvc msdev msvs')
opt.load('reconfigure')
opt.load('reconfigure subproject')
opt.add_subproject(["cl_dll", "dlls"])
def configure(conf):
# Configuration
@ -220,10 +219,10 @@ def configure(conf): @@ -220,10 +219,10 @@ def configure(conf):
conf.define('CLIENT_WEAPONS', '1')
conf.recurse('cl_dll dlls')
conf.add_subproject(["cl_dll", "dlls"])
def build(bld):
bld.recurse('cl_dll dlls')
bld.add_subproject(["cl_dll", "dlls"])

Loading…
Cancel
Save