diff options
| author | Xu Cheng | 2015-02-23 21:51:23 +0800 |
|---|---|---|
| committer | Xu Cheng | 2015-02-24 02:36:27 +0800 |
| commit | f7670c91061cedff9934991ade89d49482679013 (patch) | |
| tree | 587b84ca00010657434d27381e56c5cf298335c1 /Library | |
| parent | cf3ee4546f782a0bbe082e97c9746c5ad9b04841 (diff) | |
| download | brew-f7670c91061cedff9934991ade89d49482679013.tar.bz2 | |
JavaDependency: set JAVA_HOME and CFLAGS in superenv
Diffstat (limited to 'Library')
| -rw-r--r-- | Library/Homebrew/requirements.rb | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/Library/Homebrew/requirements.rb b/Library/Homebrew/requirements.rb index 1e5eb21e5..16e520d30 100644 --- a/Library/Homebrew/requirements.rb +++ b/Library/Homebrew/requirements.rb @@ -129,6 +129,18 @@ class JavaDependency < Requirement satisfy { java_version } + env do + java_home = Pathname.new(@java_home) + ENV["JAVA_HOME"] = java_home + ENV.prepend_path "PATH", java_home/"bin" + if (java_home/"include").exist? # Oracle JVM + ENV.append_to_cflags "-I#{java_home}/include" + ENV.append_to_cflags "-I#{java_home}/include/darwin" + else # Apple JVM + ENV.append_to_cflags "-I/System/Library/Frameworks/JavaVM.framework/Versions/Current/Headers/" + end + end + def initialize(tags) # ignore trailing + @version = tags.shift.sub(/\+$/, "") if /(\d\.)+\d/ === tags.first @@ -136,9 +148,10 @@ class JavaDependency < Requirement end def java_version - args = %w[/usr/libexec/java_home --failfast] + args = %w[--failfast] args << "--version" << "#{@version}+" if @version - quiet_system(*args) + @java_home = Utils.popen_read("/usr/libexec/java_home", *args).chomp + $?.success? end def message |
