aboutsummaryrefslogtreecommitdiffstats
path: root/Library/ENV/libsuperenv.rb
blob: dcd97efce1728c11307e8f7e037520f2b300ee32 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# Yes, a good deal of this could be imported from Homebrew-proper
# But Homebrew-proper is dog-slow currently, and I didn't want every cc
# instantiation to be slower be a tangible amount.

class String
  def directory?; File.directory? self end
  def basename; File.basename self end
  def cleanpath; require 'pathname'; Pathname.new(self).realpath.to_s rescue self end
  def chuzzle; s = chomp; s unless s.empty? end
  def dirname; File.dirname(self) end
end

class NilClass
  def chuzzle; end
  def directory?; false end
  def split(x); [] end
end

class Array
  def to_flags prefix
    select{|path| path.directory? }.uniq.map{|path| prefix+path }
  end
end

module Kernel extend self
  alias :_exec :exec
  def exec *args
    path = File.expand_path('~/Library/Logs/Homebrew/cc.log')
    open(path, 'a') do |f|
      f.print '[', $0
      f.print " -%s" % ENV['HOMEBREW_CCCFG'] if ENV['HOMEBREW_CCCFG']
      f.print '] '
      f.puts args.join(' ')
      f.puts
    end
    _exec *args
  end
end if ENV['HOMEBREW_LOG']

$brewfix = "#{__FILE__}/../../../".cleanpath.freeze
$sdkroot = ENV['HOMEBREW_SDKROOT'].freeze