Update of /cvsroot/boost/boost/tools/build/v2/tools
In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv18850

Modified Files:
      Tag: RC_1_34_0
        stage.jam 
Log Message:
Merge: Make it possible to suppress generation of version symlinks

Index: stage.jam
===================================================================
RCS file: /cvsroot/boost/boost/tools/build/v2/tools/stage.jam,v
retrieving revision 1.75.2.7
retrieving revision 1.75.2.8
diff -u -d -r1.75.2.7 -r1.75.2.8
--- stage.jam   5 Nov 2006 07:24:37 -0000       1.75.2.7
+++ stage.jam   10 Nov 2006 17:20:05 -0000      1.75.2.8
@@ -24,6 +24,9 @@
 feature.feature <install-dependencies> : off on : incidental ;
 feature.feature <install-type> : : free incidental ;
 feature.feature <install-source-root> : : free path  ;
+# If 'on', version symblinks for shared libraries won't be created
+# This feature has effect only on Unix.
+feature.feature <install-no-version-symlinks> : on : optional incidental ;
 feature.feature <so-version> : : free incidental ;
 
 class install-target-class : basic-target
@@ -95,6 +98,9 @@
         local d = [ $(build-property-set).get <location> ] ;
         ps-raw += $(d:G=<location>) ;
         
+        local ns = [ $(build-property-set).get <install-no-version-symlinks> ] 
;
+        ps-raw += $(ns:G=<install-no-version-symlinks>) ;
+        
         local d = [ $(build-property-set).get <install-source-root> ] ;
         # Make the path absolute: we'll use it to compute relative
         # paths and making the path absolute will help.
@@ -425,12 +431,28 @@
               : [ $(copied).name ] ] ;
             if $(m)
             {
-                result += [ stage.symlink $(m[1]).$(m[2]) : $(project)
-                  : $(copied) : $(property-set) ] ;
-                result += [ stage.symlink $(m[1]).$(m[2]).$(m[3])  : $(project)
-                  : $(copied) : $(property-set) ] ;
+                # Symlink without version at all is used to make
+                # -lsome_library work.
+                result += [ stage.symlink $(m[1]) : $(project)
+                  : $(copied) : $(property-set) ] ;                
+                
+                # Symlinks of some libfoo.N and libfoo.N.M are used
+                # so that library can found at runtime, if libfoo.N.M.X
+                # has soname of libfoo.N. That happens when the library
+                # makes some binary compatibility guarantees. If not,
+                # it's possible to skip those symlinks.
+                local suppress = 
+                  [ $(property-set).get <install-no-version-symlinks> ] ;
+                
+                if $(suppress) != "on"
+                {                    
+                    result += [ stage.symlink $(m[1]).$(m[2]) : $(project)
+                      : $(copied) : $(property-set) ] ;
+                    result += [ stage.symlink $(m[1]).$(m[2]).$(m[3])  : 
$(project)
+                      : $(copied) : $(property-set) ] ;
+                }                
             }
-                                    
+                                                
             return $(result) ;
         }                
     }    


-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Boost-cvs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/boost-cvs

Reply via email to