diff --git a/atom.gyp b/atom.gyp index c564f8190e..649e7079a9 100644 --- a/atom.gyp +++ b/atom.gyp @@ -120,9 +120,16 @@ 'variables': { 'conditions': [ ['libchromiumcontent_component', { - 'copied_libraries': '<(libchromiumcontent_shared_libraries)', + 'copied_libraries': [ + '<(PRODUCT_DIR)/node.dll' + '<@(libchromiumcontent_shared_libraries)', + '<@(libchromiumcontent_shared_v8_libraries)', + ], }, { - 'copied_libraries': ['<(libchromiumcontent_dir)/boringssl.dll'], + 'copied_libraries': [ + '<(PRODUCT_DIR)/node.dll' + '<(libchromiumcontent_dir)/boringssl.dll' + ], }], ], }, @@ -159,9 +166,16 @@ 'variables': { 'conditions': [ ['libchromiumcontent_component', { - 'copied_libraries': '<(libchromiumcontent_shared_libraries)', + 'copied_libraries': [ + '<(PRODUCT_DIR)/libnode.so' + '<@(libchromiumcontent_shared_libraries)', + '<@(libchromiumcontent_shared_v8_libraries)', + ], }, { - 'copied_libraries': ['<(libchromiumcontent_dir)/libboringssl.so'], + 'copied_libraries': [ + '<(PRODUCT_DIR)/libnode.so' + '<(libchromiumcontent_dir)/libboringssl.so' + ], }], ], }, @@ -192,7 +206,6 @@ 'atom_coffee2c', 'vendor/brightray/brightray.gyp:brightray', 'vendor/node/node.gyp:node', - 'vendor/node/deps/openssl/openssl.gyp:openssl', ], 'defines': [ 'PRODUCT_NAME="<(product_name)"', @@ -221,11 +234,11 @@ 'vendor/node/deps/http_parser', 'vendor/node/deps/uv/include', # The `node.h` is using `#include"v8.h"`. - 'vendor/brightray/vendor/download/libchromiumcontent/src/v8/include', + '<(libchromiumcontent_src_dir)/v8/include', # The `node.h` is using `#include"ares.h"`. 'vendor/node/deps/cares/include', # The `third_party/WebKit/Source/platform/weborigin/SchemeRegistry.h` is using `platform/PlatformExport.h`. - 'vendor/brightray/vendor/download/libchromiumcontent/src/third_party/WebKit/Source', + '<(libchromiumcontent_src_dir)/third_party/WebKit/Source', ], 'direct_dependent_settings': { 'include_dirs': [ @@ -236,6 +249,11 @@ 'vendor/brightray/brightray.gyp:brightray', ], 'conditions': [ + ['libchromiumcontent_component', { + 'link_settings': { + 'libraries': [ '<@(libchromiumcontent_v8_libraries)' ], + }, + }], ['OS=="win"', { 'sources': [ '<@(lib_sources_win)', @@ -398,9 +416,16 @@ 'variables': { 'conditions': [ ['libchromiumcontent_component', { - 'copied_libraries': '<(libchromiumcontent_shared_libraries)', + 'copied_libraries': [ + '<(PRODUCT_DIR)/libnode.dylib', + '<@(libchromiumcontent_shared_libraries)', + '<@(libchromiumcontent_shared_v8_libraries)', + ], }, { - 'copied_libraries': ['<(libchromiumcontent_dir)/libboringssl.dylib'], + 'copied_libraries': [ + '<(PRODUCT_DIR)/libnode.dylib', + '<(libchromiumcontent_dir)/libboringssl.dylib' + ], }], ], }, @@ -429,6 +454,16 @@ '${BUILT_PRODUCTS_DIR}/<(product_name) Framework.framework/Versions/A/<(product_name) Framework', ], }, + { + 'postbuild_name': 'Fix path of libnode', + 'action': [ + 'install_name_tool', + '-change', + '/usr/local/lib/libnode.dylib', + '@rpath/libnode.dylib', + '${BUILT_PRODUCTS_DIR}/<(product_name) Framework.framework/Versions/A/<(product_name) Framework', + ], + }, { 'postbuild_name': 'Add symlinks for framework subdirectories', 'action': [ diff --git a/common.gypi b/common.gypi index 8f0937e64b..087cd335d1 100644 --- a/common.gypi +++ b/common.gypi @@ -14,7 +14,7 @@ 'node_shared_cares': 'false', 'node_shared_http_parser': 'false', 'node_shared_libuv': 'false', - 'node_shared_openssl': 'true', + 'node_shared_openssl': 'false', 'node_shared_v8': 'true', 'node_shared_zlib': 'false', 'node_tag': '', @@ -92,30 +92,13 @@ '-Wno-unused-value', '-Wno-deprecated-declarations', '-Wno-return-type', - # Fix relocation error when compiling as shared library. - '-fPIC', ], }], ], }], - ['_target_name in ["node", "atom_lib"]', { - 'include_dirs': [ - '<(libchromiumcontent_src_dir)/v8/include', - 'vendor/node/deps/openssl/openssl/include', - ], - }], ['_target_name=="node"', { - 'conditions': [ - ['OS=="mac"', { - 'libraries': [ '-undefined dynamic_lookup' ], - 'xcode_settings': { - 'DYLIB_INSTALL_NAME_BASE': '@rpath' - }, - }], - ['OS=="linux"', { - 'cflags': [ '-fPIC' ], - }], - ] + 'include_dirs': [ '<(libchromiumcontent_src_dir)/v8/include' ], + 'libraries': [ '<@(libchromiumcontent_v8_libraries)' ], }], ['_target_name=="libuv"', { 'conditions': [ diff --git a/script/create-dist.py b/script/create-dist.py index c2dc4645f2..e345ed06ca 100755 --- a/script/create-dist.py +++ b/script/create-dist.py @@ -33,6 +33,7 @@ TARGET_BINARIES = { 'icudtl.dat', 'libEGL.dll', 'libGLESv2.dll', + 'node.dll', 'content_resources_200_percent.pak', 'ui_resources_200_percent.pak', 'xinput1_3.dll', @@ -46,6 +47,7 @@ TARGET_BINARIES = { 'libboringssl.so', 'libffmpegsumo.so', 'natives_blob.bin', + 'libnode.so', 'snapshot_blob.bin', ], } diff --git a/vendor/brightray b/vendor/brightray index 21ab1efb09..1b62aab98e 160000 --- a/vendor/brightray +++ b/vendor/brightray @@ -1 +1 @@ -Subproject commit 21ab1efb09e8f7efa5591dc4c989f7012025a133 +Subproject commit 1b62aab98e1e79f6357bd156fc2a43068d4a3f49 diff --git a/vendor/node b/vendor/node index b1cd6a5f5e..bf5162b904 160000 --- a/vendor/node +++ b/vendor/node @@ -1 +1 @@ -Subproject commit b1cd6a5f5e0b18e666c1a27794c4f77992a96bb7 +Subproject commit bf5162b9042ff3e626a1adbd56b547801fda8cbf