From f7670c91061cedff9934991ade89d49482679013 Mon Sep 17 00:00:00 2001 From: Xu Cheng Date: Mon, 23 Feb 2015 21:51:23 +0800 Subject: [PATCH] JavaDependency: set JAVA_HOME and CFLAGS in superenv --- Library/Homebrew/requirements.rb | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/Library/Homebrew/requirements.rb b/Library/Homebrew/requirements.rb index 1e5eb21e52..16e520d30a 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