mirror of
https://github.com/google/sandboxed-api.git
synced 2024-03-22 13:11:30 +08:00
Use full workspace name to access Bazel packages in generator
Since the interface generator is invoked via a Bazel macro, it will be expanded in the embedding context of the project using SAPI, so package access needs to go through the full workspace root @com_google_sandboxed_api. This change also modifies the CMakeLists.txt accordingly, as the "external" subdirectory is no longer needed/wanted. PiperOrigin-RevId: 255918784 Change-Id: I052c687509f65fef7f011a9d1a074a171595330f
This commit is contained in:
parent
0d16c136ae
commit
4e20e0702a
|
@ -69,12 +69,12 @@ find_package(ZLIB REQUIRED)
|
||||||
|
|
||||||
# Make Bazel-like includes work
|
# Make Bazel-like includes work
|
||||||
configure_file(cmake/libcap_capability.h.in
|
configure_file(cmake/libcap_capability.h.in
|
||||||
external/org_kernel_libcap/libcap/include/sys/capability.h
|
libcap/include/sys/capability.h
|
||||||
@ONLY)
|
@ONLY)
|
||||||
set(libunwind_INCLUDE_DIR
|
set(libunwind_INCLUDE_DIR
|
||||||
${PROJECT_BINARY_DIR}/Dependencies/Source/libunwind/include)
|
${PROJECT_BINARY_DIR}/Dependencies/Source/libunwind/include)
|
||||||
configure_file(cmake/libunwind_ptrace.h.in
|
configure_file(cmake/libunwind_ptrace.h.in
|
||||||
external/org_gnu_libunwind/include/libunwind-ptrace.h
|
libunwind-ptrace.h
|
||||||
@ONLY)
|
@ONLY)
|
||||||
|
|
||||||
# Library with basic project settings. The empty file is there to be able to
|
# Library with basic project settings. The empty file is there to be able to
|
||||||
|
|
|
@ -1,34 +0,0 @@
|
||||||
# Copyright 2019 Google LLC. All Rights Reserved.
|
|
||||||
#
|
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
# you may not use this file except in compliance with the License.
|
|
||||||
# You may obtain a copy of the License at
|
|
||||||
#
|
|
||||||
# http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
#
|
|
||||||
# Unless required by applicable law or agreed to in writing, software
|
|
||||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
# See the License for the specific language governing permissions and
|
|
||||||
# limitations under the License.
|
|
||||||
|
|
||||||
# On Debian, install libunwind-dev to use this module.
|
|
||||||
|
|
||||||
find_path(libunwind_INCLUDE_DIR sys/capability.h)
|
|
||||||
# Look for static library only.
|
|
||||||
find_library(libunwind_LIBRARY libcap.a)
|
|
||||||
mark_as_advanced(libunwind_INCLUDE_DIR libcap_LIBRARY)
|
|
||||||
|
|
||||||
include(FindPackageHandleStandardArgs)
|
|
||||||
find_package_handle_standard_args(libunwind
|
|
||||||
REQUIRED_VARS libunwind_LIBRARY libcap_INCLUDE_DIR
|
|
||||||
)
|
|
||||||
|
|
||||||
if(libunwind_FOUND AND NOT TARGET libcap::libcap)
|
|
||||||
add_library(libunwind::libcap UNKNOWN IMPORTED)
|
|
||||||
set_target_properties(libunwind::libcap PROPERTIES
|
|
||||||
IMPORTED_LINK_INTERFACE_LANGUAGES "C"
|
|
||||||
IMPORTED_LOCATION "${libunwind_LIBRARY}"
|
|
||||||
INTERFACE_INCLUDE_DIRECTORIES "${libunwind_INCLUDE_DIR}"
|
|
||||||
)
|
|
||||||
endif()
|
|
1
sandboxed_api/bazel/external/libunwind.BUILD
vendored
1
sandboxed_api/bazel/external/libunwind.BUILD
vendored
|
@ -131,6 +131,7 @@ filegroup(
|
||||||
hdrs = [
|
hdrs = [
|
||||||
"include/config.h",
|
"include/config.h",
|
||||||
"include/libunwind.h",
|
"include/libunwind.h",
|
||||||
|
"include/libunwind-ptrace.h",
|
||||||
],
|
],
|
||||||
copts = LIBUNWIND_COPTS + [
|
copts = LIBUNWIND_COPTS + [
|
||||||
# Assume our inferior doesn't have frame pointers, regardless of
|
# Assume our inferior doesn't have frame pointers, regardless of
|
||||||
|
|
|
@ -72,7 +72,7 @@ def sapi_interface_impl(ctx):
|
||||||
|
|
||||||
# Append system headers as dependencies
|
# Append system headers as dependencies
|
||||||
input_files += cc_ctx.headers.to_list()
|
input_files += cc_ctx.headers.to_list()
|
||||||
append_all(extra_flags, "-D", cc_ctx.defines)
|
append_all(extra_flags, "-D", cc_ctx.defines.to_list())
|
||||||
append_all(extra_flags, "-isystem", cc_ctx.system_includes.to_list())
|
append_all(extra_flags, "-isystem", cc_ctx.system_includes.to_list())
|
||||||
append_all(extra_flags, "-iquote", cc_ctx.quote_includes.to_list())
|
append_all(extra_flags, "-iquote", cc_ctx.quote_includes.to_list())
|
||||||
|
|
||||||
|
@ -133,7 +133,7 @@ sapi_interface = rule(
|
||||||
executable = True,
|
executable = True,
|
||||||
cfg = "host",
|
cfg = "host",
|
||||||
allow_files = True,
|
allow_files = True,
|
||||||
default = Label("//sandboxed_api/" +
|
default = Label("@com_google_sandboxed_api//sandboxed_api/" +
|
||||||
"tools/generator2:sapi_generator"),
|
"tools/generator2:sapi_generator"),
|
||||||
),
|
),
|
||||||
},
|
},
|
||||||
|
@ -180,7 +180,7 @@ def sapi_library(
|
||||||
else:
|
else:
|
||||||
lib_hdrs += [generated_header]
|
lib_hdrs += [generated_header]
|
||||||
|
|
||||||
default_deps = ["//sandboxed_api/sandbox2"]
|
default_deps = ["@com_google_sandboxed_api//sandboxed_api/sandbox2"]
|
||||||
|
|
||||||
# Library that contains generated interface and sandboxed binary as a data
|
# Library that contains generated interface and sandboxed binary as a data
|
||||||
# dependency. Add this as a dependency instead of original library.
|
# dependency. Add this as a dependency instead of original library.
|
||||||
|
@ -191,8 +191,8 @@ def sapi_library(
|
||||||
data = [":" + name + ".bin"],
|
data = [":" + name + ".bin"],
|
||||||
deps = sort_deps(
|
deps = sort_deps(
|
||||||
[
|
[
|
||||||
"//sandboxed_api:sapi",
|
"@com_google_sandboxed_api//sandboxed_api:sapi",
|
||||||
"//sandboxed_api:vars",
|
"@com_google_sandboxed_api//sandboxed_api:vars",
|
||||||
] + deps +
|
] + deps +
|
||||||
([":" + name + "_embed"] if embed else []) +
|
([":" + name + "_embed"] if embed else []) +
|
||||||
(default_deps if add_default_deps else []),
|
(default_deps if add_default_deps else []),
|
||||||
|
@ -208,7 +208,7 @@ def sapi_library(
|
||||||
] + exported_funcs, # must be both referenced, and exported
|
] + exported_funcs, # must be both referenced, and exported
|
||||||
deps = [
|
deps = [
|
||||||
":" + name + ".lib",
|
":" + name + ".lib",
|
||||||
"//sandboxed_api:client",
|
"@com_google_sandboxed_api//sandboxed_api:client",
|
||||||
],
|
],
|
||||||
**common
|
**common
|
||||||
)
|
)
|
||||||
|
|
|
@ -49,7 +49,7 @@ def sapi_deps():
|
||||||
if "six_archive" not in native.existing_rules():
|
if "six_archive" not in native.existing_rules():
|
||||||
http_archive(
|
http_archive(
|
||||||
name = "six_archive",
|
name = "six_archive",
|
||||||
build_file = "//sandboxed_api:bazel/external/six.BUILD",
|
build_file = "@com_google_sandboxed_api//sandboxed_api:bazel/external/six.BUILD",
|
||||||
sha256 = "105f8d68616f8248e24bf0e9372ef04d3cc10104f1980f54d57b2ce73a5ad56a",
|
sha256 = "105f8d68616f8248e24bf0e9372ef04d3cc10104f1980f54d57b2ce73a5ad56a",
|
||||||
strip_prefix = "six-1.10.0",
|
strip_prefix = "six-1.10.0",
|
||||||
urls = [
|
urls = [
|
||||||
|
@ -88,7 +88,7 @@ def sapi_deps():
|
||||||
# libcap
|
# libcap
|
||||||
http_archive(
|
http_archive(
|
||||||
name = "org_kernel_libcap",
|
name = "org_kernel_libcap",
|
||||||
build_file = "//sandboxed_api:bazel/external/libcap.BUILD",
|
build_file = "@com_google_sandboxed_api//sandboxed_api:bazel/external/libcap.BUILD",
|
||||||
sha256 = "ef83108f77314e50bae926ae473f9b130b15240d17cbae05089e19c36a8676d6",
|
sha256 = "ef83108f77314e50bae926ae473f9b130b15240d17cbae05089e19c36a8676d6",
|
||||||
strip_prefix = "libcap-2.13",
|
strip_prefix = "libcap-2.13",
|
||||||
urls = ["https://www.kernel.org/pub/linux/libs/security/linux-privs/libcap2/libcap-2.13.tar.gz"],
|
urls = ["https://www.kernel.org/pub/linux/libs/security/linux-privs/libcap2/libcap-2.13.tar.gz"],
|
||||||
|
@ -97,7 +97,7 @@ def sapi_deps():
|
||||||
# libffi
|
# libffi
|
||||||
autotools_repository(
|
autotools_repository(
|
||||||
name = "org_sourceware_libffi",
|
name = "org_sourceware_libffi",
|
||||||
build_file = "//sandboxed_api:bazel/external/libffi.BUILD",
|
build_file = "@com_google_sandboxed_api//sandboxed_api:bazel/external/libffi.BUILD",
|
||||||
sha256 = "403d67aabf1c05157855ea2b1d9950263fb6316536c8c333f5b9ab1eb2f20ecf",
|
sha256 = "403d67aabf1c05157855ea2b1d9950263fb6316536c8c333f5b9ab1eb2f20ecf",
|
||||||
strip_prefix = "libffi-3.3-rc0",
|
strip_prefix = "libffi-3.3-rc0",
|
||||||
urls = ["https://github.com/libffi/libffi/releases/download/v3.3-rc0/libffi-3.3-rc0.tar.gz"],
|
urls = ["https://github.com/libffi/libffi/releases/download/v3.3-rc0/libffi-3.3-rc0.tar.gz"],
|
||||||
|
@ -106,7 +106,7 @@ def sapi_deps():
|
||||||
# libunwind
|
# libunwind
|
||||||
autotools_repository(
|
autotools_repository(
|
||||||
name = "org_gnu_libunwind",
|
name = "org_gnu_libunwind",
|
||||||
build_file = "//sandboxed_api:bazel/external/libunwind.BUILD",
|
build_file = "@com_google_sandboxed_api//sandboxed_api:bazel/external/libunwind.BUILD",
|
||||||
configure_args = [
|
configure_args = [
|
||||||
"--disable-documentation",
|
"--disable-documentation",
|
||||||
"--disable-minidebuginfo",
|
"--disable-minidebuginfo",
|
||||||
|
|
|
@ -26,7 +26,7 @@
|
||||||
|
|
||||||
#include "absl/memory/memory.h"
|
#include "absl/memory/memory.h"
|
||||||
#include "absl/strings/str_cat.h"
|
#include "absl/strings/str_cat.h"
|
||||||
#include "external/org_kernel_libcap/libcap/include/sys/capability.h"
|
#include "libcap/include/sys/capability.h"
|
||||||
#include "sandboxed_api/sandbox2/forkserver.h"
|
#include "sandboxed_api/sandbox2/forkserver.h"
|
||||||
#include "sandboxed_api/sandbox2/forkserver.pb.h"
|
#include "sandboxed_api/sandbox2/forkserver.pb.h"
|
||||||
#include "sandboxed_api/sandbox2/global_forkclient.h"
|
#include "sandboxed_api/sandbox2/global_forkclient.h"
|
||||||
|
|
|
@ -28,7 +28,7 @@
|
||||||
|
|
||||||
#include <glog/logging.h>
|
#include <glog/logging.h>
|
||||||
#include "sandboxed_api/util/flag.h"
|
#include "sandboxed_api/util/flag.h"
|
||||||
#include "external/org_kernel_libcap/libcap/include/sys/capability.h"
|
#include "libcap/include/sys/capability.h"
|
||||||
#include "sandboxed_api/sandbox2/bpfdisassembler.h"
|
#include "sandboxed_api/sandbox2/bpfdisassembler.h"
|
||||||
#include "sandboxed_api/sandbox2/comms.h"
|
#include "sandboxed_api/sandbox2/comms.h"
|
||||||
#include "sandboxed_api/sandbox2/regs.h"
|
#include "sandboxed_api/sandbox2/regs.h"
|
||||||
|
|
|
@ -29,7 +29,7 @@
|
||||||
#include "absl/strings/numbers.h"
|
#include "absl/strings/numbers.h"
|
||||||
#include "absl/strings/str_cat.h"
|
#include "absl/strings/str_cat.h"
|
||||||
#include "absl/strings/strip.h"
|
#include "absl/strings/strip.h"
|
||||||
#include "external/org_kernel_libcap/libcap/include/sys/capability.h"
|
#include "libcap/include/sys/capability.h"
|
||||||
#include "sandboxed_api/sandbox2/comms.h"
|
#include "sandboxed_api/sandbox2/comms.h"
|
||||||
#include "sandboxed_api/sandbox2/executor.h"
|
#include "sandboxed_api/sandbox2/executor.h"
|
||||||
#include "sandboxed_api/sandbox2/ipc.h"
|
#include "sandboxed_api/sandbox2/ipc.h"
|
||||||
|
|
|
@ -25,7 +25,7 @@
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
#include "absl/strings/str_cat.h"
|
#include "absl/strings/str_cat.h"
|
||||||
#include "external/org_gnu_libunwind/include/libunwind-ptrace.h"
|
#include "libunwind-ptrace.h"
|
||||||
#include "sandboxed_api/sandbox2/comms.h"
|
#include "sandboxed_api/sandbox2/comms.h"
|
||||||
#include "sandboxed_api/sandbox2/unwind/unwind.pb.h"
|
#include "sandboxed_api/sandbox2/unwind/unwind.pb.h"
|
||||||
#include "sandboxed_api/sandbox2/util/maps_parser.h"
|
#include "sandboxed_api/sandbox2/util/maps_parser.h"
|
||||||
|
|
Loading…
Reference in New Issue
Block a user