1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

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.
This commit is contained in:
Takashi Kokubun 2020-03-22 20:20:26 -07:00
parent 21d8e69248
commit d059714746
No known key found for this signature in database
GPG key ID: 6FFC433B12EE23DD
2 changed files with 10 additions and 3 deletions

View file

@ -226,7 +226,7 @@ mjit_config.h: Makefile
$(TIMESTAMPDIR)/$(MJIT_HEADER:.h=)$(MJIT_HEADER_SUFFIX).time: probes.h vm.$(OBJEXT) \ $(TIMESTAMPDIR)/$(MJIT_HEADER:.h=)$(MJIT_HEADER_SUFFIX).time: probes.h vm.$(OBJEXT) \
$(TIMESTAMPDIR)/$(arch)/.time $(srcdir)/tool/run_without_tabs.rb $(TIMESTAMPDIR)/$(arch)/.time $(srcdir)/tool/run_without_tabs.rb
$(ECHO) building $(@F:.time=.h) $(ECHO) building $(@F:.time=.h)
$(Q) $(BASERUBY) $(srcdir)/tool/run_without_tabs.rb \ $(Q) $(BASERUBY) $(srcdir)/tool/run_without_tabs.rb $(MJIT_DEBUGFLAGS) -- \
$(CPP) -DMJIT_HEADER $(MJIT_HEADER_FLAGS) $(CFLAGS) $(XCFLAGS) $(CPPFLAGS) $(srcdir)/vm.c $(CPPOUTFLAG)$(@F:.time=.h).new $(CPP) -DMJIT_HEADER $(MJIT_HEADER_FLAGS) $(CFLAGS) $(XCFLAGS) $(CPPFLAGS) $(srcdir)/vm.c $(CPPOUTFLAG)$(@F:.time=.h).new
$(Q) $(IFCHANGE) "--timestamp=$@" $(@F:.time=.h) $(@F:.time=.h).new $(Q) $(IFCHANGE) "--timestamp=$@" $(@F:.time=.h) $(@F:.time=.h).new

View file

@ -1,6 +1,7 @@
# frozen_string_literal: true # frozen_string_literal: true
# This is a script to run a command in ARGV, expanding tabs in some files # 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 # 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 # 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 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__) 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) } targets = EXPAND_TARGETS.flat_map { |t| Dir.glob(File.join(srcdir, t)) } - SKIPPED_FILES.map { |f| File.join(srcdir, f) }
sources = {} sources = {}
mtimes = {} mtimes = {}
targets.each do |target| targets.each do |target|
next unless debugflags.include?('-ggdb3')
unless File.writable?(target) unless File.writable?(target)
puts "tool/run_without_tabs.rb: Skipping #{target.dump} as it's not writable." puts "tool/run_without_tabs.rb: Skipping #{target.dump} as it's not writable."
next next
@ -49,7 +56,7 @@ targets.each do |target|
FileUtils.touch(target, mtime: mtimes[target]) FileUtils.touch(target, mtime: mtimes[target])
end end
result = system(*ARGV) result = system(*command)
targets.each do |target| targets.each do |target|
if sources.key?(target) if sources.key?(target)