12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 |
- From c6103ceab64b73c1a25ece3315ea8f52507c2bfe Mon Sep 17 00:00:00 2001
- From: Adam Duskett <aduskett@gmail.com>
- Date: Mon, 27 Sep 2021 12:55:09 -0700
- Subject: [PATCH] add qemu-wrapper support
- V8's JIT infrastructure requires binaries such as mksnapshot and mkpeephole to
- be run in the host during the build. However, these binaries must have the
- same bit-width as the target (e.g. a x86_64 host targeting ARMv6 needs to
- produce a 32-bit binary). To work around this issue, cross-compile the
- binaries for the target and run them on the host with QEMU, much like
- gobject-introspection.
- However, for the host-variant we do not want to use a
- qemu-wrapper, so add @MAYBE_WRAPPER@ to the needed files and sed the path to
- the qemu-wrapper on target builds, and remove @MAYBE_WRAPPER@ entirely on
- host-builds.
- Signed-off-by: Adam Duskett <aduskett@gmail.com>
- ---
- node.gyp | 4 ++--
- tools/v8_gypfiles/v8.gyp | 10 +++++-----
- 2 files changed, 7 insertions(+), 7 deletions(-)
- diff --git a/node.gyp b/node.gyp
- index 74e9f9cc2e..c3eaab6c92 100644
- --- a/node.gyp
- +++ b/node.gyp
- @@ -295,7 +295,7 @@
- 'action_name': 'run_mkcodecache',
- 'process_outputs_as_sources': 1,
- 'inputs': [
- - '<(mkcodecache_exec)',
- + @MAYBE_WRAPPER@ '<(mkcodecache_exec)',
- ],
- 'outputs': [
- '<(SHARED_INTERMEDIATE_DIR)/node_code_cache.cc',
- @@ -320,7 +320,7 @@
- 'action_name': 'node_mksnapshot',
- 'process_outputs_as_sources': 1,
- 'inputs': [
- - '<(node_mksnapshot_exec)',
- + @MAYBE_WRAPPER@ '<(node_mksnapshot_exec)',
- ],
- 'outputs': [
- '<(SHARED_INTERMEDIATE_DIR)/node_snapshot.cc',
- diff --git a/tools/v8_gypfiles/v8.gyp b/tools/v8_gypfiles/v8.gyp
- index 39b96803c7..9321982ea4 100644
- --- a/tools/v8_gypfiles/v8.gyp
- +++ b/tools/v8_gypfiles/v8.gyp
- @@ -68,7 +68,7 @@
- {
- 'action_name': 'run_torque_action',
- 'inputs': [ # Order matters.
- - '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)torque<(EXECUTABLE_SUFFIX)',
- + @MAYBE_WRAPPER@ '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)torque<(EXECUTABLE_SUFFIX)',
- '<@(torque_files)',
- ],
- 'outputs': [
- @@ -99,7 +99,7 @@
- '<@(torque_outputs_inc)',
- ],
- 'action': [
- - '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)torque<(EXECUTABLE_SUFFIX)',
- + @MAYBE_WRAPPER@ '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)torque<(EXECUTABLE_SUFFIX)',
- '-o', '<(SHARED_INTERMEDIATE_DIR)/torque-generated',
- '-v8-root', '<(V8_ROOT)',
- '<@(torque_files_without_v8_root)',
- @@ -211,7 +211,7 @@
- {
- 'action_name': 'generate_bytecode_builtins_list_action',
- 'inputs': [
- - '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)bytecode_builtins_list_generator<(EXECUTABLE_SUFFIX)',
- + @MAYBE_WRAPPER@ '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)bytecode_builtins_list_generator<(EXECUTABLE_SUFFIX)',
- ],
- 'outputs': [
- '<(generate_bytecode_builtins_list_output)',
- @@ -395,7 +395,7 @@
- ],
- },
- 'inputs': [
- - '<(mksnapshot_exec)',
- + @MAYBE_WRAPPER@ '<(mksnapshot_exec)',
- ],
- 'outputs': [
- '<(INTERMEDIATE_DIR)/snapshot.cc',
- @@ -1503,7 +1503,7 @@
- {
- 'action_name': 'run_gen-regexp-special-case_action',
- 'inputs': [
- - '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)gen-regexp-special-case<(EXECUTABLE_SUFFIX)',
- + @MAYBE_WRAPPER@ '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)gen-regexp-special-case<(EXECUTABLE_SUFFIX)',
- ],
- 'outputs': [
- '<(SHARED_INTERMEDIATE_DIR)/src/regexp/special-case.cc',
- --
- 2.37.3
|