Index: shell/BUILD.gn |
diff --git a/shell/BUILD.gn b/shell/BUILD.gn |
index 56c6596b7a2dcf4a4bd75664c3d6463b1fad1916..42473af0d7e2b4efa92e78592284b33a40a150b8 100644 |
--- a/shell/BUILD.gn |
+++ b/shell/BUILD.gn |
@@ -83,7 +83,7 @@ if (!mojo_use_prebuilt_mojo_shell) { |
"desktop/main.cc", |
] |
- deps = shell_common_deps |
+ deps = shell_common_deps + [ ":mojo_shell_child_32_bit" ] |
data_deps = shell_common_data_deps |
} |
@@ -105,6 +105,37 @@ if (!mojo_use_prebuilt_mojo_shell) { |
"//mojo/message_pump", |
] |
} |
+ |
+ if (current_cpu == "x86") { |
+ # The 32-bit version of the mojo_shell_child should be accessible in the |
+ # root build directory, just like the regular mojo_shell_child, so that |
+ # the 32-bit version can be accessed by simply adding a suffix to the path. |
+ copy("mojo_shell_child_32_bit_copy") { |
+ sources = [ |
+ "${root_out_dir}/mojo_shell_child", |
+ ] |
+ outputs = [ |
+ "${root_build_dir}/mojo_shell_child_32", |
+ ] |
+ deps = [ |
+ ":mojo_shell_child", |
+ ] |
+ } |
+ } |
+ |
+ group("mojo_shell_child_32_bit") { |
+ # This group is required to run any 32-bit child process. |
+ deps = [] |
+ if ((target_cpu == "x64" || target_cpu == "x86") && is_linux) { |
+ # The toolchain is hardcoded as 32-bit clang here -- although it must |
+ # be 32 bit (for nonsfi), it assumes clang. Ideally, the toolchain would |
+ # be defined as the 32 bit variant of whatever is being used (be it clang, |
+ # gcc, or something else). |
+ deps = [ |
+ ":mojo_shell_child_32_bit_copy(//build/toolchain/linux:clang_x86)", |
+ ] |
+ } |
+ } |
} # !mojo_use_prebuilt_mojo_shell |
# Files used both by mojo_shell and mojo_shell_child (and tests). |