Connecting up --debug-symbols flag
This connects the calling of dsymutil and the retention of temporary files. Still need to connect compilation to flag.
This commit is contained in:
parent
74dd365a56
commit
d195f22522
@ -129,6 +129,7 @@ class Build
|
|||||||
formula.brew(
|
formula.brew(
|
||||||
fetch: false,
|
fetch: false,
|
||||||
keep_tmp: args.keep_tmp?,
|
keep_tmp: args.keep_tmp?,
|
||||||
|
debug_symbols: args.debug_symbols?,
|
||||||
interactive: args.interactive?,
|
interactive: args.interactive?,
|
||||||
) do
|
) do
|
||||||
with_env(
|
with_env(
|
||||||
|
|||||||
@ -87,6 +87,9 @@ module Homebrew
|
|||||||
sig { returns(T::Boolean) }
|
sig { returns(T::Boolean) }
|
||||||
def keep_tmp?; end
|
def keep_tmp?; end
|
||||||
|
|
||||||
|
sig { returns(T::Boolean) }
|
||||||
|
def debug_symbols?; end
|
||||||
|
|
||||||
sig { returns(T::Boolean) }
|
sig { returns(T::Boolean) }
|
||||||
def overwrite?; end
|
def overwrite?; end
|
||||||
|
|
||||||
|
|||||||
@ -91,6 +91,11 @@ module Homebrew
|
|||||||
[:switch, "--keep-tmp", {
|
[:switch, "--keep-tmp", {
|
||||||
description: "Retain the temporary files created during installation.",
|
description: "Retain the temporary files created during installation.",
|
||||||
}],
|
}],
|
||||||
|
[:switch, "--debug-symbols", {
|
||||||
|
depends_on: "--build-from-source",
|
||||||
|
description: "Generates debugging symbols during build. Source will be in temporary directory " \
|
||||||
|
"which is retained. (see --keep-tmp)",
|
||||||
|
}],
|
||||||
[:switch, "--build-bottle", {
|
[:switch, "--build-bottle", {
|
||||||
description: "Prepare the formula for eventual bottling during installation, skipping any " \
|
description: "Prepare the formula for eventual bottling during installation, skipping any " \
|
||||||
"post-install steps.",
|
"post-install steps.",
|
||||||
@ -232,6 +237,7 @@ module Homebrew
|
|||||||
git: args.git?,
|
git: args.git?,
|
||||||
interactive: args.interactive?,
|
interactive: args.interactive?,
|
||||||
keep_tmp: args.keep_tmp?,
|
keep_tmp: args.keep_tmp?,
|
||||||
|
debug_symbols: args.debug_symbols?,
|
||||||
force: args.force?,
|
force: args.force?,
|
||||||
overwrite: args.overwrite?,
|
overwrite: args.overwrite?,
|
||||||
debug: args.debug?,
|
debug: args.debug?,
|
||||||
@ -247,6 +253,7 @@ module Homebrew
|
|||||||
build_from_source_formulae: args.build_from_source_formulae,
|
build_from_source_formulae: args.build_from_source_formulae,
|
||||||
interactive: args.interactive?,
|
interactive: args.interactive?,
|
||||||
keep_tmp: args.keep_tmp?,
|
keep_tmp: args.keep_tmp?,
|
||||||
|
debug_symbols: args.debug_symbols?,
|
||||||
force: args.force?,
|
force: args.force?,
|
||||||
debug: args.debug?,
|
debug: args.debug?,
|
||||||
quiet: args.quiet?,
|
quiet: args.quiet?,
|
||||||
|
|||||||
@ -57,6 +57,11 @@ module Homebrew
|
|||||||
[:switch, "--keep-tmp", {
|
[:switch, "--keep-tmp", {
|
||||||
description: "Retain the temporary files created during installation.",
|
description: "Retain the temporary files created during installation.",
|
||||||
}],
|
}],
|
||||||
|
[:switch, "--debug-symbols", {
|
||||||
|
depends_on: "--build-from-source",
|
||||||
|
description: "Generates debugging symbols during build. Source will be in temporary directory " \
|
||||||
|
"which is retained. (see --keep-tmp)",
|
||||||
|
}],
|
||||||
[:switch, "--display-times", {
|
[:switch, "--display-times", {
|
||||||
env: :display_install_times,
|
env: :display_install_times,
|
||||||
description: "Print install times for each formula at the end of the run.",
|
description: "Print install times for each formula at the end of the run.",
|
||||||
@ -115,6 +120,7 @@ module Homebrew
|
|||||||
build_from_source_formulae: args.build_from_source_formulae,
|
build_from_source_formulae: args.build_from_source_formulae,
|
||||||
interactive: args.interactive?,
|
interactive: args.interactive?,
|
||||||
keep_tmp: args.keep_tmp?,
|
keep_tmp: args.keep_tmp?,
|
||||||
|
debug_symbols: args.debug_symbols?,
|
||||||
force: args.force?,
|
force: args.force?,
|
||||||
debug: args.debug?,
|
debug: args.debug?,
|
||||||
quiet: args.quiet?,
|
quiet: args.quiet?,
|
||||||
@ -132,6 +138,7 @@ module Homebrew
|
|||||||
build_from_source_formulae: args.build_from_source_formulae,
|
build_from_source_formulae: args.build_from_source_formulae,
|
||||||
interactive: args.interactive?,
|
interactive: args.interactive?,
|
||||||
keep_tmp: args.keep_tmp?,
|
keep_tmp: args.keep_tmp?,
|
||||||
|
debug_symbols: args.debug_symbols?,
|
||||||
force: args.force?,
|
force: args.force?,
|
||||||
debug: args.debug?,
|
debug: args.debug?,
|
||||||
quiet: args.quiet?,
|
quiet: args.quiet?,
|
||||||
|
|||||||
@ -68,6 +68,11 @@ module Homebrew
|
|||||||
[:switch, "--keep-tmp", {
|
[:switch, "--keep-tmp", {
|
||||||
description: "Retain the temporary files created during installation.",
|
description: "Retain the temporary files created during installation.",
|
||||||
}],
|
}],
|
||||||
|
[:switch, "--debug-symbols", {
|
||||||
|
depends_on: "--build-from-source",
|
||||||
|
description: "Generates debugging symbols during build. Source will be in temporary directory " \
|
||||||
|
"which is retained. (see --keep-tmp)",
|
||||||
|
}],
|
||||||
[:switch, "--display-times", {
|
[:switch, "--display-times", {
|
||||||
env: :display_install_times,
|
env: :display_install_times,
|
||||||
description: "Print install times for each package at the end of the run.",
|
description: "Print install times for each package at the end of the run.",
|
||||||
@ -185,6 +190,7 @@ module Homebrew
|
|||||||
build_from_source_formulae: args.build_from_source_formulae,
|
build_from_source_formulae: args.build_from_source_formulae,
|
||||||
interactive: args.interactive?,
|
interactive: args.interactive?,
|
||||||
keep_tmp: args.keep_tmp?,
|
keep_tmp: args.keep_tmp?,
|
||||||
|
debug_symbols: args.debug_symbols?,
|
||||||
force: args.force?,
|
force: args.force?,
|
||||||
debug: args.debug?,
|
debug: args.debug?,
|
||||||
quiet: args.quiet?,
|
quiet: args.quiet?,
|
||||||
@ -200,6 +206,7 @@ module Homebrew
|
|||||||
build_from_source_formulae: args.build_from_source_formulae,
|
build_from_source_formulae: args.build_from_source_formulae,
|
||||||
interactive: args.interactive?,
|
interactive: args.interactive?,
|
||||||
keep_tmp: args.keep_tmp?,
|
keep_tmp: args.keep_tmp?,
|
||||||
|
debug_symbols: args.debug_symbols?,
|
||||||
force: args.force?,
|
force: args.force?,
|
||||||
debug: args.debug?,
|
debug: args.debug?,
|
||||||
quiet: args.quiet?,
|
quiet: args.quiet?,
|
||||||
|
|||||||
@ -315,6 +315,9 @@ module SharedEnvExtension
|
|||||||
sig { void }
|
sig { void }
|
||||||
def permit_arch_flags; end
|
def permit_arch_flags; end
|
||||||
|
|
||||||
|
sig { void }
|
||||||
|
def debug_symbols; end
|
||||||
|
|
||||||
# @private
|
# @private
|
||||||
sig { params(cc: T.any(Symbol, String)).returns(T::Boolean) }
|
sig { params(cc: T.any(Symbol, String)).returns(T::Boolean) }
|
||||||
def compiler_any_clang?(cc = compiler)
|
def compiler_any_clang?(cc = compiler)
|
||||||
|
|||||||
@ -67,7 +67,7 @@ class Keg
|
|||||||
binary_executable_or_library_files.each do |file|
|
binary_executable_or_library_files.each do |file|
|
||||||
odebug "Extracting symbols #{file}"
|
odebug "Extracting symbols #{file}"
|
||||||
|
|
||||||
result = system_command("dsymutil", args: [file])
|
result = system_command("dsymutil", args: [file], print_stderr: false)
|
||||||
next if result.success?
|
next if result.success?
|
||||||
|
|
||||||
# If it fails again, error out
|
# If it fails again, error out
|
||||||
|
|||||||
@ -1273,11 +1273,11 @@ class Formula
|
|||||||
# Yields |self,staging| with current working directory set to the uncompressed tarball
|
# Yields |self,staging| with current working directory set to the uncompressed tarball
|
||||||
# where staging is a {Mktemp} staging context.
|
# where staging is a {Mktemp} staging context.
|
||||||
# @private
|
# @private
|
||||||
def brew(fetch: true, keep_tmp: false, interactive: false)
|
def brew(fetch: true, keep_tmp: false, debug_symbols: false, interactive: false)
|
||||||
@prefix_returns_versioned_prefix = true
|
@prefix_returns_versioned_prefix = true
|
||||||
active_spec.fetch if fetch
|
active_spec.fetch if fetch
|
||||||
stage(interactive: interactive) do |staging|
|
stage(interactive: interactive) do |staging|
|
||||||
staging.retain! if keep_tmp
|
staging.retain! if keep_tmp || debug_symbols
|
||||||
|
|
||||||
prepare_patches
|
prepare_patches
|
||||||
fetch_patches if fetch
|
fetch_patches if fetch
|
||||||
|
|||||||
@ -59,6 +59,7 @@ class FormulaInstaller
|
|||||||
git: false,
|
git: false,
|
||||||
interactive: false,
|
interactive: false,
|
||||||
keep_tmp: false,
|
keep_tmp: false,
|
||||||
|
debug_symbols: false,
|
||||||
cc: nil,
|
cc: nil,
|
||||||
options: Options.new,
|
options: Options.new,
|
||||||
force: false,
|
force: false,
|
||||||
@ -72,8 +73,7 @@ class FormulaInstaller
|
|||||||
@force = force
|
@force = force
|
||||||
@overwrite = overwrite
|
@overwrite = overwrite
|
||||||
@keep_tmp = keep_tmp
|
@keep_tmp = keep_tmp
|
||||||
# Just for this proof of concept
|
@debug_symbols = debug_symbols
|
||||||
@debug_symbols = keep_tmp
|
|
||||||
@link_keg = !formula.keg_only? || link_keg
|
@link_keg = !formula.keg_only? || link_keg
|
||||||
@show_header = show_header
|
@show_header = show_header
|
||||||
@ignore_deps = ignore_deps
|
@ignore_deps = ignore_deps
|
||||||
@ -691,6 +691,7 @@ class FormulaInstaller
|
|||||||
include_test_formulae: @include_test_formulae,
|
include_test_formulae: @include_test_formulae,
|
||||||
build_from_source_formulae: @build_from_source_formulae,
|
build_from_source_formulae: @build_from_source_formulae,
|
||||||
keep_tmp: keep_tmp?,
|
keep_tmp: keep_tmp?,
|
||||||
|
debug_symbols: debug_symbols?,
|
||||||
force: force?,
|
force: force?,
|
||||||
debug: debug?,
|
debug: debug?,
|
||||||
quiet: quiet?,
|
quiet: quiet?,
|
||||||
@ -744,6 +745,7 @@ class FormulaInstaller
|
|||||||
include_test_formulae: @include_test_formulae,
|
include_test_formulae: @include_test_formulae,
|
||||||
build_from_source_formulae: @build_from_source_formulae,
|
build_from_source_formulae: @build_from_source_formulae,
|
||||||
keep_tmp: keep_tmp?,
|
keep_tmp: keep_tmp?,
|
||||||
|
debug_symbols: debug_symbols?,
|
||||||
force: force?,
|
force: force?,
|
||||||
debug: debug?,
|
debug: debug?,
|
||||||
quiet: quiet?,
|
quiet: quiet?,
|
||||||
@ -877,6 +879,9 @@ class FormulaInstaller
|
|||||||
args << "--debug" if debug?
|
args << "--debug" if debug?
|
||||||
args << "--cc=#{@cc}" if @cc
|
args << "--cc=#{@cc}" if @cc
|
||||||
args << "--keep-tmp" if keep_tmp?
|
args << "--keep-tmp" if keep_tmp?
|
||||||
|
args << "--debug-symbols" if debug_symbols?
|
||||||
|
# Avoids dependecy error on flag
|
||||||
|
args << "--build-from-source" if build_from_source? && debug_symbols?
|
||||||
|
|
||||||
if @env.present?
|
if @env.present?
|
||||||
args << "--env=#{@env}"
|
args << "--env=#{@env}"
|
||||||
|
|||||||
@ -269,6 +269,7 @@ module Homebrew
|
|||||||
git: false,
|
git: false,
|
||||||
interactive: false,
|
interactive: false,
|
||||||
keep_tmp: false,
|
keep_tmp: false,
|
||||||
|
debug_symbols: false,
|
||||||
force: false,
|
force: false,
|
||||||
overwrite: false,
|
overwrite: false,
|
||||||
debug: false,
|
debug: false,
|
||||||
@ -293,6 +294,7 @@ module Homebrew
|
|||||||
git: git,
|
git: git,
|
||||||
interactive: interactive,
|
interactive: interactive,
|
||||||
keep_tmp: keep_tmp,
|
keep_tmp: keep_tmp,
|
||||||
|
debug_symbols: debug_symbols,
|
||||||
force: force,
|
force: force,
|
||||||
overwrite: overwrite,
|
overwrite: overwrite,
|
||||||
debug: debug,
|
debug: debug,
|
||||||
|
|||||||
@ -16,6 +16,7 @@ module Homebrew
|
|||||||
build_from_source_formulae: [],
|
build_from_source_formulae: [],
|
||||||
interactive: false,
|
interactive: false,
|
||||||
keep_tmp: false,
|
keep_tmp: false,
|
||||||
|
debug_symbols: false,
|
||||||
force: false,
|
force: false,
|
||||||
debug: false,
|
debug: false,
|
||||||
quiet: false,
|
quiet: false,
|
||||||
@ -48,6 +49,7 @@ module Homebrew
|
|||||||
git: git,
|
git: git,
|
||||||
interactive: interactive,
|
interactive: interactive,
|
||||||
keep_tmp: keep_tmp,
|
keep_tmp: keep_tmp,
|
||||||
|
debug_symbols: debug_symbols,
|
||||||
force: force,
|
force: force,
|
||||||
debug: debug,
|
debug: debug,
|
||||||
quiet: quiet,
|
quiet: quiet,
|
||||||
|
|||||||
@ -24,6 +24,7 @@ module Homebrew
|
|||||||
build_from_source_formulae: [],
|
build_from_source_formulae: [],
|
||||||
interactive: false,
|
interactive: false,
|
||||||
keep_tmp: false,
|
keep_tmp: false,
|
||||||
|
debug_symbols: false,
|
||||||
force: false,
|
force: false,
|
||||||
debug: false,
|
debug: false,
|
||||||
quiet: false,
|
quiet: false,
|
||||||
@ -61,6 +62,7 @@ module Homebrew
|
|||||||
build_from_source_formulae: build_from_source_formulae,
|
build_from_source_formulae: build_from_source_formulae,
|
||||||
interactive: interactive,
|
interactive: interactive,
|
||||||
keep_tmp: keep_tmp,
|
keep_tmp: keep_tmp,
|
||||||
|
debug_symbols: debug_symbols,
|
||||||
force: force,
|
force: force,
|
||||||
debug: debug,
|
debug: debug,
|
||||||
quiet: quiet,
|
quiet: quiet,
|
||||||
@ -128,6 +130,7 @@ module Homebrew
|
|||||||
build_from_source_formulae: [],
|
build_from_source_formulae: [],
|
||||||
interactive: false,
|
interactive: false,
|
||||||
keep_tmp: false,
|
keep_tmp: false,
|
||||||
|
debug_symbols: false,
|
||||||
force: false,
|
force: false,
|
||||||
debug: false,
|
debug: false,
|
||||||
quiet: false,
|
quiet: false,
|
||||||
@ -161,6 +164,7 @@ module Homebrew
|
|||||||
build_from_source_formulae: build_from_source_formulae,
|
build_from_source_formulae: build_from_source_formulae,
|
||||||
interactive: interactive,
|
interactive: interactive,
|
||||||
keep_tmp: keep_tmp,
|
keep_tmp: keep_tmp,
|
||||||
|
debug_symbols: debug_symbols,
|
||||||
force: force,
|
force: force,
|
||||||
debug: debug,
|
debug: debug,
|
||||||
quiet: quiet,
|
quiet: quiet,
|
||||||
@ -254,6 +258,7 @@ module Homebrew
|
|||||||
build_from_source_formulae: [],
|
build_from_source_formulae: [],
|
||||||
interactive: false,
|
interactive: false,
|
||||||
keep_tmp: false,
|
keep_tmp: false,
|
||||||
|
debug_symbols: false,
|
||||||
force: false,
|
force: false,
|
||||||
debug: false,
|
debug: false,
|
||||||
quiet: false,
|
quiet: false,
|
||||||
@ -339,6 +344,7 @@ module Homebrew
|
|||||||
build_from_source_formulae: build_from_source_formulae,
|
build_from_source_formulae: build_from_source_formulae,
|
||||||
interactive: interactive,
|
interactive: interactive,
|
||||||
keep_tmp: keep_tmp,
|
keep_tmp: keep_tmp,
|
||||||
|
debug_symbols: debug_symbols,
|
||||||
force: force,
|
force: force,
|
||||||
debug: debug,
|
debug: debug,
|
||||||
quiet: quiet,
|
quiet: quiet,
|
||||||
@ -407,6 +413,7 @@ module Homebrew
|
|||||||
build_from_source_formulae: build_from_source_formulae + [formula.full_name],
|
build_from_source_formulae: build_from_source_formulae + [formula.full_name],
|
||||||
interactive: interactive,
|
interactive: interactive,
|
||||||
keep_tmp: keep_tmp,
|
keep_tmp: keep_tmp,
|
||||||
|
debug_symbols: debug_symbols,
|
||||||
force: force,
|
force: force,
|
||||||
debug: debug,
|
debug: debug,
|
||||||
quiet: quiet,
|
quiet: quiet,
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user