diff options
author | A. Cody Schuffelen <schuffelen@google.com> | 2023-11-30 20:22:56 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2023-11-30 20:22:56 +0000 |
commit | 29ffda22e18e308aade520ccba1ac5558b278cd3 (patch) | |
tree | a6ae5cac60d6662c084ecf14400ed2a03e464547 | |
parent | 2177821b0e9b9659cfa88ee42f17ae0a7627f166 (diff) | |
parent | 812828e09e90ffcc34e31babd1e03c353c8b784f (diff) | |
download | sandboxed-api-29ffda22e18e308aade520ccba1ac5558b278cd3.tar.gz |
Start a sandbox2 target, embedding the forkserver executable. am: 812828e09e
Original change: https://android-review.googlesource.com/c/platform/external/sandboxed-api/+/2850155
Change-Id: I770b7dd3e3ba70b2d6cdef1f63cbbbc7dc58dff5
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-rw-r--r-- | Android.bp | 125 | ||||
-rw-r--r-- | android/placeholder_exe | 0 |
2 files changed, 119 insertions, 6 deletions
@@ -81,6 +81,29 @@ cc_defaults { defaults: ["sandboxed_api_defaults"], } +cc_library { + name: "sandboxed_api_shared_with_filewrapper", + srcs: [ + "sandboxed_api/util/file_helpers.cc", + "sandboxed_api/util/fileops.cc", + "sandboxed_api/util/path.cc", + "sandboxed_api/util/raw_logging.cc", + "sandboxed_api/util/status.cc", + "sandboxed_api/util/strerror.cc", + ], + defaults: ["sandboxed_api_cc_defaults"], +} + +cc_binary { + name: "sandboxed_api_filewrapper", + srcs: [ + "sandboxed_api/tools/filewrapper/filewrapper.cc", + ], + static_libs: [ + "sandboxed_api_shared_with_filewrapper", + ], + defaults: ["sandboxed_api_cc_defaults"], +} cc_library { name: "sandboxed_api_shared_with_forkserver", @@ -91,6 +114,7 @@ cc_library { "sandboxed_api/sandbox2/buffer.cc", "sandboxed_api/sandbox2/client.cc", "sandboxed_api/sandbox2/comms.cc", + "sandboxed_api/sandbox2/fork_client.cc", "sandboxed_api/sandbox2/forkserver.cc", "sandboxed_api/sandbox2/ipc.cc", "sandboxed_api/sandbox2/logserver.cc", @@ -110,14 +134,11 @@ cc_library { "sandboxed_api/sandbox2/util/maps_parser.cc", "sandboxed_api/sandbox2/util/minielf.cc", "sandboxed_api/sandbox2/util/syscall_trap.cc", - "sandboxed_api/util/file_helpers.cc", - "sandboxed_api/util/fileops.cc", - "sandboxed_api/util/path.cc", - "sandboxed_api/util/raw_logging.cc", - "sandboxed_api/util/status.cc", - "sandboxed_api/util/strerror.cc", "sandboxed_api/util/temp_file.cc", ], + static_libs: [ + "sandboxed_api_shared_with_filewrapper", + ], defaults: ["sandboxed_api_cc_defaults"], } @@ -127,6 +148,98 @@ cc_binary { "sandboxed_api/sandbox2/forkserver_bin.cc", ], static_libs: [ + "sandboxed_api_shared_with_filewrapper", + "sandboxed_api_shared_with_forkserver", + ], + defaults: ["sandboxed_api_cc_defaults"], +} + +cc_genrule { + name: "sandboxed_api_embed_forkserver_cc", + arch: { // `enabled: false` doesn't appear to work here + arm: { + srcs: ["android/placeholder_exe"], + }, + arm64: { + srcs: [":sandboxed_api_forkserver"], + }, + x86: { + srcs: ["android/placeholder_exe"], + }, + }, + target: { + linux_x86_64: { + srcs: [":sandboxed_api_forkserver"], + }, + windows: { + srcs: ["android/placeholder_exe"], + }, + }, + cmd: "$(location sandboxed_api_filewrapper) " + + "'' " + + "forkserver_bin_embed " + + "'' " + + "$(genDir)/forkserver_bin_embed.h " + + "$(genDir)/forkserver_bin_embed.cc " + + "$(in)", + device_supported: false, + host_supported: true, + out: ["forkserver_bin_embed.cc"], + tools: ["sandboxed_api_filewrapper"], +} + +cc_genrule { + name: "sandboxed_api_embed_forkserver_h", + arch: { // `enabled: false` doesn't appear to work here + arm: { + srcs: ["android/placeholder_exe"], + }, + arm64: { + srcs: [":sandboxed_api_forkserver"], + }, + x86: { + srcs: ["android/placeholder_exe"], + }, + }, + target: { + linux_x86_64: { + srcs: [":sandboxed_api_forkserver"], + }, + windows: { + srcs: ["android/placeholder_exe"], + }, + }, + cmd: "mkdir -p $(genDir)/sandboxed_api/sandbox2/ && " + + "$(location sandboxed_api_filewrapper) " + + "'' " + + "forkserver_bin_embed " + + "'' " + + "$(genDir)/forkserver_bin_embed.h " + + "$(genDir)/forkserver_bin_embed.cc " + + "$(in) && " + + "cp $(genDir)/forkserver_bin_embed.h $(genDir)/sandboxed_api/sandbox2/", + device_supported: false, + host_supported: true, + out: [ + "forkserver_bin_embed.h", + "sandboxed_api/sandbox2/forkserver_bin_embed.h", + ], + tools: ["sandboxed_api_filewrapper"], +} + +cc_library { + name: "sandboxed_api_sandbox2", + export_include_dirs: ["."], + generated_headers: ["sandboxed_api_embed_forkserver_h"], + generated_sources: ["sandboxed_api_embed_forkserver_cc"], + srcs: [ + "sandboxed_api/embed_file.cc", + "sandboxed_api/sandbox2/executor.cc", + "sandboxed_api/sandbox2/global_forkclient.cc", + ], + visibility: ["//device/google/cuttlefish:__subpackages__"], + whole_static_libs: [ + "sandboxed_api_shared_with_filewrapper", "sandboxed_api_shared_with_forkserver", ], defaults: ["sandboxed_api_cc_defaults"], diff --git a/android/placeholder_exe b/android/placeholder_exe new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/android/placeholder_exe |