From 9c64d929e61153cd05fef8eb1e61d3ad2b2f46c1 Mon Sep 17 00:00:00 2001 From: Sam Bingner Date: Fri, 31 May 2019 00:03:54 -1000 Subject: Updates for node.js and libnghttp2 --- data/nodejs/configure-ios.diff | 363 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 363 insertions(+) create mode 100644 data/nodejs/configure-ios.diff (limited to 'data/nodejs/configure-ios.diff') diff --git a/data/nodejs/configure-ios.diff b/data/nodejs/configure-ios.diff new file mode 100644 index 000000000..053234802 --- /dev/null +++ b/data/nodejs/configure-ios.diff @@ -0,0 +1,363 @@ +diff -ur node-v12.3.1/common.gypi node-v12.3.1+iPhone/common.gypi +--- node-v12.3.1/common.gypi 2019-05-22 12:21:51.000000000 +0000 ++++ node-v12.3.1+iPhone/common.gypi 2019-05-25 00:16:01.809813352 +0000 +@@ -95,7 +95,7 @@ + 'os_posix': 1, + 'v8_postmortem_support%': 1, + }], +- ['OS == "mac"', { ++ ['OS == "mac" or OS=="ios"', { + 'obj_dir%': '<(PRODUCT_DIR)/obj.target', + 'v8_base': '<(PRODUCT_DIR)/libv8_base.a', + }], +@@ -104,7 +104,7 @@ + }, { + 'openssl_product': '<(STATIC_LIB_PREFIX)openssl<(STATIC_LIB_SUFFIX)', + }], +- ['OS=="mac"', { ++ ['OS=="mac" or OS=="ios"', { + 'clang%': 1, + }], + ], +@@ -172,7 +172,7 @@ + # pull in V8's postmortem metadata + 'ldflags': [ '-Wl,-z,allextract' ] + }], +- ['OS!="mac" and OS!="win"', { ++ ['OS!="mac" and OS!="ios" and OS!="win"', { + 'cflags': [ '-fno-omit-frame-pointer' ], + }], + ['OS=="linux"', { +@@ -293,7 +293,7 @@ + [ 'target_arch=="arm64"', { + 'msvs_configuration_platform': 'arm64', + }], +- ['asan == 1 and OS != "mac"', { ++ ['asan == 1 and (OS != "mac" or OS != "ios")', { + 'cflags+': [ + '-fno-omit-frame-pointer', + '-fsanitize=address', +@@ -302,7 +302,7 @@ + 'cflags!': [ '-fomit-frame-pointer' ], + 'ldflags': [ '-fsanitize=address' ], + }], +- ['asan == 1 and OS == "mac"', { ++ ['asan == 1 and (OS == "mac" or OS == "ios")', { + 'xcode_settings': { + 'OTHER_CFLAGS+': [ + '-fno-omit-frame-pointer', +@@ -425,6 +425,21 @@ + }], + ], + }], ++ ['OS=="ios"', { ++ 'defines': [ ++ '__IPHONEOS__', ++ 'TARGET_OS_IPHONE', ++ 'V8_TARGET_OS_IPHONE', ++ '_DARWIN_USE_64_BIT_INODE', ++ '__AARCH64EL__', ++ '_M_ARM64', ++ ], ++ 'cflags': [ ++ '-fno-exceptions', ++ '-fno-rtti', ++ '-fno-strict-aliasing' ++ ], ++ }], + ['OS=="mac"', { + 'defines': ['_DARWIN_USE_64_BIT_INODE=1'], + 'xcode_settings': { +@@ -436,7 +451,6 @@ + 'GCC_ENABLE_CPP_RTTI': 'NO', # -fno-rtti + 'GCC_ENABLE_PASCAL_STRINGS': 'NO', # No -mpascal-strings + 'PREBINDING': 'NO', # No -Wl,-prebind +- 'MACOSX_DEPLOYMENT_TARGET': '10.10', # -mmacosx-version-min=10.10 + 'USE_HEADERMAP': 'NO', + 'OTHER_CFLAGS': [ + '-fno-strict-aliasing', +@@ -465,6 +479,9 @@ + ['target_arch=="x64"', { + 'xcode_settings': {'ARCHS': ['x86_64']}, + }], ++ [ 'target_arch=="arm64"', { ++ 'xcode_settings': {'ARCHS': ['arm64']}, ++ }], + ['clang==1', { + 'xcode_settings': { + 'GCC_VERSION': 'com.apple.compilers.llvm.clang.1_0', +diff -ur node-v12.3.1/configure.py node-v12.3.1+iPhone/configure.py +--- node-v12.3.1/configure.py 2019-05-22 12:21:51.000000000 +0000 ++++ node-v12.3.1+iPhone/configure.py 2019-05-25 00:16:01.809813352 +0000 +@@ -44,7 +44,7 @@ + parser = optparse.OptionParser() + + valid_os = ('win', 'mac', 'solaris', 'freebsd', 'openbsd', 'linux', +- 'android', 'aix', 'cloudabi') ++ 'ios', 'android', 'aix', 'cloudabi') + valid_arch = ('arm', 'arm64', 'ia32', 'ppc', + 'ppc64', 'x32','x64', 'x86', 'x86_64', 's390', 's390x') + valid_arm_float_abi = ('soft', 'softfp', 'hard') +@@ -908,6 +908,8 @@ + def configure_node(o): + if options.dest_os == 'android': + o['variables']['OS'] = 'android' ++ if options.dest_os == 'ios': ++ o['variables']['OS'] = 'ios' + o['variables']['node_prefix'] = options.prefix + o['variables']['node_install_npm'] = b(not options.without_npm) + o['variables']['node_report'] = b(not options.without_report) +@@ -1069,12 +1071,7 @@ + o['variables']['node_shared'] = b(options.shared) + node_module_version = getmoduleversion.get_version() + +- if sys.platform == 'darwin': +- shlib_suffix = '%s.dylib' +- elif sys.platform.startswith('aix'): +- shlib_suffix = '%s.a' +- else: +- shlib_suffix = 'so.%s' ++ shlib_suffix = '%s.dylib' + + shlib_suffix %= node_module_version + o['variables']['node_module_version'] = int(node_module_version) +diff -ur node-v12.3.1/deps/brotli/brotli.gyp node-v12.3.1+iPhone/deps/brotli/brotli.gyp +--- node-v12.3.1/deps/brotli/brotli.gyp 2019-05-22 12:21:51.000000000 +0000 ++++ node-v12.3.1+iPhone/deps/brotli/brotli.gyp 2019-05-25 00:16:01.809813352 +0000 +@@ -15,7 +15,7 @@ + 'OS_FREEBSD' + ] + }], +- ['OS=="mac"', { ++ ['OS=="mac" or OS=="ios"', { + 'defines': [ + 'OS_MACOSX' + ] +diff -ur node-v12.3.1/deps/cares/cares.gyp node-v12.3.1+iPhone/deps/cares/cares.gyp +--- node-v12.3.1/deps/cares/cares.gyp 2019-05-22 12:21:51.000000000 +0000 ++++ node-v12.3.1+iPhone/deps/cares/cares.gyp 2019-05-25 00:16:01.813813354 +0000 +@@ -145,7 +145,7 @@ + 'include_dirs': [ 'config/linux' ], + 'sources': [ 'config/linux/ares_config.h' ] + }], +- [ 'OS=="mac"', { ++ [ 'OS=="mac" or OS=="ios"', { + 'include_dirs': [ 'config/darwin' ], + 'sources': [ 'config/darwin/ares_config.h' ] + }], +diff -ur node-v12.3.1/deps/npm/node_modules/node-gyp/addon.gypi node-v12.3.1+iPhone/deps/npm/node_modules/node-gyp/addon.gypi +--- node-v12.3.1/deps/npm/node_modules/node-gyp/addon.gypi 2019-05-22 12:21:51.000000000 +0000 ++++ node-v12.3.1+iPhone/deps/npm/node_modules/node-gyp/addon.gypi 2019-05-25 00:16:01.813813354 +0000 +@@ -79,7 +79,7 @@ + ], + + 'conditions': [ +- [ 'OS=="mac"', { ++ [ 'OS=="mac" or OS=="ios"', { + 'defines': [ + '_DARWIN_USE_64_BIT_INODE=1' + ], +diff -ur node-v12.3.1/deps/npm/node_modules/node-gyp/gyp/tools/emacs/testdata/media.gyp node-v12.3.1+iPhone/deps/npm/node_modules/node-gyp/gyp/tools/emacs/testdata/media.gyp +--- node-v12.3.1/deps/npm/node_modules/node-gyp/gyp/tools/emacs/testdata/media.gyp 2019-05-22 12:21:51.000000000 +0000 ++++ node-v12.3.1+iPhone/deps/npm/node_modules/node-gyp/gyp/tools/emacs/testdata/media.gyp 2019-05-25 00:16:01.813813354 +0000 +@@ -545,12 +545,12 @@ + 'base/simd/scale_yuv_to_rgb_sse2_x64.asm', + ], + }], +- [ 'os_posix == 1 and OS != "mac" and OS != "android"', { ++ [ 'os_posix == 1 and OS != "mac" and OS != "ios" and OS != "android"', { + 'cflags': [ + '-msse2', + ], + }], +- [ 'OS == "mac"', { ++ [ 'OS == "mac" or OS == "ios"', { + 'configurations': { + 'Debug': { + 'xcode_settings': { +@@ -572,7 +572,7 @@ + ], + }, + }], +- [ 'OS=="mac"', { ++ [ 'OS=="mac" or OS=="ios"', { + 'variables': { + 'yasm_flags': [ + '-DPREFIX', +@@ -582,7 +582,7 @@ + ], + }, + }], +- [ 'os_posix==1 and OS!="mac"', { ++ [ 'os_posix==1 and OS!="mac" and OS!="ios"', { + 'variables': { + 'conditions': [ + [ 'target_arch=="ia32"', { +@@ -710,7 +710,7 @@ + 'webm/webm_parser_unittest.cc', + ], + 'conditions': [ +- ['os_posix==1 and OS!="mac"', { ++ ['os_posix==1 and OS!="mac" and OS!="ios"', { + 'conditions': [ + ['linux_use_tcmalloc==1', { + 'dependencies': [ +@@ -930,7 +930,7 @@ + }, + ], + }], +- ['os_posix == 1 and OS != "mac" and OS != "android"', { ++ ['os_posix == 1 and OS != "mac" and OS != "ios" and OS != "android"', { + 'targets': [ + { + 'target_name': 'player_x11', +@@ -1064,7 +1064,7 @@ + 'filters/pipeline_integration_test_base.cc', + ], + 'conditions': [ +- ['os_posix==1 and OS!="mac"', { ++ ['os_posix==1 and OS!="mac" and OS!="ios"', { + 'conditions': [ + ['linux_use_tcmalloc==1', { + 'dependencies': [ +diff -ur node-v12.3.1/deps/uv/common.gypi node-v12.3.1+iPhone/deps/uv/common.gypi +--- node-v12.3.1/deps/uv/common.gypi 2019-05-22 12:21:52.000000000 +0000 ++++ node-v12.3.1+iPhone/deps/uv/common.gypi 2019-05-25 00:16:01.813813354 +0000 +@@ -168,6 +168,13 @@ + }], + ], + }], ++ ['OS=="ios"', { ++ 'cflags': [ ++ '-fno-exceptions', ++ '-fno-rtti', ++ '-fno-threadsafe-statics' ++ ], ++ }], + ['OS=="mac"', { + 'xcode_settings': { + 'ALWAYS_SEARCH_USER_PATHS': 'NO', +diff -ur node-v12.3.1/deps/uv/uv.gyp node-v12.3.1+iPhone/deps/uv/uv.gyp +--- node-v12.3.1/deps/uv/uv.gyp 2019-05-22 12:21:52.000000000 +0000 ++++ node-v12.3.1+iPhone/deps/uv/uv.gyp 2019-05-25 00:16:01.813813354 +0000 +@@ -198,7 +198,7 @@ + }], + ], + }], +- ['uv_library=="shared_library" and OS!="mac" and OS!="zos"', { ++ ['uv_library=="shared_library" and OS!="mac" and OS!="ios" and OS!="zos"', { + # This will cause gyp to set soname + # Must correspond with UV_VERSION_MAJOR + # in include/uv/version.h +diff -ur node-v12.3.1/node.gyp node-v12.3.1+iPhone/node.gyp +--- node-v12.3.1/node.gyp 2019-05-22 12:21:54.000000000 +0000 ++++ node-v12.3.1+iPhone/node.gyp 2019-05-25 12:01:52.868864501 +0000 +@@ -351,9 +351,8 @@ + 'conditions': [ + ['OS!="aix"', { + 'ldflags': [ +- '-Wl,--whole-archive,<(obj_dir)/<(STATIC_LIB_PREFIX)' ++ '-Wl,-force_load,<(obj_dir)/<(STATIC_LIB_PREFIX)' + '<(node_core_target_name)<(STATIC_LIB_SUFFIX)', +- '-Wl,--no-whole-archive', + ], + }], + [ 'OS=="win"', { +@@ -414,7 +413,7 @@ + }, + }, + }], +- ['want_separate_host_toolset==0', { ++ ['want_separate_host_toolset==1', { + 'dependencies': [ + 'mkcodecache', + ], +@@ -760,7 +759,7 @@ + '<(SHARED_INTERMEDIATE_DIR)/node_dtrace_provider.o' + ], + }], +- [ 'OS!="mac" and OS!="linux"', { ++ [ 'OS!="mac" and OS!="ios" and OS!="linux"', { + 'sources': [ + 'src/node_dtrace_ustack.cc', + 'src/node_dtrace_provider.cc', +@@ -939,7 +938,7 @@ + 'target_name': 'node_dtrace_provider', + 'type': 'none', + 'conditions': [ +- [ 'node_use_dtrace=="true" and OS!="mac" and OS!="linux"', { ++ [ 'node_use_dtrace=="true" and OS!="mac" and OS!="ios" and OS!="linux"', { + 'actions': [ + { + 'action_name': 'node_dtrace_provider_o', +@@ -974,7 +973,7 @@ + 'target_name': 'node_dtrace_ustack', + 'type': 'none', + 'conditions': [ +- [ 'node_use_dtrace=="true" and OS!="mac" and OS!="linux"', { ++ [ 'node_use_dtrace=="true" and OS!="mac" and OS!="ios" and OS!="linux"', { + 'actions': [ + { + 'action_name': 'node_dtrace_ustack_constants', +diff -ur node-v12.3.1/node.gypi node-v12.3.1+iPhone/node.gypi +--- node-v12.3.1/node.gypi 2019-05-22 12:21:54.000000000 +0000 ++++ node-v12.3.1+iPhone/node.gypi 2019-05-25 12:03:43.012932500 +0000 +@@ -143,9 +143,8 @@ + 'conditions': [ + ['OS!="aix" and node_shared=="false"', { + 'ldflags': [ +- '-Wl,--whole-archive,' ++ '-Wl,-force_load,' + '<(obj_dir)/deps/zlib/<(STATIC_LIB_PREFIX)zlib<(STATIC_LIB_SUFFIX)', +- '-Wl,--no-whole-archive', + ], + }], + ], +@@ -184,9 +183,8 @@ + 'conditions': [ + ['OS!="aix" and node_shared=="false"', { + 'ldflags': [ +- '-Wl,--whole-archive,' ++ '-Wl,-force_load,' + '<(obj_dir)/deps/uv/<(STATIC_LIB_PREFIX)uv<(STATIC_LIB_SUFFIX)', +- '-Wl,--no-whole-archive', + ], + }], + ], +@@ -202,7 +200,7 @@ + 'dependencies': [ 'deps/brotli/brotli.gyp:brotli' ], + }], + +- [ 'OS=="mac"', { ++ [ 'OS=="mac" or OS=="ios"', { + # linking Corefoundation is needed since certain OSX debugging tools + # like Instruments require it for some features + 'libraries': [ '-framework CoreFoundation' ], +diff -ur node-v12.3.1/tools/v8_gypfiles/d8.gyp node-v12.3.1+iPhone/tools/v8_gypfiles/d8.gyp +--- node-v12.3.1/tools/v8_gypfiles/d8.gyp 2019-05-22 12:21:55.000000000 +0000 ++++ node-v12.3.1+iPhone/tools/v8_gypfiles/d8.gyp 2019-05-25 00:16:01.817813355 +0000 +@@ -43,7 +43,7 @@ + 'd8_js2c#host', + ], + }], +- ['(OS=="linux" or OS=="mac" or OS=="freebsd" or OS=="netbsd" \ ++ ['(OS=="linux" or OS=="mac" or OS=="ios" or OS=="freebsd" or OS=="netbsd" \ + or OS=="openbsd" or OS=="solaris" or OS=="android" \ + or OS=="qnx" or OS=="aix")', { + 'sources': [ '../src/d8-posix.cc', ] +diff -ur node-v12.3.1/tools/v8_gypfiles/v8.gyp node-v12.3.1+iPhone/tools/v8_gypfiles/v8.gyp +--- node-v12.3.1/tools/v8_gypfiles/v8.gyp 2019-05-22 12:21:55.000000000 +0000 ++++ node-v12.3.1+iPhone/tools/v8_gypfiles/v8.gyp 2019-05-25 00:16:01.817813355 +0000 +@@ -128,6 +128,12 @@ + 'OTHER_LDFLAGS': ['-dynamiclib', '-all_load'] + }, + }], ++ ['OS=="ios"', { ++ 'ldflags': [ ++ '-dynamiclib', ++ '-all_load' ++ ], ++ }], + ['soname_version!=""', { + 'product_extension': 'so.<(soname_version)', + }], -- cgit v1.2.3