summaryrefslogtreecommitdiff
path: root/configure.ac
diff options
context:
space:
mode:
authorJan-Marek Glogowski <glogow@fbihome.de>2020-10-02 14:56:54 +0200
committerJan-Marek Glogowski <glogow@fbihome.de>2020-10-04 22:18:54 +0200
commit856ce2a5b64a6f7a1ea3a6ab0ee2bb5932743566 (patch)
treefafec716c4c821b8a185c912d3c695e04159eb80 /configure.ac
parent83e445cd2d6b59845a330e990aa56c027f8fa85e (diff)
Don't forward JDK home option to the cross-build
The configure flags on the command line always specify the host config, so it doesn't make any sense to forward this setting in case of a cross build. You can add a --with-jdk-home=... to the --with-build-platform-configure-options flags, if the build config finds the wrong build JDK. Also add this info to the --with-jdk-home help. For convenience (and because I don't want to adapt tinderboxes again), this forwards the host JDK to the build for Android. And explicitly disables Java for iOS build tools, as it used to be. The whole --with-java handling should probably be removed in favour of the --with-jdk-home. Do we have a real use case, where we just need the Java interpreter but not the JDK (ok - the document validators come to mind, but then you could also just simply provide a JDK...)? Change-Id: I328a15c090001bb025f4ba66d13b0cd020991fa9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103878 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
Diffstat (limited to 'configure.ac')
-rw-r--r--configure.ac25
1 files changed, 17 insertions, 8 deletions
diff --git a/configure.ac b/configure.ac
index 700ca2908b2c..7993b60cdab1 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2120,7 +2120,9 @@ AC_ARG_WITH(jdk-home,
AS_HELP_STRING([--with-jdk-home=<absolute path to JDK home>],
[If you have installed JDK 9 or later on your system please supply the
path here. Note that this is not the location of the java command but the
- location of the entire distribution.]),
+ location of the entire distribution. In case of cross-compiling, this
+ is the JDK of the host os. Use --with-build-platform-configure-options
+ to point to a different build platform JDK.]),
,)
AC_ARG_WITH(help,
@@ -4967,24 +4969,31 @@ if test "$cross_compiling" = "yes"; then
fi
test -n "$PKG_CONFIG_FOR_BUILD" && export PKG_CONFIG="$PKG_CONFIG_FOR_BUILD"
cd CONF-FOR-BUILD
+
sub_conf_opts=""
test -n "$enable_ccache" && sub_conf_opts="$sub_conf_opts --enable-ccache=$enable_ccache"
test -n "$with_ant_home" && sub_conf_opts="$sub_conf_opts --with-ant-home=$with_ant_home"
test "$with_junit" = "no" && sub_conf_opts="$sub_conf_opts --without-junit"
if test -n "$ENABLE_JAVA"; then
- if test "$_os" != "iOS" -a "$_os" != "Android"; then
- if ! echo "$with_build_platform_configure_options" | grep -q -- '--with-jdk-home='; then
- AC_MSG_ERROR([Missing build JDK (see --with-build-platform-configure-options, --with-jdk-home and use 'cygpath -ms' on Windows)!])
- fi
- else
+ case "$_os" in
+ iOS) sub_conf_opts="$sub_conf_opts --without-java" ;; # force it off, like it used to be
+ Android)
+ # Hack for Android - the build doesn't need a host JDK, so just forward to build for convenience
test -n "$with_jdk_home" && sub_conf_opts="$sub_conf_opts --with-jdk-home=$with_jdk_home"
- fi
+ ;;
+ *)
+ if test -z "$with_jdk_home"; then
+ AC_MSG_ERROR([Missing host JDK! This can't be detected for the build OS, so you have to specify it with --with-jdk-home.])
+ fi
+ ;;
+ esac
else
sub_conf_opts="$sub_conf_opts --without-java"
fi
test -n "$TARFILE_LOCATION" && sub_conf_opts="$sub_conf_opts --with-external-tar=$TARFILE_LOCATION"
test "$with_system_icu_for_build" = "yes" -o "$with_system_icu_for_build" = "force" && sub_conf_opts="$sub_conf_opts --with-system-icu"
sub_conf_opts="$sub_conf_opts $with_build_platform_configure_options"
+
# Don't bother having configure look for stuff not needed for the build platform anyway
./configure \
--build="$build_alias" \
@@ -7863,11 +7872,11 @@ if test "$ENABLE_JAVA" != "" -a "$cross_compiling" != "yes"; then
JAVA_CLASSPATH_NOT_SET=TRUE
fi
- AC_MSG_RESULT([found (JDK $_jdk)])
JAVA_HOME=`echo $JAVAINTERPRETER | $SED -n "s,//*bin//*java,,p"`
if test "$_os" = "WINNT"; then
JAVA_HOME=`echo $JAVA_HOME | $SED "s,\.[[eE]][[xX]][[eE]]$,,"`
fi
+ AC_MSG_RESULT([found $JAVA_HOME (JDK $_jdk)])
# set to limit VM usage for JunitTests
JAVAIFLAGS=-Xmx64M