From 5d77dca8a567e5070c7a0018af00543ead8c6a9b Mon Sep 17 00:00:00 2001 From: rdb Date: Thu, 23 Jul 2009 19:35:20 +0000 Subject: [PATCH] I think I'm getting pretty close to getting the panda3d.exe static linking working. --- makepanda/makepanda.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/makepanda/makepanda.py b/makepanda/makepanda.py index 7dfd454763..a014113ef3 100755 --- a/makepanda/makepanda.py +++ b/makepanda/makepanda.py @@ -782,7 +782,7 @@ def CompileLink(dll, obj, opts): cmd += ' ' + GetOutputDir() + '/lib/' + x[len(GetOutputDir()+"/bin/"):-4] + ".lib" elif (x.endswith(".lib")): dname = x[:-4]+".dll" - if (os.path.exists(GetOutputDir()+"/bin/" + x[len(GetOutputDir()+"/bin/"):-4] + ".dll")): + if (GetOrigExt(x) != ".ilb" and os.path.exists(GetOutputDir()+"/bin/" + x[len(GetOutputDir()+"/bin/"):-4] + ".dll")): exit("Error: in makepanda, specify "+dname+", not "+x) cmd += ' ' + BracketNameWithQuotes(x) elif (x.endswith(".def")): @@ -1848,6 +1848,10 @@ TargetAdd('test_interrogate.exe', opts=['ADVAPI', 'OPENSSL']) OPTS=['DIR:panda/src/pandabase', 'BUILDING:PANDAEXPRESS'] TargetAdd('pandabase_pandabase.obj', opts=OPTS, input='pandabase.cxx') +if (sys.platform.startswith("win") and PkgSkip("PLUGIN")==0 and PkgSkip("TINYXML")==0): + OPTS=['DIR:panda/src/pandabase', 'LINK_ALL_STATIC'] + TargetAdd('static_pandabase_pandabase.obj', opts=OPTS, input='pandabase.cxx') + # # DIRECTORY: panda/src/express/ # @@ -3124,7 +3128,7 @@ if (PkgSkip("PLUGIN")==0 and PkgSkip("TINYXML")==0 and PkgSkip("NPAPI")==0): # if (PkgSkip("PLUGIN")==0 and PkgSkip("TINYXML")==0): - OPTS=['DIR:direct/src/plugin_standalone', 'TINYXML', 'OPENSSL'] + OPTS=['DIR:direct/src/plugin_standalone', 'LINK_ALL_STATIC', 'TINYXML', 'OPENSSL'] TargetAdd('plugin_standalone_panda3d.obj', opts=OPTS, input='panda3d.cxx') TargetAdd('panda3d.exe', input='plugin_standalone_panda3d.obj') TargetAdd('panda3d.exe', input='plugin_common.obj')