Vendor dependencies
Let's see how I like this workflow.
This commit is contained in:
parent
34d1830413
commit
9c435dc440
7500 changed files with 1665121 additions and 99 deletions
35
vendor/cxx/tools/buck/prelude/apple/apple_dsym.bzl
vendored
Normal file
35
vendor/cxx/tools/buck/prelude/apple/apple_dsym.bzl
vendored
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
# Copyright (c) Meta Platforms, Inc. and affiliates.
|
||||
#
|
||||
# This source code is licensed under both the MIT license found in the
|
||||
# LICENSE-MIT file in the root directory of this source tree and the Apache
|
||||
# License, Version 2.0 found in the LICENSE-APACHE file in the root directory
|
||||
# of this source tree.
|
||||
|
||||
load("@prelude//apple:apple_toolchain_types.bzl", "AppleToolchainInfo")
|
||||
|
||||
DSYM_SUBTARGET = "dsym"
|
||||
DEBUGINFO_SUBTARGET = "debuginfo"
|
||||
|
||||
AppleDebuggableInfo = provider(fields = [
|
||||
"dsyms", # ["artifact"]
|
||||
"external_debug_info", # ["_arglike"]
|
||||
])
|
||||
|
||||
# TODO(T110672942): Things which are still unsupported:
|
||||
# - pass in dsymutil_extra_flags
|
||||
# - oso_prefix
|
||||
# - dsym_verification
|
||||
def get_apple_dsym(ctx: "context", executable: "artifact", external_debug_info: ["_arglike"], action_identifier: "string") -> "artifact":
|
||||
dsymutil = ctx.attrs._apple_toolchain[AppleToolchainInfo].dsymutil
|
||||
output = ctx.actions.declare_output("{}.dSYM".format(executable.short_path))
|
||||
|
||||
cmd = cmd_args([dsymutil, "-o", output.as_output(), executable])
|
||||
|
||||
# Mach-O executables don't contain DWARF data.
|
||||
# Instead, they contain paths to the object files which themselves contain DWARF data.
|
||||
#
|
||||
# So, those object files are needed for dsymutil to be to create the dSYM bundle.
|
||||
cmd.hidden(external_debug_info)
|
||||
ctx.actions.run(cmd, category = "apple_dsym", identifier = action_identifier)
|
||||
|
||||
return output
|
||||
Loading…
Add table
Add a link
Reference in a new issue