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)/$(arch)/.time $(srcdir)/tool/run_without_tabs.rb
$(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
$(Q) $(IFCHANGE) "--timestamp=$@" $(@F:.time=.h) $(@F:.time=.h).new

View file

@ -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)