Repository: nodejs/node
Pull request: gyp: libnode for ios app embedding

build ios with ninja: https://github.com/chexiongsheng/node_main_ios_android_build/blob/master/ios.sh

Changed files:
filename: configure.py
patch: @@ -45,7 +45,7 @@
 parser = argparse.ArgumentParser()
 
 valid_os = ('win', 'mac', 'solaris', 'freebsd', 'openbsd', 'linux',
-            'android', 'aix', 'cloudabi')
+            'android', 'aix', 'cloudabi', 'ios')
 valid_arch = ('arm', 'arm64', 'ia32', 'mips', 'mipsel', 'mips64el', 'ppc',
               'ppc64', 'x64', 'x86', 'x86_64', 's390x', 'riscv64', 'loong64')
 valid_arm_float_abi = ('soft', 'softfp', 'hard')
@@ -2030,7 +2030,7 @@ def make_bin_override():
 gyp_args += ['-Dbuild_type=' + config['BUILDTYPE']]
 
 if options.use_ninja:
-  gyp_args += ['-f', 'ninja']
+  gyp_args += ['-f', 'ninja-' + flavor]
 elif flavor == 'win' and sys.platform != 'msys':
   gyp_args += ['-f', 'msvs', '-G', 'msvs_version=auto']
 else:

filename: deps/cares/cares.gyp
patch: @@ -157,7 +157,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' ]
         }],

filename: node.gyp
patch: @@ -226,7 +226,7 @@
             },
           },
           'conditions': [
-            ['OS != "aix" and OS != "mac"', {
+            ['OS != "aix" and OS != "mac" and OS != "ios"', {
               'ldflags': [
                 '-Wl,--whole-archive',
                 '<(obj_dir)/<(STATIC_LIB_PREFIX)<(node_core_target_name)<(STATIC_LIB_SUFFIX)',

filename: node.gypi
patch: @@ -145,7 +145,7 @@
             },
           },
           'conditions': [
-            ['OS!="aix" and node_shared=="false"', {
+            ['OS!="aix" and OS!="ios" and node_shared=="false"', {
               'ldflags': [
                 '-Wl,--whole-archive',
                 '<(obj_dir)/deps/zlib/<(STATIC_LIB_PREFIX)zlib<(STATIC_LIB_SUFFIX)',
@@ -184,7 +184,7 @@
             },
           },
           'conditions': [
-            ['OS!="aix" and node_shared=="false"', {
+            ['OS!="aix" and OS!="ios" and node_shared=="false"', {
               'ldflags': [
                 '-Wl,--whole-archive',
                 '<(obj_dir)/deps/uv/<(STATIC_LIB_PREFIX)uv<(STATIC_LIB_SUFFIX)',

filename: tools/v8_gypfiles/v8.gyp
patch: @@ -847,7 +847,8 @@
           'conditions': [
             ['v8_enable_webassembly==1', {
               'conditions': [
-                ['OS=="mac" or (_toolset=="host" and host_arch=="x64" and OS=="linux")', {
+                ['OS=="mac" or OS=="ios" or '
+                 '(_toolset=="host" and host_arch=="x64" and (host_os=="linux" or host_os=="mac"))', {
                   'sources': [
                     '<(V8_ROOT)/src/trap-handler/handler-inside-posix.cc',
                     '<(V8_ROOT)/src/trap-handler/handler-outside-posix.cc',
@@ -861,7 +862,8 @@
                   ],
                 }],
                 # TODO(targos): Replace False with OS=="win" if handler-outside-simulator.cc becomes compatible with MSVC.
-                ['_toolset=="host" and host_arch=="x64" and (OS=="linux" or OS=="mac" or False)', {
+                ['_toolset=="host" and host_arch=="x64" and '
+                 '(host_os=="linux" or host_os=="mac" or False)', {
                   'sources': [
                     '<(V8_ROOT)/src/trap-handler/handler-outside-simulator.cc',
                   ],
@@ -1145,13 +1147,19 @@
             '<(V8_ROOT)/src/base/platform/platform-fuchsia.cc',
           ]
         }],
-        ['OS == "mac" or OS == "ios"', {
+        ['OS == "mac" or (_toolset=="host" and host_os=="mac")', {
           'sources': [
             '<(V8_ROOT)/src/base/debug/stack_trace_posix.cc',
             '<(V8_ROOT)/src/base/platform/platform-darwin.cc',
             '<(V8_ROOT)/src/base/platform/platform-macos.cc',
           ]
         }],
+        ['OS == "ios"', {
+          'sources': [
+            '<(V8_ROOT)/src/base/debug/stack_trace_posix.cc',
+            '<(V8_ROOT)/src/base/platform/platform-darwin.cc',
+          ]
+        }],
         ['is_win', {
           'sources': [
             '<(V8_ROOT)/src/base/debug/stack_trace_win.cc',