Browse Source

makepanda: Changes for new emscripten/wasm32 build

rdb 4 years ago
parent
commit
ec80a0a93c
2 changed files with 10 additions and 4 deletions
  1. 5 1
      makepanda/makepanda.py
  2. 5 3
      makepanda/makepandacore.py

+ 5 - 1
makepanda/makepanda.py

@@ -1417,7 +1417,8 @@ def CompileCxx(obj,src,opts):
             cmd += " -fno-finite-math-only"
 
         # Make sure this is off to avoid GCC/Eigen bug (see GitHub #228)
-        cmd += " -fno-unsafe-math-optimizations"
+        if GetTarget() != "emscripten":
+            cmd += " -fno-unsafe-math-optimizations"
 
         if (optlevel==1):
             if GetTarget() == "emscripten":
@@ -6058,6 +6059,9 @@ if PkgSkip("PYTHON") == 0:
         PyTargetAdd('deploy-stub.exe', input='frozen_dllmain.obj')
     PyTargetAdd('deploy-stub.exe', opts=['WINSHELL', 'DEPLOYSTUB', 'NOICON'])
 
+    if GetTarget() == 'emscripten':
+        PyTargetAdd('deploy-stub.exe', opts=['ZLIB'])
+
     if GetTarget() == 'windows':
         PyTargetAdd('deploy-stubw.exe', input='deploy-stub.obj')
         PyTargetAdd('deploy-stubw.exe', input='frozen_dllmain.obj')

+ 5 - 3
makepanda/makepandacore.py

@@ -447,6 +447,8 @@ def SetTarget(target, arch=None):
         DEFAULT_AR = "emar"
         DEFAULT_RANLIB = "emranlib"
 
+        arch = "wasm32"
+
     elif target == host:
         if target == 'freebsd':
             DEFAULT_CC = "clang"
@@ -3390,9 +3392,9 @@ def CalcLocation(fn, ipath):
         if (fn.endswith(".plugin")):return OUTPUTDIR+"/plugins/"+fn
         if (fn.endswith(".app")):   return OUTPUTDIR+"/bin/"+fn
     elif (target == 'emscripten'):
-        if (fn.endswith(".obj")):   return OUTPUTDIR+"/tmp/"+fn[:-4]+".bc"
-        if (fn.endswith(".dll")):   return OUTPUTDIR+"/lib/"+fn[:-4]+".bc"
-        if (fn.endswith(".pyd")):   return OUTPUTDIR+"/panda3d/"+fn[:-4]+".bc"
+        if (fn.endswith(".obj")):   return OUTPUTDIR+"/tmp/"+fn[:-4]+".o"
+        if (fn.endswith(".dll")):   return OUTPUTDIR+"/lib/"+fn[:-4]+".o"
+        if (fn.endswith(".pyd")):   return OUTPUTDIR+"/panda3d/"+fn[:-4]+".o"
         if (fn.endswith(".mll")):   return OUTPUTDIR+"/plugins/"+fn
         if (fn.endswith(".plugin")):return OUTPUTDIR+"/plugins/"+fn[:-7]+dllext+".js"
         if (fn.endswith(".exe")):   return OUTPUTDIR+"/bin/"+fn[:-4]+".js"