Share code for sanitizing ENV between both build environments
This commit is contained in:
		
							parent
							
								
									f0bffe8043
								
							
						
					
					
						commit
						6eb220d78f
					
				@ -14,6 +14,19 @@ module SharedEnvExtension
 | 
			
		||||
                          'llvm-gcc' => :llvm,
 | 
			
		||||
                          'clang'    => :clang }
 | 
			
		||||
 | 
			
		||||
  SANITIZED_VARS = %w[
 | 
			
		||||
    CDPATH GREP_OPTIONS CLICOLOR_FORCE
 | 
			
		||||
    CPATH C_INCLUDE_PATH CPLUS_INCLUDE_PATH OBJC_INCLUDE_PATH
 | 
			
		||||
    CC CXX OBJC OBJCXX CPP MAKE LD LDSHARED
 | 
			
		||||
    CFLAGS CXXFLAGS OBJCFLAGS OBJCXXFLAGS LDFLAGS CPPFLAGS
 | 
			
		||||
    MACOSX_DEPLOYMENT_TARGET SDKROOT DEVELOPER_DIR
 | 
			
		||||
    CMAKE_PREFIX_PATH CMAKE_INCLUDE_PATH CMAKE_FRAMEWORK_PATH
 | 
			
		||||
  ]
 | 
			
		||||
 | 
			
		||||
  def reset
 | 
			
		||||
    SANITIZED_VARS.each { |k| delete(k) }
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def remove_cc_etc
 | 
			
		||||
    keys = %w{CC CXX OBJC OBJCXX LD CPP CFLAGS CXXFLAGS OBJCFLAGS OBJCXXFLAGS LDFLAGS CPPFLAGS}
 | 
			
		||||
    removed = Hash[*keys.map{ |key| [key, self[key]] }.flatten]
 | 
			
		||||
 | 
			
		||||
@ -16,12 +16,7 @@ module Stdenv
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def setup_build_environment(formula=nil)
 | 
			
		||||
    # Clear CDPATH to avoid make issues that depend on changing directories
 | 
			
		||||
    delete('CDPATH')
 | 
			
		||||
    delete('GREP_OPTIONS') # can break CMake (lol)
 | 
			
		||||
    delete('CLICOLOR_FORCE') # autotools doesn't like this
 | 
			
		||||
    %w{CPATH C_INCLUDE_PATH CPLUS_INCLUDE_PATH OBJC_INCLUDE_PATH}.each { |k| delete(k) }
 | 
			
		||||
    remove_cc_etc
 | 
			
		||||
    reset
 | 
			
		||||
 | 
			
		||||
    if MacOS.version >= :mountain_lion
 | 
			
		||||
      # Mountain Lion's sed is stricter, and errors out when
 | 
			
		||||
 | 
			
		||||
@ -27,19 +27,10 @@ module Superenv
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def reset
 | 
			
		||||
    %w{CC CXX OBJC OBJCXX CPP MAKE LD LDSHARED
 | 
			
		||||
      CFLAGS CXXFLAGS OBJCFLAGS OBJCXXFLAGS LDFLAGS CPPFLAGS
 | 
			
		||||
      MACOSX_DEPLOYMENT_TARGET SDKROOT DEVELOPER_DIR
 | 
			
		||||
      CMAKE_PREFIX_PATH CMAKE_INCLUDE_PATH CMAKE_FRAMEWORK_PATH
 | 
			
		||||
      CPATH C_INCLUDE_PATH CPLUS_INCLUDE_PATH OBJC_INCLUDE_PATH}.
 | 
			
		||||
      each{ |x| delete(x) }
 | 
			
		||||
    delete('CDPATH') # avoid make issues that depend on changing directories
 | 
			
		||||
    delete('GREP_OPTIONS') # can break CMake
 | 
			
		||||
    delete('CLICOLOR_FORCE') # autotools doesn't like this
 | 
			
		||||
 | 
			
		||||
    super
 | 
			
		||||
    # Configure scripts generated by autoconf 2.61 or later export as_nl, which
 | 
			
		||||
    # we use as a heuristic for running under configure
 | 
			
		||||
    delete('as_nl')
 | 
			
		||||
    delete("as_nl")
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def setup_build_environment(formula=nil)
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user