JavaDependency: set JAVA_HOME and CFLAGS in superenv
This commit is contained in:
parent
cf3ee4546f
commit
f7670c9106
@ -129,6 +129,18 @@ class JavaDependency < Requirement
|
|||||||
|
|
||||||
satisfy { java_version }
|
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)
|
def initialize(tags)
|
||||||
# ignore trailing +
|
# ignore trailing +
|
||||||
@version = tags.shift.sub(/\+$/, "") if /(\d\.)+\d/ === tags.first
|
@version = tags.shift.sub(/\+$/, "") if /(\d\.)+\d/ === tags.first
|
||||||
@ -136,9 +148,10 @@ class JavaDependency < Requirement
|
|||||||
end
|
end
|
||||||
|
|
||||||
def java_version
|
def java_version
|
||||||
args = %w[/usr/libexec/java_home --failfast]
|
args = %w[--failfast]
|
||||||
args << "--version" << "#{@version}+" if @version
|
args << "--version" << "#{@version}+" if @version
|
||||||
quiet_system(*args)
|
@java_home = Utils.popen_read("/usr/libexec/java_home", *args).chomp
|
||||||
|
$?.success?
|
||||||
end
|
end
|
||||||
|
|
||||||
def message
|
def message
|
||||||
|
Loading…
x
Reference in New Issue
Block a user