diff options
author | Takashi Kokubun <takashikkbn@gmail.com> | 2020-03-22 20:20:26 -0700 |
---|---|---|
committer | Takashi Kokubun <takashikkbn@gmail.com> | 2020-03-22 20:20:27 -0700 |
commit | d059714746466b4062545719f2e81ca612aa22f3 (patch) | |
tree | 37fa8fb2459013bb44e380f25e493b98020382d5 /tool | |
parent | 21d8e6924844d592ff2d5a2e7309457eb92e66f6 (diff) | |
download | ruby-d059714746466b4062545719f2e81ca612aa22f3.tar.gz |
Disable run_without_tabs when there's no -ggdb3
in debugflags, as requested by nobu
I actually wanted to check debugflags directly rather than MJIT_DEBUGFLAGS
because debugflags is always used but MJIT_DEBUGFLAGS may not be always used.
But I couldn't find a better way to check debugflags.
Diffstat (limited to 'tool')
-rw-r--r-- | tool/run_without_tabs.rb | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/tool/run_without_tabs.rb b/tool/run_without_tabs.rb index cf27f099c7..aa5fb7f798 100644 --- a/tool/run_without_tabs.rb +++ b/tool/run_without_tabs.rb @@ -1,6 +1,7 @@ # frozen_string_literal: true # This is a script to run a command in ARGV, expanding tabs in some files -# included by vm.c to normalize indentation of MJIT header. +# included by vm.c to normalize indentation of MJIT header when debugflags +# is -ggdb3 (default). # # Note that preprocessor of GCC converts a hard tab to one spaces, where # we expect it to be shown as 8 spaces. To obviate this script, we need @@ -21,12 +22,18 @@ SKIPPED_FILES = %w[ vm_opts.h ] +unless split_index = ARGV.index('--') + abort "Usage: #{$0} [debugflags] -- [cmmand...]" +end +debugflags, command = ARGV[0...split_index], ARGV[(split_index + 1)..-1] + srcdir = File.expand_path('..', __dir__) targets = EXPAND_TARGETS.flat_map { |t| Dir.glob(File.join(srcdir, t)) } - SKIPPED_FILES.map { |f| File.join(srcdir, f) } sources = {} mtimes = {} targets.each do |target| + next unless debugflags.include?('-ggdb3') unless File.writable?(target) puts "tool/run_without_tabs.rb: Skipping #{target.dump} as it's not writable." next @@ -49,7 +56,7 @@ targets.each do |target| FileUtils.touch(target, mtime: mtimes[target]) end -result = system(*ARGV) +result = system(*command) targets.each do |target| if sources.key?(target) |