瀏覽代碼

makepanda: do not pass -Wl,--exclude-libs on macOS

Fixes build regression introduced in e78ce78acf5a8540cf14b57c777f52009f0df212 (see #851)
rdb 5 年之前
父節點
當前提交
6b5c473b8e
共有 1 個文件被更改,包括 47 次插入44 次删除
  1. 47 44
      makepanda/makepanda.py

+ 47 - 44
makepanda/makepanda.py

@@ -967,60 +967,60 @@ if (COMPILER=="GCC"):
             elif os.path.isfile(GetThirdpartyDir() + "ffmpeg/lib/libavcodec.a"):
                 # Needed when linking ffmpeg statically on Linux.
                 LibName("FFMPEG", "-Wl,-Bsymbolic")
+                # Don't export ffmpeg symbols from libp3ffmpeg when linking statically.
+                for ffmpeg_lib in ffmpeg_libs:
+                    LibName("FFMPEG", "-Wl,--exclude-libs,%s.a" % (ffmpeg_lib))
 
-            # Don't export ffmpeg symbols from libp3ffmpeg when linking statically.
-            for ffmpeg_lib in ffmpeg_libs:
-                LibName("FFMPEG", "-Wl,--exclude-libs,%s.a" % (ffmpeg_lib))
+        if GetTarget() != "darwin":
+            for fcollada_lib in fcollada_libs:
+                LibName("FCOLLADA", "-Wl,--exclude-libs,lib%s.a" % (fcollada_lib))
 
-        for fcollada_lib in fcollada_libs:
-            LibName("FCOLLADA", "-Wl,--exclude-libs,lib%s.a" % (fcollada_lib))
+            if not PkgSkip("SWSCALE"):
+                LibName("SWSCALE", "-Wl,--exclude-libs,libswscale.a")
 
-        if not PkgSkip("SWSCALE"):
-            LibName("SWSCALE", "-Wl,--exclude-libs,libswscale.a")
+            if not PkgSkip("SWRESAMPLE"):
+                LibName("SWRESAMPLE", "-Wl,--exclude-libs,libswresample.a")
 
-        if not PkgSkip("SWRESAMPLE"):
-            LibName("SWRESAMPLE", "-Wl,--exclude-libs,libswresample.a")
+            if not PkgSkip("JPEG"):
+                LibName("JPEG", "-Wl,--exclude-libs,libjpeg.a")
 
-        if not PkgSkip("JPEG"):
-            LibName("JPEG", "-Wl,--exclude-libs,libjpeg.a")
+            if not PkgSkip("TIFF"):
+                LibName("TIFF", "-Wl,--exclude-libs,libtiff.a")
 
-        if not PkgSkip("TIFF"):
-            LibName("TIFF", "-Wl,--exclude-libs,libtiff.a")
+            if not PkgSkip("PNG"):
+                LibName("PNG", "-Wl,--exclude-libs,libpng.a")
+                LibName("PNG", "-Wl,--exclude-libs,libpng16.a")
 
-        if not PkgSkip("PNG"):
-            LibName("PNG", "-Wl,--exclude-libs,libpng.a")
-            LibName("PNG", "-Wl,--exclude-libs,libpng16.a")
+            if not PkgSkip("SQUISH"):
+                LibName("SQUISH", "-Wl,--exclude-libs,libsquish.a")
 
-        if not PkgSkip("SQUISH"):
-            LibName("SQUISH", "-Wl,--exclude-libs,libsquish.a")
+            if not PkgSkip("OPENEXR"):
+                LibName("OPENEXR", "-Wl,--exclude-libs,libHalf.a")
+                LibName("OPENEXR", "-Wl,--exclude-libs,libIex.a")
+                LibName("OPENEXR", "-Wl,--exclude-libs,libIexMath.a")
+                LibName("OPENEXR", "-Wl,--exclude-libs,libIlmImf.a")
+                LibName("OPENEXR", "-Wl,--exclude-libs,libIlmImfUtil.a")
+                LibName("OPENEXR", "-Wl,--exclude-libs,libIlmThread.a")
+                LibName("OPENEXR", "-Wl,--exclude-libs,libImath.a")
 
-        if not PkgSkip("OPENEXR"):
-            LibName("OPENEXR", "-Wl,--exclude-libs,libHalf.a")
-            LibName("OPENEXR", "-Wl,--exclude-libs,libIex.a")
-            LibName("OPENEXR", "-Wl,--exclude-libs,libIexMath.a")
-            LibName("OPENEXR", "-Wl,--exclude-libs,libIlmImf.a")
-            LibName("OPENEXR", "-Wl,--exclude-libs,libIlmImfUtil.a")
-            LibName("OPENEXR", "-Wl,--exclude-libs,libIlmThread.a")
-            LibName("OPENEXR", "-Wl,--exclude-libs,libImath.a")
+            if not PkgSkip("VORBIS"):
+                LibName("VORBIS", "-Wl,--exclude-libs,libogg.a")
+                LibName("VORBIS", "-Wl,--exclude-libs,libvorbis.a")
+                LibName("VORBIS", "-Wl,--exclude-libs,libvorbisenc.a")
+                LibName("VORBIS", "-Wl,--exclude-libs,libvorbisfile.a")
 
-        if not PkgSkip("VORBIS"):
-            LibName("VORBIS", "-Wl,--exclude-libs,libogg.a")
-            LibName("VORBIS", "-Wl,--exclude-libs,libvorbis.a")
-            LibName("VORBIS", "-Wl,--exclude-libs,libvorbisenc.a")
-            LibName("VORBIS", "-Wl,--exclude-libs,libvorbisfile.a")
+            if not PkgSkip("OPUS"):
+                LibName("OPUS", "-Wl,--exclude-libs,libogg.a")
+                LibName("OPUS", "-Wl,--exclude-libs,libopus.a")
+                LibName("OPUS", "-Wl,--exclude-libs,libopusfile.a")
 
-        if not PkgSkip("OPUS"):
-            LibName("OPUS", "-Wl,--exclude-libs,libogg.a")
-            LibName("OPUS", "-Wl,--exclude-libs,libopus.a")
-            LibName("OPUS", "-Wl,--exclude-libs,libopusfile.a")
+            if not PkgSkip("VRPN"):
+                LibName("VRPN", "-Wl,--exclude-libs,libvrpn.a")
+                LibName("VRPN", "-Wl,--exclude-libs,libquat.a")
 
-        if not PkgSkip("VRPN"):
-            LibName("VRPN", "-Wl,--exclude-libs,libvrpn.a")
-            LibName("VRPN", "-Wl,--exclude-libs,libquat.a")
-
-        if not PkgSkip("ARTOOLKIT"):
-            LibName("ARTOOLKIT", "-Wl,--exclude-libs,libAR.a")
-            LibName("ARTOOLKIT", "-Wl,--exclude-libs,libARMulti.a")
+            if not PkgSkip("ARTOOLKIT"):
+                LibName("ARTOOLKIT", "-Wl,--exclude-libs,libAR.a")
+                LibName("ARTOOLKIT", "-Wl,--exclude-libs,libARMulti.a")
 
         if PkgSkip("FFMPEG") or GetTarget() == "darwin":
             cv_lib = ChooseLib(("opencv_core", "cv"), "OPENCV")
@@ -1034,19 +1034,22 @@ if (COMPILER=="GCC"):
             PkgDisable("OPENCV")
 
         if not PkgSkip("OPENAL"):
-            LibName("OPENAL", "-Wl,--exclude-libs,libopenal.a")
             if GetTarget() == "darwin":
                 LibName("OPENAL", "-framework AudioUnit")
                 LibName("OPENAL", "-framework AudioToolbox")
                 LibName("OPENAL", "-framework CoreAudio")
+            else:
+                LibName("OPENAL", "-Wl,--exclude-libs,libopenal.a")
 
         if not PkgSkip("ASSIMP") and \
             os.path.isfile(GetThirdpartyDir() + "assimp/lib/libassimp.a"):
-            LibName("ASSIMP", "-Wl,--exclude-libs,libassimp.a")
             # Also pick up IrrXML, which is needed when linking statically.
             irrxml = GetThirdpartyDir() + "assimp/lib/libIrrXML.a"
             if os.path.isfile(irrxml):
                 LibName("ASSIMP", irrxml)
+
+            if GetTarget() != "darwin":
+                LibName("ASSIMP", "-Wl,--exclude-libs,libassimp.a")
                 LibName("ASSIMP", "-Wl,--exclude-libs,libIrrXML.a")
 
         rocket_libs = ("RocketCore", "RocketControls")