diff options
author | A. Cody Schuffelen <schuffelen@google.com> | 2023-11-30 20:57:33 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2023-11-30 20:57:33 +0000 |
commit | 9c7ae2c9e129204255e99b8c8c2e29d7c04c12a4 (patch) | |
tree | a6ae5cac60d6662c084ecf14400ed2a03e464547 | |
parent | 8e3b1bcd4a19bb7142b39266a791a1e90558cf36 (diff) | |
parent | 692625a4eec76c3f0c9aadda6217a76d3ec9e201 (diff) | |
download | sandboxed-api-9c7ae2c9e129204255e99b8c8c2e29d7c04c12a4.tar.gz |
Start a sandbox2 target, embedding the forkserver executable. am: 812828e09e am: 692625a4ee
Original change: https://android-review.googlesource.com/c/platform/external/sandboxed-api/+/2850155
Change-Id: I42c78b7e97341481c132452c776f7ad79b96377b
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 |