aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorXu Cheng2015-02-23 21:51:23 +0800
committerXu Cheng2015-02-24 02:36:27 +0800
commitf7670c91061cedff9934991ade89d49482679013 (patch)
tree587b84ca00010657434d27381e56c5cf298335c1
parentcf3ee4546f782a0bbe082e97c9746c5ad9b04841 (diff)
downloadbrew-f7670c91061cedff9934991ade89d49482679013.tar.bz2
JavaDependency: set JAVA_HOME and CFLAGS in superenv
-rw-r--r--Library/Homebrew/requirements.rb17
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