Browse Source

Fix linking node and chromium together

Cheng Zhao 10 years ago
parent
commit
8a91000083
3 changed files with 38 additions and 40 deletions
  1. 20 2
      atom.gyp
  2. 17 37
      common.gypi
  3. 1 1
      vendor/brightray

+ 20 - 2
atom.gyp

@@ -528,7 +528,6 @@
             {
               'destination': '<(PRODUCT_DIR)',
               'files': [
-                '<(libchromiumcontent_dir)/libchromiumcontent.so',
                 '<(libchromiumcontent_dir)/libffmpegsumo.so',
                 '<(libchromiumcontent_dir)/icudtl.dat',
                 '<(libchromiumcontent_dir)/content_shell.pak',
@@ -880,9 +879,18 @@
           },
           'copies': [
             {
+              'variables': {
+                'conditions': [
+                  ['libchromiumcontent_component', {
+                    'copied_libraries': '<(libchromiumcontent_shared_libraries)',
+                  }, {
+                    'copied_libraries': ['<(libchromiumcontent_dir)/libboringssl.dylib'],
+                  }],
+                ],
+              },
               'destination': '<(PRODUCT_DIR)/<(product_name) Framework.framework/Versions/A/Libraries',
               'files': [
-                '<@(libchromiumcontent_shared_libraries)',
+                '<@(copied_libraries)',
                 '<(libchromiumcontent_dir)/ffmpegsumo.so',
                 '<(PRODUCT_DIR)/libnode.dylib',
               ],
@@ -906,6 +914,16 @@
                 '${BUILT_PRODUCTS_DIR}/<(product_name) Framework.framework/Versions/A/<(product_name) Framework',
               ],
             },
+            {
+              'postbuild_name': 'Fix path of libboringssl',
+              'action': [
+                'install_name_tool',
+                '-change',
+                '/usr/local/lib/libboringssl.dylib',
+                '@rpath/libboringssl.dylib',
+                '${BUILT_PRODUCTS_DIR}/<(product_name) Framework.framework/Versions/A/<(product_name) Framework',
+              ],
+            },
             {
               'postbuild_name': 'Add symlinks for framework subdirectories',
               'action': [

+ 17 - 37
common.gypi

@@ -103,46 +103,26 @@
       }],
       ['_target_name in ["node", "atom_lib"]', {
         'include_dirs': [
-          'vendor/brightray/vendor/download/libchromiumcontent/src/v8/include',
+          '<(libchromiumcontent_src_dir)/v8/include',
         ],
       }],
       ['_target_name=="node"', {
-        'variables': {
-          'conditions': [
-            ['OS=="linux" and libchromiumcontent_component==1', {
-              'v8_libs': ['<(libchromiumcontent_dir)/libv8.so']
-            }],
-            ['OS=="mac" and libchromiumcontent_component==1', {
-              'v8_libs': ['<(libchromiumcontent_dir)/libv8.dylib']
-            }],
-            ['OS=="win" and libchromiumcontent_component==1', {
-              'v8_libs': ['<(libchromiumcontent_dir)/v8.dll.lib']
-            }],
-            ['OS in ["linux", "mac"] and libchromiumcontent_component==0', {
-              'v8_libs': [
-                '<(libchromiumcontent_dir)/libv8_base.a',
-                '<(libchromiumcontent_dir)/libv8_external_snapshot.a',
-                '<(libchromiumcontent_dir)/libv8_libbase.a',
-                '<(libchromiumcontent_dir)/libv8_libplatform.a',
-                '<(libchromiumcontent_dir)/libicudata.a',
-                '<(libchromiumcontent_dir)/libicui18n.a',
-                '<(libchromiumcontent_dir)/libicuuc.a',
-              ],
-            }],
-            ['OS=="win" and libchromiumcontent_component==0', {
-              'v8_libs': [
-                '<(libchromiumcontent_dir)/v8_base.lib',
-                '<(libchromiumcontent_dir)/v8_external_snapshot.lib',
-                '<(libchromiumcontent_dir)/v8_libbase.lib',
-                '<(libchromiumcontent_dir)/v8_libplatform.lib',
-                '<(libchromiumcontent_dir)/icudata.lib',
-                '<(libchromiumcontent_dir)/icui18n.lib',
-                '<(libchromiumcontent_dir)/icuuc.lib',
-              ],
-            }],
-          ],
-        },
-        'libraries': ['<@(v8_libs)']
+        'conditions': [
+          ['OS=="mac"', {
+            'libraries': [ '-undefined dynamic_lookup' ],
+            'xcode_settings': {
+              'DYLIB_INSTALL_NAME_BASE': '@rpath'
+            },
+          }],
+          ['OS=="win"', {
+            'libraries': [
+              '<(libchromiumcontent_root_dir)/shared_library/v8.dll.lib',
+            ],
+          }],
+          ['OS=="linux"', {
+            'cflags': [ '-fPIC' ],
+          }],
+        ]
       }],
       ['_target_name=="libuv"', {
         'conditions': [

+ 1 - 1
vendor/brightray

@@ -1 +1 @@
-Subproject commit 09c73a0e615807fe238f74b697e60696d6451bd1
+Subproject commit ca993560286e14aa936d3cff415e2b317ba8faf0