OSX convention for libraries is libpanda.1.7.0.dylib, not libpanda.dylib.1.7.0

This commit is contained in:
rdb 2009-11-18 09:24:02 +00:00
parent 8bcbfa6a57
commit 1f6b7283bc

View File

@ -867,7 +867,12 @@ def CompileLink(dll, obj, opts):
oscmd("strip " + BracketNameWithQuotes(dll))
os.system("chmod +x " + BracketNameWithQuotes(dll))
if dll.endswith("." + VERSION):
if dll.endswith("." + VERSION + ".dylib"):
newdll = dll[:-6-len(VERSION)] + "dylib"
if (os.path.isfile(newdll)):
os.remove(newdll)
oscmd("ln -s " + BracketNameWithQuotes(os.path.basename(dll)) + " " + BracketNameWithQuotes(newdll))
elif dll.endswith("." + VERSION):
newdll = dll[:-len(VERSION)-1]
if (os.path.isfile(newdll)):
os.remove(newdll)
@ -1075,7 +1080,14 @@ def CompileAnything(target, inputs, opts, progress = None):
ProgressOutput(progress, "Linking executable", target)
else:
ProgressOutput(progress, "Linking dynamic library", target)
# Add version number to the dynamic library, on unix
if (origsuffix==".dll" and not sys.platform.startswith("win")):
if (sys.platform == "darwin"):
if (target.lower().endswith(".dylib")):
target = target[:-5] + VERSION + ".dylib"
SetOrigExt(target, origsuffix)
else:
target = target + "." + VERSION
SetOrigExt(target, origsuffix)
return CompileLink(target, inputs, opts)