Disable make_fuss when running configure invoked by make
The cc wrapper's make_fuss is only enabled when HOMEBREW_CCCFG contains 'O', which is set by the make wrapper. This means it is disable when running configure scripts. However, this does not include configure scripts invoked by make, which inherit the value of HOMEBREW_CCCFG from the make process. make_fuss will be enabled for these scripts, cause breakage. Configure scripts generated by autoconf 2.56 (November 2002) or later export DUALCASE into the environment of subprocesses. This variable is only used by the MKS shell, so we can use it as a heuristic to determine if we are running as a subprocess of a configure script.
This commit is contained in:
parent
f643b84dc4
commit
06dbec5aaf
@ -102,7 +102,7 @@ class Cmd
|
||||
when :ld
|
||||
ldflags + args
|
||||
end.compact
|
||||
make_fuss(allflags) if verbose? and cccfg? 'O'
|
||||
make_fuss(allflags)
|
||||
allflags
|
||||
end
|
||||
def refurbished_args
|
||||
@ -228,6 +228,8 @@ class Cmd
|
||||
sys.to_flags('-isystem') + opt.to_flags('-I')
|
||||
end
|
||||
def make_fuss args
|
||||
return unless make_fuss?
|
||||
|
||||
dels = @args - args
|
||||
adds = args - @args
|
||||
dups = dels & args
|
||||
@ -236,9 +238,16 @@ class Cmd
|
||||
STDERR.puts "brew: superenv deduped: #{dups}" unless dups.empty?
|
||||
STDERR.puts "brew: superenv added: #{adds*' '}" unless adds.empty?
|
||||
end
|
||||
def make_fuss?
|
||||
verbose? and cccfg? 'O' and not configure?
|
||||
end
|
||||
def verbose?
|
||||
!ENV['VERBOSE'].nil? || !ENV['HOMEBREW_VERBOSE'].nil?
|
||||
end
|
||||
def configure?
|
||||
# configure scripts generated with autoconf 2.56 or later export DUALCASE
|
||||
ENV.key? 'DUALCASE'
|
||||
end
|
||||
end
|
||||
|
||||
if __FILE__ == $PROGRAM_NAME
|
||||
|
||||
@ -52,6 +52,10 @@ module Superenv
|
||||
delete('CDPATH') # avoid make issues that depend on changing directories
|
||||
delete('GREP_OPTIONS') # can break CMake
|
||||
delete('CLICOLOR_FORCE') # autotools doesn't like this
|
||||
|
||||
# Configure scripts generated by autoconf 2.56 or later export DUALCASE,
|
||||
# which we use as a heuristic for running under configure
|
||||
delete('DUALCASE')
|
||||
end
|
||||
|
||||
def setup_build_environment(formula=nil)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user