diff --git a/makepanda/makepanda.py b/makepanda/makepanda.py index a45245e58c..4ba5b26718 100755 --- a/makepanda/makepanda.py +++ b/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")