【发布时间】:2012-10-19 16:55:56
【问题描述】:
我正在使用 autoconf 进行构建。我希望我的配置脚本检查是否存在 Java 编译器并确保版本至少为 1.6 并且它是 Oracle 的 Java 编译器。
我需要在 configure.ac 脚本中添加什么?
【问题讨论】:
我正在使用 autoconf 进行构建。我希望我的配置脚本检查是否存在 Java 编译器并确保版本至少为 1.6 并且它是 Oracle 的 Java 编译器。
我需要在 configure.ac 脚本中添加什么?
【问题讨论】:
AX_PROG_JAVA 宏及其在GNU Autoconf Macro Archive 处的关联宏将是一个很好的起点。但是,它们不会完全按照您的要求进行(确保它是 Oracle 编译器并且至少是 Java 1.6)。
【讨论】:
configure 以使用正确的 javac。
$JAVAC -version 并处理其输出(或者如果它完全运行)。
which javac /usr/bin/javac -> /etc/alternatives/javac $ ls -l /etc/alternatives/javac /etc/ alternatives/javac -> /usr/bin/gcj-wrapper-4.4 javac 实际上有时指向 Ubuntu 上的 gcj,它不会在配置期间失败,而是在编译失败时失败。我想在配置过程中向用户提供需要 Oracle 的 Java 的消息
$JAVAC -version,这将在 configure 期间运行。如果宏将 JAVAC 设置为 gcj,$JAVAC -version 可能无法运行,因为 gcj 不使用 Oracle 命令行选项。如果 JAVAC 编译器使用 Oracle 兼容的命令行选项,您至少会得到版本信息。