From 4e7d0786683ee6cb24730a66dfb8d4197a55c71d Mon Sep 17 00:00:00 2001 From: MCApollo <34170230+MCApollo@users.noreply.github.com> Date: Thu, 23 May 2019 07:48:51 +0000 Subject: WIP 4 --- data/node/configure-ios.diff | 62 ++++++++++++++++++++++++-------- data/node/gyp.diff | 84 ++++++++++++++++++++++++++++++++++++++++++++ data/node/make.sh | 2 +- 3 files changed, 132 insertions(+), 16 deletions(-) create mode 100644 data/node/gyp.diff diff --git a/data/node/configure-ios.diff b/data/node/configure-ios.diff index e0029bd81..c81403d5a 100644 --- a/data/node/configure-ios.diff +++ b/data/node/configure-ios.diff @@ -1,6 +1,6 @@ diff -ur node-v12.2.0/common.gypi node-v12.2.0+iPhone/common.gypi --- node-v12.2.0/common.gypi 2019-05-07 14:52:12.000000000 +0000 -+++ node-v12.2.0+iPhone/common.gypi 2019-05-22 20:29:16.888798582 +0000 ++++ node-v12.2.0+iPhone/common.gypi 2019-05-23 07:31:51.350642966 +0000 @@ -95,7 +95,7 @@ 'os_posix': 1, 'v8_postmortem_support%': 1, @@ -82,7 +82,7 @@ diff -ur node-v12.2.0/common.gypi node-v12.2.0+iPhone/common.gypi 'GCC_VERSION': 'com.apple.compilers.llvm.clang.1_0', diff -ur node-v12.2.0/configure.py node-v12.2.0+iPhone/configure.py --- node-v12.2.0/configure.py 2019-05-07 14:52:12.000000000 +0000 -+++ node-v12.2.0+iPhone/configure.py 2019-05-22 20:06:51.092344228 +0000 ++++ node-v12.2.0+iPhone/configure.py 2019-05-23 07:31:51.350642966 +0000 @@ -44,7 +44,7 @@ parser = optparse.OptionParser() @@ -101,9 +101,23 @@ diff -ur node-v12.2.0/configure.py node-v12.2.0+iPhone/configure.py 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.2.0/deps/brotli/brotli.gyp node-v12.2.0+iPhone/deps/brotli/brotli.gyp --- node-v12.2.0/deps/brotli/brotli.gyp 2019-05-07 14:52:12.000000000 +0000 -+++ node-v12.2.0+iPhone/deps/brotli/brotli.gyp 2019-05-22 20:06:51.092344228 +0000 ++++ node-v12.2.0+iPhone/deps/brotli/brotli.gyp 2019-05-23 07:31:51.354642969 +0000 @@ -15,7 +15,7 @@ 'OS_FREEBSD' ] @@ -115,7 +129,7 @@ diff -ur node-v12.2.0/deps/brotli/brotli.gyp node-v12.2.0+iPhone/deps/brotli/bro ] diff -ur node-v12.2.0/deps/cares/cares.gyp node-v12.2.0+iPhone/deps/cares/cares.gyp --- node-v12.2.0/deps/cares/cares.gyp 2019-05-07 14:52:12.000000000 +0000 -+++ node-v12.2.0+iPhone/deps/cares/cares.gyp 2019-05-22 20:06:51.092344228 +0000 ++++ node-v12.2.0+iPhone/deps/cares/cares.gyp 2019-05-23 07:31:51.354642969 +0000 @@ -145,7 +145,7 @@ 'include_dirs': [ 'config/linux' ], 'sources': [ 'config/linux/ares_config.h' ] @@ -127,7 +141,7 @@ diff -ur node-v12.2.0/deps/cares/cares.gyp node-v12.2.0+iPhone/deps/cares/cares. }], diff -ur node-v12.2.0/deps/npm/node_modules/node-gyp/addon.gypi node-v12.2.0+iPhone/deps/npm/node_modules/node-gyp/addon.gypi --- node-v12.2.0/deps/npm/node_modules/node-gyp/addon.gypi 2019-05-07 14:52:13.000000000 +0000 -+++ node-v12.2.0+iPhone/deps/npm/node_modules/node-gyp/addon.gypi 2019-05-22 20:06:51.096344229 +0000 ++++ node-v12.2.0+iPhone/deps/npm/node_modules/node-gyp/addon.gypi 2019-05-23 07:31:51.354642969 +0000 @@ -79,7 +79,7 @@ ], @@ -139,7 +153,7 @@ diff -ur node-v12.2.0/deps/npm/node_modules/node-gyp/addon.gypi node-v12.2.0+iPh ], diff -ur node-v12.2.0/deps/npm/node_modules/node-gyp/gyp/tools/emacs/testdata/media.gyp node-v12.2.0+iPhone/deps/npm/node_modules/node-gyp/gyp/tools/emacs/testdata/media.gyp --- node-v12.2.0/deps/npm/node_modules/node-gyp/gyp/tools/emacs/testdata/media.gyp 2019-05-07 14:52:13.000000000 +0000 -+++ node-v12.2.0+iPhone/deps/npm/node_modules/node-gyp/gyp/tools/emacs/testdata/media.gyp 2019-05-22 20:06:51.096344229 +0000 ++++ node-v12.2.0+iPhone/deps/npm/node_modules/node-gyp/gyp/tools/emacs/testdata/media.gyp 2019-05-23 07:31:51.354642969 +0000 @@ -545,12 +545,12 @@ 'base/simd/scale_yuv_to_rgb_sse2_x64.asm', ], @@ -202,7 +216,7 @@ diff -ur node-v12.2.0/deps/npm/node_modules/node-gyp/gyp/tools/emacs/testdata/me 'dependencies': [ diff -ur node-v12.2.0/deps/uv/common.gypi node-v12.2.0+iPhone/deps/uv/common.gypi --- node-v12.2.0/deps/uv/common.gypi 2019-05-07 14:52:14.000000000 +0000 -+++ node-v12.2.0+iPhone/deps/uv/common.gypi 2019-05-22 20:12:28.512435406 +0000 ++++ node-v12.2.0+iPhone/deps/uv/common.gypi 2019-05-23 07:31:51.358642971 +0000 @@ -168,6 +168,13 @@ }], ], @@ -229,7 +243,7 @@ diff -ur node-v12.2.0/deps/uv/common.gypi node-v12.2.0+iPhone/deps/uv/common.gyp ['_type!="static_library"', { diff -ur node-v12.2.0/deps/uv/uv.gyp node-v12.2.0+iPhone/deps/uv/uv.gyp --- node-v12.2.0/deps/uv/uv.gyp 2019-05-07 14:52:14.000000000 +0000 -+++ node-v12.2.0+iPhone/deps/uv/uv.gyp 2019-05-22 20:06:51.096344229 +0000 ++++ node-v12.2.0+iPhone/deps/uv/uv.gyp 2019-05-23 07:31:51.358642971 +0000 @@ -198,7 +198,7 @@ }], ], @@ -241,8 +255,26 @@ diff -ur node-v12.2.0/deps/uv/uv.gyp node-v12.2.0+iPhone/deps/uv/uv.gyp # in include/uv/version.h diff -ur node-v12.2.0/node.gyp node-v12.2.0+iPhone/node.gyp --- node-v12.2.0/node.gyp 2019-05-07 14:52:15.000000000 +0000 -+++ node-v12.2.0+iPhone/node.gyp 2019-05-22 20:06:51.096344229 +0000 -@@ -760,7 +760,7 @@ ++++ node-v12.2.0+iPhone/node.gyp 2019-05-23 07:48:01.767172790 +0000 +@@ -656,6 +656,17 @@ + 'common.gypi', + ], + ++ 'conditions': [ ++ ['node_use_node_snapshot=="false" and OS=="ios"', { ++ # XXX(mac): Is this really needed? ++ # According to configure.py, code_cache is broken when cross compiling. ++ 'sources': [ ++ 'src/node_snapshot_stub.cc', ++ 'src/node_code_cache_stub.cc', ++ ], ++ }], ++ ], ++ + 'variables': { + 'openssl_system_ca_path%': '', + }, +@@ -760,7 +771,7 @@ '<(SHARED_INTERMEDIATE_DIR)/node_dtrace_provider.o' ], }], @@ -251,7 +283,7 @@ diff -ur node-v12.2.0/node.gyp node-v12.2.0+iPhone/node.gyp 'sources': [ 'src/node_dtrace_ustack.cc', 'src/node_dtrace_provider.cc', -@@ -938,7 +938,7 @@ +@@ -938,7 +949,7 @@ 'target_name': 'node_dtrace_provider', 'type': 'none', 'conditions': [ @@ -260,7 +292,7 @@ diff -ur node-v12.2.0/node.gyp node-v12.2.0+iPhone/node.gyp 'actions': [ { 'action_name': 'node_dtrace_provider_o', -@@ -973,7 +973,7 @@ +@@ -973,7 +984,7 @@ 'target_name': 'node_dtrace_ustack', 'type': 'none', 'conditions': [ @@ -271,7 +303,7 @@ diff -ur node-v12.2.0/node.gyp node-v12.2.0+iPhone/node.gyp 'action_name': 'node_dtrace_ustack_constants', diff -ur node-v12.2.0/node.gypi node-v12.2.0+iPhone/node.gypi --- node-v12.2.0/node.gypi 2019-05-07 14:52:15.000000000 +0000 -+++ node-v12.2.0+iPhone/node.gypi 2019-05-22 20:06:51.096344229 +0000 ++++ node-v12.2.0+iPhone/node.gypi 2019-05-23 07:31:51.358642971 +0000 @@ -202,7 +202,7 @@ 'dependencies': [ 'deps/brotli/brotli.gyp:brotli' ], }], @@ -283,7 +315,7 @@ diff -ur node-v12.2.0/node.gypi node-v12.2.0+iPhone/node.gypi 'libraries': [ '-framework CoreFoundation' ], diff -ur node-v12.2.0/tools/v8_gypfiles/d8.gyp node-v12.2.0+iPhone/tools/v8_gypfiles/d8.gyp --- node-v12.2.0/tools/v8_gypfiles/d8.gyp 2019-05-07 14:52:17.000000000 +0000 -+++ node-v12.2.0+iPhone/tools/v8_gypfiles/d8.gyp 2019-05-22 20:23:51.476674163 +0000 ++++ node-v12.2.0+iPhone/tools/v8_gypfiles/d8.gyp 2019-05-23 07:31:51.358642971 +0000 @@ -43,7 +43,7 @@ 'd8_js2c#host', ], @@ -295,7 +327,7 @@ diff -ur node-v12.2.0/tools/v8_gypfiles/d8.gyp node-v12.2.0+iPhone/tools/v8_gypf 'sources': [ '../src/d8-posix.cc', ] diff -ur node-v12.2.0/tools/v8_gypfiles/v8.gyp node-v12.2.0+iPhone/tools/v8_gypfiles/v8.gyp --- node-v12.2.0/tools/v8_gypfiles/v8.gyp 2019-05-07 14:52:17.000000000 +0000 -+++ node-v12.2.0+iPhone/tools/v8_gypfiles/v8.gyp 2019-05-22 20:22:56.508653556 +0000 ++++ node-v12.2.0+iPhone/tools/v8_gypfiles/v8.gyp 2019-05-23 07:31:51.362642972 +0000 @@ -128,6 +128,12 @@ 'OTHER_LDFLAGS': ['-dynamiclib', '-all_load'] }, diff --git a/data/node/gyp.diff b/data/node/gyp.diff new file mode 100644 index 000000000..9bef5e88c --- /dev/null +++ b/data/node/gyp.diff @@ -0,0 +1,84 @@ +diff -ur node-v12.2.0/tools/gyp/pylib/gyp/generator/make.py node-v12.2.0+iPhone/tools/gyp/pylib/gyp/generator/make.py +--- node-v12.2.0/tools/gyp/pylib/gyp/generator/make.py 2019-05-07 14:52:16.000000000 +0000 ++++ node-v12.2.0+iPhone/tools/gyp/pylib/gyp/generator/make.py 2019-05-23 02:23:10.400738717 +0000 +@@ -173,8 +173,25 @@ + """ + + LINK_COMMANDS_MAC = """\ +-quiet_cmd_alink = LIBTOOL-STATIC $@ +-cmd_alink = rm -f $@ && ./gyp-mac-tool filter-libtool libtool $(GYP_LIBTOOLFLAGS) -static -o $@ $(filter %.o,$^) ++quiet_cmd_alink = AR($(TOOLSET)) $@ ++cmd_alink = rm -f $@ && $(AR.$(TOOLSET)) crs $@ $(filter %.o,$^) ++ ++quiet_cmd_alink_thin = AR($(TOOLSET)) $@ ++cmd_alink_thin = rm -f $@ && $(AR.$(TOOLSET)) crsT $@ $(filter %.o,$^) ++ ++quiet_cmd_solink = SOLINK($(TOOLSET)) $@ ++cmd_solink = $(LINK.$(TOOLSET)) -shared $(GYP_LDFLAGS) $(LDFLAGS.$(TOOLSET)) -o "$@" $(LD_INPUTS) $(LIBS) ++ ++quiet_cmd_solink_module = SOLINK_MODULE($(TOOLSET)) $@ ++cmd_solink_module = $(LINK.$(TOOLSET)) -bundle $(GYP_LDFLAGS) $(LDFLAGS.$(TOOLSET)) -o $@ $(filter-out FORCE_DO_CMD, $^) $(LIBS) ++""" ++ ++LINK_COMMANDS_IOS = """\ ++quiet_cmd_alink = AR($(TOOLSET)) $@ ++cmd_alink = rm -f $@ && $(AR.$(TOOLSET)) crs $@ $(filter %.o,$^) ++ ++quiet_cmd_alink_thin = AR($(TOOLSET)) $@ ++cmd_alink_thin = rm -f $@ && $(AR.$(TOOLSET)) crs $@ $(filter %.o,$^) + + quiet_cmd_link = LINK($(TOOLSET)) $@ + cmd_link = $(LINK.$(TOOLSET)) $(GYP_LDFLAGS) $(LDFLAGS.$(TOOLSET)) -o "$@" $(LD_INPUTS) $(LIBS) +@@ -502,7 +519,6 @@ + cmd_infoplist = $(CC.$(TOOLSET)) -E -P -Wno-trigraphs -x c $(INFOPLIST_DEFINES) "$<" -o "$@" + """ + +- + def WriteRootHeaderSuffixRules(writer): + extensions = sorted(COMPILABLE_EXTENSIONS.keys(), key=str.lower) + +@@ -2033,41 +2049,9 @@ + 'srcdir': srcdir, + 'copy_archive_args': copy_archive_arguments, + } +- if flavor == 'mac': +- flock_command = './gyp-mac-tool flock' +- header_params.update({ +- 'flock': flock_command, +- 'flock_index': 2, +- 'link_commands': LINK_COMMANDS_MAC, +- 'extra_commands': SHARED_HEADER_MAC_COMMANDS, +- }) +- elif flavor == 'android': +- header_params.update({ +- 'link_commands': LINK_COMMANDS_ANDROID, +- }) +- elif flavor == 'solaris': +- header_params.update({ +- 'flock': './gyp-flock-tool flock', +- 'flock_index': 2, +- }) +- elif flavor == 'freebsd': +- # Note: OpenBSD has sysutils/flock. lockf seems to be FreeBSD specific. +- header_params.update({ +- 'flock': 'lockf', +- }) +- elif flavor == 'openbsd': +- copy_archive_arguments = '-pPRf' +- header_params.update({ +- 'copy_archive_args': copy_archive_arguments, +- }) +- elif flavor == 'aix': +- copy_archive_arguments = '-pPRf' +- header_params.update({ +- 'copy_archive_args': copy_archive_arguments, +- 'link_commands': LINK_COMMANDS_AIX, +- 'flock': './gyp-flock-tool flock', +- 'flock_index': 2, +- }) ++ header_params.update({ ++ 'link_commands': LINK_COMMANDS_IOS, ++ }) + + header_params.update({ + 'CC.target': GetEnvironFallback(('CC_target', 'CC'), '$(CC)'), diff --git a/data/node/make.sh b/data/node/make.sh index fc096737d..3f0521b48 100644 --- a/data/node/make.sh +++ b/data/node/make.sh @@ -22,5 +22,5 @@ export AR_target="${AR}" export GYP_CROSSCOMPILE=1 export GYP_DEFINES="target_arch=arm64 v8_target_arch=arm64 host_os=linux target_os=ios OS=ios" -./configure --without-snapshot --dest-os=ios --dest-cpu=arm64 --with-intl=none --shared-zlib --shared-cares --shared-openssl # --openssl-no-asm +./configure --without-snapshot --shared --dest-os=ios --dest-cpu=arm64 --with-intl=none --shared-zlib --shared-cares --shared-openssl # --openssl-no-asm make -- cgit v1.2.3