@@ -1017,6 +1017,14 @@ def parseopts(args):
1017
1017
# Fix for a bug in OSX Leopard:
1018
1018
LibName ("GL" , "-dylib_file /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib:/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib" )
1019
1019
1020
+ # Temporary exceptions to removal of this flag
1021
+ if not PkgSkip ("ROCKET" ):
1022
+ LibName ("ROCKET" , "-undefined dynamic_lookup" )
1023
+ if not PkgSkip ("FFMPEG" ):
1024
+ LibName ("FFMPEG" , "-undefined dynamic_lookup" )
1025
+ if not PkgSkip ("ASSIMP" ):
1026
+ LibName ("ASSIMP" , "-undefined dynamic_lookup" )
1027
+
1020
1028
if GetTarget () == 'android' :
1021
1029
LibName ("ALWAYS" , '-llog' )
1022
1030
LibName ("ANDROID" , '-landroid' )
@@ -1142,6 +1150,7 @@ def BracketNameWithQuotes(name):
1142
1150
# Workaround for OSX bug - compiler doesn't like those flags quoted.
1143
1151
if (name .startswith ("-framework" )): return name
1144
1152
if (name .startswith ("-dylib_file" )): return name
1153
+ if (name .startswith ("-undefined " )): return name
1145
1154
1146
1155
# Don't add quotes when it's not necessary.
1147
1156
if " " not in name : return name
@@ -1815,9 +1824,11 @@ def CompileLink(dll, obj, opts):
1815
1824
cmd += ' -Wl,--allow-shlib-undefined'
1816
1825
else :
1817
1826
if (GetTarget () == "darwin" ):
1818
- cmd = cxx + ' -undefined dynamic_lookup'
1819
- if ("BUNDLE" in opts or GetOrigExt (dll ) == ".pyd" ):
1820
- cmd += ' -bundle '
1827
+ cmd = cxx
1828
+ if GetOrigExt (dll ) == ".pyd" :
1829
+ cmd += ' -bundle -undefined dynamic_lookup'
1830
+ elif "BUNDLE" in opts :
1831
+ cmd += ' -bundle'
1821
1832
else :
1822
1833
install_name = '@loader_path/../lib/' + os .path .basename (dll )
1823
1834
cmd += ' -dynamiclib -install_name ' + install_name
0 commit comments