aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarkus Prinz2009-11-18 23:08:29 +0100
committerMax Howell2009-12-05 17:43:46 +0000
commit6ae3b89dc480dd8ccdaaa39af76d83339c503fc3 (patch)
tree3304b1332110cb46d9e9eb7eaf11119872a0cd28
parent9f85210e76d0d20f920f51a27da3ac3c4998a6ff (diff)
downloadhomebrew-6ae3b89dc480dd8ccdaaa39af76d83339c503fc3.tar.bz2
Add Clang as an option to LLVM formula
-rw-r--r--Library/Formula/llvm.rb37
1 files changed, 34 insertions, 3 deletions
diff --git a/Library/Formula/llvm.rb b/Library/Formula/llvm.rb
index d5ef51e57..a12219e42 100644
--- a/Library/Formula/llvm.rb
+++ b/Library/Formula/llvm.rb
@@ -1,17 +1,48 @@
require 'formula'
+class Clang <Formula
+ url 'http://llvm.org/releases/2.6/clang-2.6.tar.gz'
+ homepage 'http://llvm.org/'
+ md5 '09d696bf23bb4a3cf6af3c7341cdd946'
+end
+
class Llvm <Formula
- @url='http://llvm.org/releases/2.6/llvm-2.6.tar.gz'
- @homepage='http://llvm.org/'
- @md5='34a11e807add0f4555f691944e1a404a'
+ url 'http://llvm.org/releases/2.6/llvm-2.6.tar.gz'
+ homepage 'http://llvm.org/'
+ md5 '34a11e807add0f4555f691944e1a404a'
+
+ def options
+ [
+ ['--with-clang', 'Also build & install clang']
+ ]
+ end
+
+ def clang?
+ ARGV.include? '--with-clang'
+ end
def install
ENV.gcc_4_2 # llvm can't compile itself
+ if clang?
+ clang_dir = File.join(Dir.pwd, 'tools', 'clang')
+
+ Clang.new.brew {
+ FileUtils.mkdir_p clang_dir
+ FileUtils.mv Dir['*'], clang_dir
+ }
+ end
+
system "./configure", "--prefix=#{prefix}",
"--enable-targets=host-only",
"--enable-optimized"
system "make"
system "make install" # seperate steps required, otherwise the build fails
+
+ if clang?
+ Dir.chdir clang_dir do
+ system "make install"
+ end
+ end
end
end