Browse Source

Library is now version numbered on UNIX (e.g. libp3dtool.so.1.7.0)

rdb 16 years ago
parent
commit
906033ed79
1 changed files with 9 additions and 0 deletions
  1. 9 0
      makepanda/makepanda.py

+ 9 - 0
makepanda/makepanda.py

@@ -865,6 +865,12 @@ def CompileLink(dll, obj, opts):
         if (GetOrigExt(dll)==".exe" and GetOptimizeOption(opts)==4 and "NOSTRIP" not in opts):
         if (GetOrigExt(dll)==".exe" and GetOptimizeOption(opts)==4 and "NOSTRIP" not in opts):
             oscmd("strip " + BracketNameWithQuotes(dll))
             oscmd("strip " + BracketNameWithQuotes(dll))
         os.system("chmod +x " + BracketNameWithQuotes(dll))
         os.system("chmod +x " + BracketNameWithQuotes(dll))
+        
+        if dll.endswith("." + VERSION):
+            newdll = dll[:-len(VERSION)-1]
+            if (os.path.isfile(newdll)):
+                os.remove(newdll)
+            oscmd("ln -s " + BracketNameWithQuotes(os.path.basename(dll)) + " " + BracketNameWithQuotes(newdll))
 
 
 ##########################################################################################
 ##########################################################################################
 #
 #
@@ -1068,6 +1074,9 @@ def CompileAnything(target, inputs, opts, progress = None):
             ProgressOutput(progress, "Linking executable", target)
             ProgressOutput(progress, "Linking executable", target)
         else:
         else:
             ProgressOutput(progress, "Linking dynamic library", target)
             ProgressOutput(progress, "Linking dynamic library", target)
+        if (origsuffix==".dll" and not sys.platform.startswith("win")):
+            target = target + "." + VERSION
+            SetOrigExt(target, origsuffix)
         return CompileLink(target, inputs, opts)
         return CompileLink(target, inputs, opts)
     elif (origsuffix==".in"):
     elif (origsuffix==".in"):
         ProgressOutput(progress, "Building Interrogate database", target)
         ProgressOutput(progress, "Building Interrogate database", target)