java-atk-wrapper/configure.ac

230 lines
6.1 KiB
Plaintext

AC_PREREQ(2.63)
AC_INIT([java-atk-wrapper],[0.40.0],[https://gitlab.gnome.org/GNOME/java-atk-wrapper/issues/new])
: ${CXXFLAGS=""}
AC_CONFIG_AUX_DIR(config)
AM_INIT_AUTOMAKE([1.11 -Wall check-news])
AM_SILENT_RULES([yes])
m4_pattern_allow([AM_PROG_AR])
m4_ifdef([AM_PROG_AR], [AM_PROG_AR])
# jni
AC_CONFIG_HEADERS([config.h])
AC_PROG_CC(gcc)
AC_PROG_CXX
AC_PROG_INSTALL
AC_PATH_XTRA
# Initialize libtool
LT_PREREQ([2.2.6])
LT_INIT([disable-static])
AC_CONFIG_MACRO_DIR([m4])
m4_define([req_ver_atk], [1.18.0])
PKG_CHECK_MODULES(JAW, [
atk >= 2.36.0
atk-bridge-2.0 >= 2.33.1
atspi-2 >= 2.14.0
dbus-1
glib-2.0 >= 2.32.0
gthread-2.0
gobject-2.0
])
LIB_ATK_WRAPPER_LD_FLAGS="-avoid-version -no-undefined"
AC_SUBST(LIB_ATK_WRAPPER_LD_FLAGS)
AC_ARG_ENABLE([modular-jar],
[AS_HELP_STRING([--enable-modular-jar],
[Build modular java-atk-wrapper jar])],
[enable_modular_jar="$enableval"],
[enable_modular_jar=no])
AS_IF([test "x$enable_modular_jar" = "xyes"], [
JAVA_REQUIRED=9.0.0
], [
JAVA_REQUIRED=1.7.0
])
JAVA_ERROR_MESSAGE="Java $JAVA_REQUIRED or later is required to build java-access-bridge"
AM_CONDITIONAL([MODULAR_JAR], [test "x$enable_modular_jar" = "xyes"])
# java wrapper
AM_CONDITIONAL(USER, test `whoami` = "root")
AC_ARG_VAR([JAVA_HOME],[Java Runtime Environment location])
AC_ARG_VAR([JDK_SRC],[JDK installation path])
CUR_DIR=`pwd`
SRC_DIR=`dirname $0`
AC_ARG_WITH([jdk_auto_detect],
[AS_HELP_STRING([--with-jdk-auto-detect],
[Auto-detection of jdk location])],
[],
[with_jdk_auto_detect=yes])
if test "x$with_jdk_auto_detect" = "xyes"; then
`javac -nowarn $JAVACFLAGS ${srcdir}/JavaInfo.java -d .`
JDK_SRC=`java JavaInfo`
JAVA_HOME="${JDK_SRC}/jre"
if test ! -d ${JAVA_HOME}; then
JAVA_HOME="${JDK_SRC}"
fi
else
if test -z "$JDK_SRC"; then
AC_MSG_ERROR("You should specify JDK_SRC")
else
if test -z "$JAVA_HOME"; then
JAVA_HOME="${JDK_SRC}/jre"
if test ! -d ${JAVA_HOME}; then
JAVA_HOME="${JDK_SRC}"
fi
fi
fi
fi
AC_SUBST(JDK_SRC)
AC_SUBST(JAVA_HOME)
if test -z "$JAVA_HOME"; then
JAVA_PATH=${PATH}
else
JAVA_PATH=${JDK_SRC}:${JDK_SRC}/bin:${PATH}
fi
AC_PATH_PROG(JAVA,java,,${JAVA_PATH})
if test -z "$JAVA"; then
AC_MSG_ERROR([$JAVA_ERROR_MESSAGE])
fi
AC_SUBST(JAVA)
AC_PATH_PROG(JAVAC,javac,,${JAVA_PATH})
if test -z "$JAVAC"; then
AC_MSG_ERROR([$JAVA_ERROR_MESSAGE])
fi
AC_SUBST(JAVAC)
AC_SUBST(JAVACFLAGS)
AC_PATH_PROG(JAR,jar,,${JAVA_PATH})
if test -z "$JAR"; then
AC_MSG_ERROR([$JAVA_ERROR_MESSAGE])
fi
AC_SUBST(JAR)
if test "x$GCC" = xyes; then
JAW_CFLAGS="$JAW_CFLAGS $CFLAGS"
else
AC_MSG_ERROR("You should compile with GCC")
fi
AC_SUBST(JAW_CFLAGS)
AX_IS_RELEASE(dash-version)
AX_COMPILER_FLAGS()
case "$WARN_CFLAGS" in
*-Werror*)
WARN_CFLAGS="$WARN_CFLAGS -Wno-error=deprecated-declarations"
WARN_CFLAGS="$WARN_CFLAGS -Wno-error=strict-prototypes"
WARN_CFLAGS="$WARN_CFLAGS -Wno-error=declaration-after-statement"
;;
esac
AM_CFLAGS="$AM_CFLAGS $WARN_CFLAGS -Wno-declaration-after-statement"
AC_SUBST(AM_CFLAGS)
CHECK_JNI
AC_MSG_CHECKING([JDK version])
jversion=`$JAVA -version 2>&1 | head -n1 | cut -f2 -d'"' | cut -f1 -d_`
AC_MSG_RESULT($jversion)
j_major_version=0`echo $jversion | cut -f1 -d.`
j_minor_version=0`echo $jversion | cut -f2 -d.`
j_micro_version=0`echo $jversion | cut -f3 -d.`
min_major_version=0`echo $JAVA_REQUIRED | cut -f1 -d.`
min_minor_version=0`echo $JAVA_REQUIRED | cut -f2 -d.`
min_micro_version=0`echo $JAVA_REQUIRED | cut -f3 -d.`
if test "$j_major_version" -lt "$min_major_version"; then
AC_MSG_ERROR([$JAVA_ERROR_MESSAGE])
elif test "$j_major_version" = "$min_major_version"; then
if test "$j_minor_version" -lt "$min_minor_version"; then
AC_MSG_ERROR([$JAVA_ERROR_MESSAGE])
elif test "$j_minor_version" = "$min_minor_version"; then
if test "$j_micro_version" -lt "$min_micro_version"; then
AC_MSG_ERROR([$JAVA_ERROR_MESSAGE])
fi
fi
fi
XPROP_PATH=${PATH}:/usr/X11/bin
AC_PATH_PROG(XPROP,xprop,,${XPROP_PATH})
if test -z "$XPROP"; then
AC_MSG_ERROR([No xprop found])
fi
AC_SUBST(XPROP)
AC_ARG_WITH(jardir, AS_HELP_STRING([--with-jardir=[dirname]],[Directory for installing the java-atk-wrapper.jar file]))
if test -z "$with_jardir" ; then
if test -d ${JAVA_HOME}/lib/ext ; then
if test "x$(basename ${JAVA_HOME})" = xjre; then
JARDIR=${libdir}/jvm/$(basename ${JDK_SRC})/jre/lib/ext
else
JARDIR=${libdir}/jvm/$(basename ${JAVA_HOME})/lib/ext
fi
else
JARDIR=${libdir}/jvm/$(basename ${JAVA_HOME})/lib
fi
else
JARDIR=$with_jardir
fi
AC_SUBST(JARDIR)
AC_ARG_WITH(propertiesdir, AS_HELP_STRING([--with-propertiesdir=[dirname]],[Directory for installing the accessibility.properties file]))
if test -z "$with_propertiesdir" ; then
if test -d ${JAVA_HOME}/conf ; then
PROPERTIESDIR=${libdir}/jvm/$(basename ${JAVA_HOME})/conf
else
if test "x$(basename ${JAVA_HOME})" = xjre; then
PROPERTIESDIR=${libdir}/jvm/$(basename ${JDK_SRC})/jre/lib
else
PROPERTIESDIR=${libdir}/jvm/$(basename ${JAVA_HOME})/lib
fi
fi
else
PROPERTIESDIR=$with_propertiesdir
fi
AC_SUBST(PROPERTIESDIR)
JAW_JAR_NAME=java-atk-wrapper.jar
AC_SUBST(JAW_JAR_NAME)
AC_CONFIG_FILES([
Makefile
jni/Makefile
jni/src/Makefile
wrapper/Makefile
wrapper/org/Makefile
wrapper/org/GNOME/Makefile
wrapper/org/GNOME/Accessibility/AtkWrapper.java
wrapper/org/GNOME/Accessibility/Makefile
wrapper/META-INF/Makefile
wrapper/META-INF/services/Makefile
])
AC_OUTPUT
echo "
Build configuration:
Prefix: ${prefix}
Source code location: ${srcdir}
Modular jar: ${enable_modular_jar}
Compiler: ${CC}
JDK src: ${JDK_SRC}
JAVA home: ${JAVA_HOME}
Host OS: ${host_os}
JNI includes: ${JNI_INCLUDES}
Warn flags: ${WARN_CFLAGS}
"