Reviewers: Sven,

Message:
PTAL. This is not a perfect solution, but it's better than nothing :-)

Description:
Add "soname_version" parameter to common.gypi, v8.gyp, Makefile


TEST=compile with component=shared_library and soname_version=1.2.3 and find
"libv8-1.2.3.so" in the output.


Please review this at http://codereview.chromium.org/7848017/

SVN Base: https://v8.googlecode.com/svn/branches/bleeding_edge

Affected files:
  M Makefile
  M build/common.gypi
  M tools/gyp/v8.gyp


Index: Makefile
diff --git a/Makefile b/Makefile
index 8b95e61db0aa02b22c64c50f411b9614d4eb4752..a7b27317a3ad37d026b5f611ed55cc7dadcc4880 100644
--- a/Makefile
+++ b/Makefile
@@ -68,6 +68,10 @@ ifeq ($(vfp3), off)
 else
   GYPFLAGS += -Dv8_can_use_vfp_instructions=true
 endif
+# soname_version=1.2.3
+ifdef soname_version
+  GYPFLAGS += -Dsoname_version=$(soname_version)
+endif

 # ----------------- available targets: --------------------
 # - "dependencies": pulls in external dependencies (currently: GYP)
Index: build/common.gypi
diff --git a/build/common.gypi b/build/common.gypi
index 9b32608178f0c744dd52c484506369ed33cc131c..4e896e019a8579210cc544fa63e691575746c71a 100644
--- a/build/common.gypi
+++ b/build/common.gypi
@@ -72,6 +72,9 @@
     'v8_use_snapshot%': 'true',
     'host_os%': '<(OS)',
     'v8_use_liveobjectlist%': 'false',
+
+    # For a shared library build, results in "libv8-<(soname_version).so".
+    'soname_version%': '',
   },
   'target_defaults': {
     'conditions': [
Index: tools/gyp/v8.gyp
diff --git a/tools/gyp/v8.gyp b/tools/gyp/v8.gyp
index f76bbd9c57bdb417713ef3bd0f9ad21193eb0aa9..0c6357c4ff90d741cdcd7fbb5c491ef82b63bd09 100644
--- a/tools/gyp/v8.gyp
+++ b/tools/gyp/v8.gyp
@@ -71,6 +71,13 @@
                     ],
                   },
                 }],
+                ['soname_version!=""', {
+                  # Ideally, we'd like to specify the full filename for the
+                  # library and set it to "libv8.so.<(soname_version)",
+ # but currently the best we can do is use 'product_name' and
+                  # get "libv8-<(soname_version).so".
+                  'product_name': 'v8-<(soname_version)',
+                }],
               ],
             },
             {


--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev

Reply via email to