Skip to content

Commit 6b5c473

Browse files
committed
makepanda: do not pass -Wl,--exclude-libs on macOS
Fixes build regression introduced in e78ce78 (see panda3d#851)
1 parent 4f4b14d commit 6b5c473

File tree

1 file changed

+47
-44
lines changed

1 file changed

+47
-44
lines changed

makepanda/makepanda.py

Lines changed: 47 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -967,60 +967,60 @@ def parseopts(args):
967967
elif os.path.isfile(GetThirdpartyDir() + "ffmpeg/lib/libavcodec.a"):
968968
# Needed when linking ffmpeg statically on Linux.
969969
LibName("FFMPEG", "-Wl,-Bsymbolic")
970+
# Don't export ffmpeg symbols from libp3ffmpeg when linking statically.
971+
for ffmpeg_lib in ffmpeg_libs:
972+
LibName("FFMPEG", "-Wl,--exclude-libs,%s.a" % (ffmpeg_lib))
970973

971-
# Don't export ffmpeg symbols from libp3ffmpeg when linking statically.
972-
for ffmpeg_lib in ffmpeg_libs:
973-
LibName("FFMPEG", "-Wl,--exclude-libs,%s.a" % (ffmpeg_lib))
974+
if GetTarget() != "darwin":
975+
for fcollada_lib in fcollada_libs:
976+
LibName("FCOLLADA", "-Wl,--exclude-libs,lib%s.a" % (fcollada_lib))
974977

975-
for fcollada_lib in fcollada_libs:
976-
LibName("FCOLLADA", "-Wl,--exclude-libs,lib%s.a" % (fcollada_lib))
978+
if not PkgSkip("SWSCALE"):
979+
LibName("SWSCALE", "-Wl,--exclude-libs,libswscale.a")
977980

978-
if not PkgSkip("SWSCALE"):
979-
LibName("SWSCALE", "-Wl,--exclude-libs,libswscale.a")
981+
if not PkgSkip("SWRESAMPLE"):
982+
LibName("SWRESAMPLE", "-Wl,--exclude-libs,libswresample.a")
980983

981-
if not PkgSkip("SWRESAMPLE"):
982-
LibName("SWRESAMPLE", "-Wl,--exclude-libs,libswresample.a")
984+
if not PkgSkip("JPEG"):
985+
LibName("JPEG", "-Wl,--exclude-libs,libjpeg.a")
983986

984-
if not PkgSkip("JPEG"):
985-
LibName("JPEG", "-Wl,--exclude-libs,libjpeg.a")
987+
if not PkgSkip("TIFF"):
988+
LibName("TIFF", "-Wl,--exclude-libs,libtiff.a")
986989

987-
if not PkgSkip("TIFF"):
988-
LibName("TIFF", "-Wl,--exclude-libs,libtiff.a")
990+
if not PkgSkip("PNG"):
991+
LibName("PNG", "-Wl,--exclude-libs,libpng.a")
992+
LibName("PNG", "-Wl,--exclude-libs,libpng16.a")
989993

990-
if not PkgSkip("PNG"):
991-
LibName("PNG", "-Wl,--exclude-libs,libpng.a")
992-
LibName("PNG", "-Wl,--exclude-libs,libpng16.a")
994+
if not PkgSkip("SQUISH"):
995+
LibName("SQUISH", "-Wl,--exclude-libs,libsquish.a")
993996

994-
if not PkgSkip("SQUISH"):
995-
LibName("SQUISH", "-Wl,--exclude-libs,libsquish.a")
997+
if not PkgSkip("OPENEXR"):
998+
LibName("OPENEXR", "-Wl,--exclude-libs,libHalf.a")
999+
LibName("OPENEXR", "-Wl,--exclude-libs,libIex.a")
1000+
LibName("OPENEXR", "-Wl,--exclude-libs,libIexMath.a")
1001+
LibName("OPENEXR", "-Wl,--exclude-libs,libIlmImf.a")
1002+
LibName("OPENEXR", "-Wl,--exclude-libs,libIlmImfUtil.a")
1003+
LibName("OPENEXR", "-Wl,--exclude-libs,libIlmThread.a")
1004+
LibName("OPENEXR", "-Wl,--exclude-libs,libImath.a")
9961005

997-
if not PkgSkip("OPENEXR"):
998-
LibName("OPENEXR", "-Wl,--exclude-libs,libHalf.a")
999-
LibName("OPENEXR", "-Wl,--exclude-libs,libIex.a")
1000-
LibName("OPENEXR", "-Wl,--exclude-libs,libIexMath.a")
1001-
LibName("OPENEXR", "-Wl,--exclude-libs,libIlmImf.a")
1002-
LibName("OPENEXR", "-Wl,--exclude-libs,libIlmImfUtil.a")
1003-
LibName("OPENEXR", "-Wl,--exclude-libs,libIlmThread.a")
1004-
LibName("OPENEXR", "-Wl,--exclude-libs,libImath.a")
1006+
if not PkgSkip("VORBIS"):
1007+
LibName("VORBIS", "-Wl,--exclude-libs,libogg.a")
1008+
LibName("VORBIS", "-Wl,--exclude-libs,libvorbis.a")
1009+
LibName("VORBIS", "-Wl,--exclude-libs,libvorbisenc.a")
1010+
LibName("VORBIS", "-Wl,--exclude-libs,libvorbisfile.a")
10051011

1006-
if not PkgSkip("VORBIS"):
1007-
LibName("VORBIS", "-Wl,--exclude-libs,libogg.a")
1008-
LibName("VORBIS", "-Wl,--exclude-libs,libvorbis.a")
1009-
LibName("VORBIS", "-Wl,--exclude-libs,libvorbisenc.a")
1010-
LibName("VORBIS", "-Wl,--exclude-libs,libvorbisfile.a")
1012+
if not PkgSkip("OPUS"):
1013+
LibName("OPUS", "-Wl,--exclude-libs,libogg.a")
1014+
LibName("OPUS", "-Wl,--exclude-libs,libopus.a")
1015+
LibName("OPUS", "-Wl,--exclude-libs,libopusfile.a")
10111016

1012-
if not PkgSkip("OPUS"):
1013-
LibName("OPUS", "-Wl,--exclude-libs,libogg.a")
1014-
LibName("OPUS", "-Wl,--exclude-libs,libopus.a")
1015-
LibName("OPUS", "-Wl,--exclude-libs,libopusfile.a")
1017+
if not PkgSkip("VRPN"):
1018+
LibName("VRPN", "-Wl,--exclude-libs,libvrpn.a")
1019+
LibName("VRPN", "-Wl,--exclude-libs,libquat.a")
10161020

1017-
if not PkgSkip("VRPN"):
1018-
LibName("VRPN", "-Wl,--exclude-libs,libvrpn.a")
1019-
LibName("VRPN", "-Wl,--exclude-libs,libquat.a")
1020-
1021-
if not PkgSkip("ARTOOLKIT"):
1022-
LibName("ARTOOLKIT", "-Wl,--exclude-libs,libAR.a")
1023-
LibName("ARTOOLKIT", "-Wl,--exclude-libs,libARMulti.a")
1021+
if not PkgSkip("ARTOOLKIT"):
1022+
LibName("ARTOOLKIT", "-Wl,--exclude-libs,libAR.a")
1023+
LibName("ARTOOLKIT", "-Wl,--exclude-libs,libARMulti.a")
10241024

10251025
if PkgSkip("FFMPEG") or GetTarget() == "darwin":
10261026
cv_lib = ChooseLib(("opencv_core", "cv"), "OPENCV")
@@ -1034,19 +1034,22 @@ def parseopts(args):
10341034
PkgDisable("OPENCV")
10351035

10361036
if not PkgSkip("OPENAL"):
1037-
LibName("OPENAL", "-Wl,--exclude-libs,libopenal.a")
10381037
if GetTarget() == "darwin":
10391038
LibName("OPENAL", "-framework AudioUnit")
10401039
LibName("OPENAL", "-framework AudioToolbox")
10411040
LibName("OPENAL", "-framework CoreAudio")
1041+
else:
1042+
LibName("OPENAL", "-Wl,--exclude-libs,libopenal.a")
10421043

10431044
if not PkgSkip("ASSIMP") and \
10441045
os.path.isfile(GetThirdpartyDir() + "assimp/lib/libassimp.a"):
1045-
LibName("ASSIMP", "-Wl,--exclude-libs,libassimp.a")
10461046
# Also pick up IrrXML, which is needed when linking statically.
10471047
irrxml = GetThirdpartyDir() + "assimp/lib/libIrrXML.a"
10481048
if os.path.isfile(irrxml):
10491049
LibName("ASSIMP", irrxml)
1050+
1051+
if GetTarget() != "darwin":
1052+
LibName("ASSIMP", "-Wl,--exclude-libs,libassimp.a")
10501053
LibName("ASSIMP", "-Wl,--exclude-libs,libIrrXML.a")
10511054

10521055
rocket_libs = ("RocketCore", "RocketControls")

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy