diff options
author | Guido Günther <agx@sigxcpu.org> | 2013-05-08 12:52:58 +0200 |
---|---|---|
committer | Guido Günther <agx@sigxcpu.org> | 2013-05-08 12:52:58 +0200 |
commit | 9a8e56049ebf9f0878c7fe3efc0921df8aa6a0ba (patch) | |
tree | 7d61a00fa8d6ec4667663370cc42b04be03ec569 /configure.ac |
Imported Upstream version 7u21-2.3.9upstream/7u21-2.3.9upstream
Diffstat (limited to 'configure.ac')
-rw-r--r-- | configure.ac | 472 |
1 files changed, 472 insertions, 0 deletions
diff --git a/configure.ac b/configure.ac new file mode 100644 index 0000000..5f87cc7 --- /dev/null +++ b/configure.ac @@ -0,0 +1,472 @@ +AC_INIT([icedtea], [2.3.9], [distro-pkg-dev@openjdk.java.net]) +AM_INIT_AUTOMAKE([1.9 tar-pax foreign]) +AC_CONFIG_FILES([Makefile]) + +# Older automake doesn't generate these correctly +abs_top_builddir=`pwd -P` +AC_SUBST(abs_top_builddir) +abs_top_srcdir=`dirname $0` +cd $abs_top_srcdir +abs_top_srcdir=`pwd` +cd $abs_top_builddir +AC_SUBST(abs_top_srcdir) + +AC_CANONICAL_HOST + +AC_PREFIX_DEFAULT([bootstrap]) + +AC_PROG_CC +AC_PROG_CXX + +IT_FIND_TOOL([MAKE], [make]) +IT_FIND_TOOL([GZIP], [gzip]) +IT_FIND_TOOL([ANT], [ant]) +IT_FIND_TOOL([FIND], [find]) +IT_FIND_TOOL([PATCH], [patch]) +IT_FIND_TOOL([TAR], [tar]) +IT_FIND_TOOL([CHMOD], [chmod]) +IT_FIND_TOOL([SHA256SUM], [sha256sum]) +IT_FIND_TOOL([WGET], [wget]) +IT_FIND_TOOL([ZIP], [zip]) +IT_FIND_TOOL([UNZIP], [unzip]) +IT_FIND_TOOL([CPIO], [cpio]) +IT_FIND_TOOL([FILE], [file]) +AC_CHECK_TOOLS([FASTJAR], [fastjar jar]) +if test "x$FASTJAR" = x; then + AC_MSG_ERROR([Can't find fastjar or jar]) +fi +AC_SUBST([FASTJAR]) +AC_CHECK_TOOL([LDD], [ldd]) +dnl OpenJDK's README-builds.html lists gawk as a build dependency so we +dnl check for it explicitly rather than using AC_PROG_AWK. +IT_FIND_TOOL([GAWK], [gawk]) +IT_CHECK_FOR_MERCURIAL +IT_OBTAIN_HG_REVISIONS +AC_PATH_TOOL([LSB_RELEASE],[lsb_release]) +IT_WITH_GCJ +IT_WITH_HOTSPOT_BUILD +AC_PATH_TOOL([LINUX32],[linux32]) +IT_CHECK_GCC_VERSION +IT_FIND_NUMBER_OF_PROCESSORS +IT_CP_SUPPORTS_REFLINK +IT_CAN_HARDLINK_TO_SOURCE_TREE +IT_DISABLE_TESTS +IT_DISABLE_HOTSPOT_TESTS +IT_DISABLE_LANGTOOLS_TESTS +IT_DISABLE_JDK_TESTS + +# Use xvfb-run if found to run gui tests (check-jdk). +AC_CHECK_PROG(XVFB_RUN_CMD, xvfb-run, [xvfb-run -a -e xvfb-errors], []) +AC_SUBST(XVFB_RUN_CMD) + +AC_MSG_CHECKING([whether to include PulseAudio support]) +AC_ARG_ENABLE([pulse-java], + [AS_HELP_STRING([--enable-pulse-java], + [Enable pulse-java - an audio mixer spi that uses PulseAudio])], + [enable_pulse_java="${enableval}"], [enable_pulse_java="no"]) +AM_CONDITIONAL(ENABLE_PULSE_JAVA, test "x${enable_pulse_java}" = "xyes") +AC_MSG_RESULT(${enable_pulse_java}) + +AC_MSG_CHECKING([whether to build documentation]) +AC_ARG_ENABLE([docs], + [AS_HELP_STRING([--disable-docs], + [Disable generation of documentation])], + [ENABLE_DOCS="${enableval}"], [ENABLE_DOCS='yes']) +AM_CONDITIONAL([ENABLE_DOCS], [test x$ENABLE_DOCS = xyes]) +AC_MSG_RESULT(${ENABLE_DOCS}) + +AC_MSG_CHECKING([whether to include SystemTap tracing support]) +AC_ARG_ENABLE([systemtap], + [AS_HELP_STRING([--enable-systemtap], + [Enable inclusion of SystemTap trace support])], + [ENABLE_SYSTEMTAP="${enableval}"], [ENABLE_SYSTEMTAP='no']) +AM_CONDITIONAL([ENABLE_SYSTEMTAP], [test x$ENABLE_SYSTEMTAP = xyes]) +AC_MSG_RESULT(${ENABLE_SYSTEMTAP}) + +IT_LOCATE_NSS +IT_GET_PKGVERSION +IT_GET_LSB_DATA + +IT_SET_ARCH_SETTINGS +IT_SET_OS_DIRS +OPENJDK_BUILD_DIR=openjdk.build +AC_SUBST(OPENJDK_BUILD_DIR) + +IT_CHECK_NUMBER_OF_PARALLEL_JOBS +IT_CHECK_IF_BOOTSTRAPPING +IT_CHECK_IF_DOWNLOADING +IT_CHECK_FOR_JDK +IT_FIND_JAVA +IT_FIND_COMPILER +IT_FIND_JAVAH +IT_FIND_JAR +IT_FIND_RMIC +IT_FIND_NATIVE2ASCII +IT_USING_CACAO +if test "x$enable_bootstrap" = "xyes"; then + IT_FIND_ECJ_JAR + IT_FIND_TOOL([XSLTPROC], [xsltproc]) +fi +AC_CONFIG_FILES([javac], [chmod +x javac]) +AC_CONFIG_FILES([javap], [chmod +x javap]) +AC_CONFIG_FILES([javah], [chmod +x javah]) + +IT_JAVAH +IT_LIBRARY_CHECK +IT_CHECK_FOR_CLASS([JAVA_UTIL_SCANNER], [java.util.Scanner]) +IT_PR40630_CHECK +IT_CHECK_FOR_CLASS([JAVAX_ANNOTATION_RESOURCE], [javax.annotation.Resource]) +IT_GETDTDTYPE_CHECK +dnl PR48033 - Missing javax.management.remote.JMXServiceURL +IT_CHECK_FOR_CLASS([JAVAX_MANAGEMENT_REMOTE_JMXSERVICEURL], [javax.management.remote.JMXServiceURL]) +dnl PR48034 - javax.management.modelmbean.ModelMBeanInfo +IT_CHECK_FOR_CLASS([JAVAX_MANAGEMENT_MODELMBEAN_MODELMBEANINFO], [javax.management.modelmbean.ModelMBeanInfo]) +dnl PR43148 - javac fails due to missing java.util.regex.Matcher.quoteReplacement +IT_CHECK_FOR_METHOD([JAVA_UTIL_REGEX_MATCHER_QUOTEREPLACEMENT], + [java.util.regex.Matcher.quoteReplacement], + [java.util.regex.Matcher], + ["quoteReplacement",String.class], + [java.util.regex.Matcher.quoteReplacement("Blah")] +) +dnl PR42003 - Missing javax.swing.plaf.basic.BasicDirectoryModel methods cause OpenJDK build failure +IT_CHECK_FOR_METHOD([JAVAX_SWING_PLAF_BASIC_BASICDIRECTORYMODEL_ADDPROPERTYCHANGELISTENER], + [javax.swing.plaf.basic.BasicDirectoryModel.addPropertyChangeListener], + [javax.swing.plaf.basic.BasicDirectoryModel], + ["addPropertyChangeListener",java.beans.PropertyChangeListener.class], + [javax.swing.plaf.basic.BasicDirectoryModel model = new javax.swing.plaf.basic.BasicDirectoryModel(new javax.swing.JFileChooser()); model.addPropertyChangeListener(model)] +) +dnl PR56553 - SSLParameters support missing +IT_CHECK_FOR_METHOD([JAVAX_NET_SSL_SSLCONTEXT_GETDEFAULTSSLPARAMETERS], + [javax.net.ssl.SSLContext.getDefaultSSLParameters], + [javax.net.ssl.SSLContext], + ["getDefaultSSLParameters"], + [try { javax.net.ssl.SSLContext.getDefault().getDefaultSSLParameters(); } catch (Exception e) {}] +) +IT_CHECK_FOR_METHOD([JAVAX_NET_SSL_SSLENGINE_SETSSLPARAMETERS], + [javax.net.ssl.SSLEngine.setSSLParameters], + [javax.net.ssl.SSLEngine], + ["setSSLParameters", javax.net.ssl.SSLParameters.class], + [try { javax.net.ssl.SSLContext.getDefault().createSSLEngine().setSSLParameters(new javax.net.ssl.SSLParameters()); } + catch (Exception e) {}] +) +dnl PR57008 - Add missing SslRMIServerSocketFactory constructor from 7 +IT_CHECK_FOR_CONSTRUCTOR([JAVAX_RMI_SSL_SSLRMISERVERSOCKETFACTORY_7], + [javax.rmi.ssl.SslRMIServerSocketFactory], + [javax.net.ssl.SSLContext.class,String@<:@@:>@.class,String@<:@@:>@.class,Boolean.TYPE], + [null,null,null,true] +) + +IT_CHECK_ENABLE_WARNINGS +IT_DIAMOND_CHECK +IT_BYTECODE7_CHECK + +IT_FIND_RHINO_JAR +IT_WITH_OPENJDK_SRC_ZIP +IT_WITH_HOTSPOT_SRC_ZIP +IT_WITH_CORBA_SRC_ZIP +IT_WITH_JAXP_SRC_ZIP +IT_WITH_JAXWS_SRC_ZIP +IT_WITH_JDK_SRC_ZIP +IT_WITH_LANGTOOLS_SRC_ZIP +IT_WITH_ALT_JAR_BINARY + +IT_ENABLE_CACAO +IT_WITH_CACAO_HOME +IT_WITH_CACAO_SRC_ZIP +IT_ENABLE_JAMVM +IT_WITH_JAMVM_SRC_ZIP + +IT_DISABLE_OPTIMIZATIONS +IT_ENABLE_WERROR +IT_ENABLE_JAR_COMPRESSION +IT_SET_SHARK_BUILD +IT_ENABLE_ZERO_BUILD +IT_CHECK_ADDITIONAL_VMS + +IT_WITH_VERSION_SUFFIX +IT_WITH_PROJECT +IT_ENABLE_HG +IT_WITH_TZDATA_DIR + +IT_WITH_PAX +AC_CONFIG_FILES([pax-mark-vm], [chmod +x pax-mark-vm]) + +AC_PATH_TOOL([HG],[hg]) +if test "x${enable_hg}" = "xyes"; then + if test "x${HG}" = x; then + AC_MSG_ERROR([Mercurial not found; this is required for a hg build]) + fi +fi +AC_SUBST([HG]) +IT_WITH_HG_REVISION + +AC_PATH_TOOL([GCJ],[gcj]) +AC_SUBST([GCJ]) + +dnl pkgconfig cannot be used to find these headers and libraries. +AC_CHECK_HEADERS([X11/X.h],[] + ,[AC_MSG_ERROR("xorg headers were not found - + try installing xorg-x11-proto-devel.")]) + +IT_CHECK_FOR_ZLIB +IT_CHECK_FOR_JPEG +IT_CHECK_FOR_PNG +IT_CHECK_FOR_GIF +IT_CHECK_FOR_LCMS +IT_CHECK_FOR_GTK +IT_CHECK_FOR_GIO +IT_CHECK_FOR_FONTCONFIG +IT_CHECK_FOR_CUPS +IT_CHECK_FOR_SYSCALLS +AC_CONFIG_FILES([remove-intree-libraries.sh]) + +dnl Check for Xproto headers and libraries. +PKG_CHECK_MODULES(XPROTO, xproto,[XPROTO_FOUND=yes],[XPROTO_FOUND=no]) +if test "x${XPROTO_FOUND}" = xno +then + AC_MSG_ERROR([Could not find Xproto headers - \ + Try installing xorg-x11-proto-devel.]) +fi +AC_SUBST(XT_CFLAGS) +AC_SUBST(XT_LIBS) + +dnl Check for libXt headers and libraries. +PKG_CHECK_MODULES(XT, xt,[XT_FOUND=yes],[XT_FOUND=no]) +if test "x${XT_FOUND}" = xno +then + AC_MSG_ERROR([Could not find Xt - \ + Try installing libXt-devel.]) +fi +AC_SUBST(XT_CFLAGS) +AC_SUBST(XT_LIBS) + +dnl Check for libX11 headers and libraries. +PKG_CHECK_MODULES(X11, x11,[X11_FOUND=yes],[X11_FOUND=no]) +if test "x${X11_FOUND}" = xno +then + AC_MSG_ERROR([Could not find x11 - \ + Try installing libX11-devel.]) +fi +AC_SUBST(X11_CFLAGS) +AC_SUBST(X11_LIBS) + +dnl Check for libXinerama headers and libraries. +PKG_CHECK_MODULES(XINERAMA, xinerama,[XINERAMA_FOUND=yes] + ,[XINERAMA_FOUND=no]) +if test "x${XINERAMA_FOUND}" = xno +then + AC_MSG_ERROR([Could not find Xinerama - \ + Try installing libXinerama-devel.]) +fi +AC_SUBST(XINERAMA_CFLAGS) +AC_SUBST(XINERAMA_LIBS) + +if test "x${ENABLE_XRENDER}" = "xyes" +then + PKG_CHECK_MODULES(XRENDER, xrender, [XRENDER_FOUND=yes], [XRENDER_FOUND=no]) + if test "x${XRENDER_FOUND}" = xno + then + AC_MSG_ERROR([Could not find Xrender extension - \ +Try installing libXrender-devel or configure --disable-xrender.]) + fi +fi + +if test "x${ENABLE_SYSTEMTAP}" = xyes; then +AC_CHECK_HEADER([sys/sdt.h], [SDT_H_FOUND='yes'], + [SDT_H_FOUND='no'; + AC_MSG_ERROR([systemtap support needs sys/sdt.h header])]) + + AC_MSG_CHECKING([working sys/sdt.h and g++ support]) + AC_LANG_PUSH([C++]) + AC_LINK_IFELSE([AC_LANG_PROGRAM([[ +#include <sys/sdt.h> +class ProbeClass +{ +private: + int& ref; + const char *name; + +public: + ProbeClass(int& v, const char *n) : ref(v), name(n) + { + DTRACE_PROBE2(_test_, cons, name, ref); + } + + void method(int min) + { + DTRACE_PROBE3(_test_, meth, name, ref, min); + ref -= min; + } + + ~ProbeClass() + { + DTRACE_PROBE2(_test_, dest, name, ref); + } +}; +]], +[[ + int i = 64; + DTRACE_PROBE1(_test_, call, i); + ProbeClass inst = ProbeClass(i, "call"); + inst.method(24); +]])], [AC_MSG_RESULT([yes])], [AC_MSG_ERROR([systemtap sdt.h or g++ too old])]) + AC_LANG_POP([C++]) + + AC_MSG_CHECKING([for absolute java home install dir]) + AC_ARG_WITH([abs-install-dir], + [AS_HELP_STRING([--with-abs-install-dir], + [The absolute path where the j2sdk-image dir will be installed])], + [if test "x${withval}" = x; then + ABS_JAVA_HOME_DIR="${abs_top_builddir}/${OPENJDK_BUILD_DIR}/j2sdk-image" + else + ABS_JAVA_HOME_DIR="${withval}" + fi], [ABS_JAVA_HOME_DIR="${abs_top_builddir}/${OPENJDK_BUILD_DIR}/j2sdk-image"]) + AC_MSG_RESULT([${ABS_JAVA_HOME_DIR}]) + ABS_CLIENT_LIBJVM_SO="${ABS_JAVA_HOME_DIR}/jre/lib/${INSTALL_ARCH_DIR}/client/libjvm.so" + ABS_SERVER_LIBJVM_SO="${ABS_JAVA_HOME_DIR}/jre/lib/${INSTALL_ARCH_DIR}/server/libjvm.so" + AC_SUBST(ABS_JAVA_HOME_DIR) + AC_SUBST(ABS_CLIENT_LIBJVM_SO) + AC_SUBST(ABS_SERVER_LIBJVM_SO) + AC_CONFIG_FILES([tapset/hotspot.stp]) + AC_CONFIG_FILES([tapset/hotspot_jni.stp]) + AC_CONFIG_FILES([tapset/jstack.stp]) +fi + +dnl Check for libXtst headers and libraries. +PKG_CHECK_MODULES(XTST, xtst,[XTST_FOUND=yes],[XTST_FOUND=no]) +if test "x${XTST_FOUND}" = xno +then + AC_MSG_ERROR([Could not find Xtst - \ + Try installing libXtst-devel.]) +fi +AC_SUBST(XTST_CFLAGS) +AC_SUBST(XTST_LIBS) + +dnl Check for freetype2 headers and libraries. +PKG_CHECK_MODULES(FREETYPE2, freetype2,[FREETYPE2_FOUND=yes] + ,[FREETYPE2_FOUND=no]) +if test "x${FREETYPE2_FOUND}" = xno +then + AC_MSG_ERROR([Could not find freetype2 - \ + Try installing freetype2-devel.]) +fi +AC_SUBST(FREETYPE2_CFLAGS) +AC_SUBST(FREETYPE2_LIBS) + +dnl Check for alsa headers and libraries (only required for Linux). +if test "x${BUILD_OS_DIR}" = "xlinux" +then + PKG_CHECK_MODULES(ALSA, alsa,[ALSA_FOUND=yes],[ALSA_FOUND=no]) + if test "x${ALSA_FOUND}" = xno + then + AC_MSG_ERROR([Could not find alsa - \ + Try installing alsa-lib-devel.]) + fi +AC_SUBST(ALSA_CFLAGS) +AC_SUBST(ALSA_LIBS) +fi + +if test "x${enable_pulse_java}" = "xyes" +then + dnl Check for pulseaudio libraries. + PKG_CHECK_MODULES(LIBPULSE,[libpulse >= 0.9.11],[LIBPULSE_FOUND=yes] + ,[LIBPULSE_FOUND=no]) + if test "x${LIBPULSE_FOUND}" = xno + then + AC_MSG_ERROR([Could not find pulseaudio>=0.9.11 libraries - \ + Try installing pulseaudio-libs-devel>=0.9.11.]) + fi + AC_SUBST(LIBPULSE_CFLAGS) + AC_SUBST(LIBPULSE_LIBS) +fi + +if test "x${ZERO_BUILD_TRUE}" = x || test "x${ADD_ZERO_BUILD_TRUE}" = x; then + dnl Check for libffi headers and libraries. + PKG_CHECK_MODULES(LIBFFI, libffi,[LIBFFI_FOUND=yes],[LIBFFI_FOUND=no]) + if test "x${LIBFFI_FOUND}" = xno + then + LIBFFI_FOUND= + AC_CHECK_HEADER([ffi.h],[LIBFFI_CFLAGS=],[LIBFFI_FOUND=no]) + AC_SEARCH_LIBS([ffi_call], [ffi],[LIBFFI_LIBS=-lffi],[LIBFFI_FOUND=no]) + if test "x${LIBFFI_FOUND}" = xno + then + AC_MSG_ERROR([Could not find libffi headers - \ + Try installing libffi-devel, libffi-dev or libffi4-dev.]) + fi + fi +fi +AC_SUBST(LIBFFI_CFLAGS) +AC_SUBST(LIBFFI_LIBS) + +AC_ARG_WITH([llvm-config], + [AS_HELP_STRING([--with-llvm-config], + [llvm-config binary (default is llvm-config)])], + [ + if test "x${withval}" != x && test "x${withval}" != xyes && test "x${withval}" != xno; then + if which ${withval} >/dev/null 2>&1 && ${withval} --version >/dev/null 2>&1; then + LLVM_CONFIG=${withval} + else + AC_MSG_ERROR([invalid argument for --with-llvm-config ($withval)]) + fi + fi + ]) + +if test "x${SHARK_BUILD_TRUE}" = x || test "x${ADD_SHARK_BUILD_TRUE}" = x; then + if test "x${LLVM_CONFIG}" = x; then + IT_FIND_TOOL([LLVM_CONFIG], [llvm-config]) + fi + llvm_components="jit engine nativecodegen" + LLVM_VERSION="`$LLVM_CONFIG --version`" + dnl LLVM_CFLAGS + LLVM_CFLAGS= + for flag in $($LLVM_CONFIG --cxxflags $llvm_components); do + if echo "$flag" | grep -q '^-[[ID]]'; then + if test "$flag" != "-D_DEBUG"; then + if test "x$LLVM_CFLAGS" != "x"; then + LLVM_CFLAGS="$LLVM_CFLAGS " + fi + LLVM_CFLAGS="$LLVM_CFLAGS$flag" + fi + fi + done + LLVM_CFLAGS="$LLVM_CFLAGS -DSHARK_LLVM_VERSION=`echo $LLVM_VERSION | sed 's/\.//;s/svn.*//'`" + dnl LLVM_LDFLAGS + LLVM_LDFLAGS= + for flag in $($LLVM_CONFIG --ldflags $llvm_components); do + if echo "$flag" | grep -q '^-L'; then + if test "x$LLVM_LDFLAGS" != "x"; then + LLVM_LDFLAGS="$LLVM_LDFLAGS " + fi + LLVM_LDFLAGS="$LLVM_LDFLAGS$flag" + fi + done + dnl LLVM_LIBS + LIBS_SAVED=$LIBS + LDFLAGS_SAVED=$LDFLAGS + LDFLAGS=$LLVM_LDFLAGS + AC_CHECK_LIB(LLVM-$LLVM_VERSION, LLVMGetNextInstruction,LLVM_SHARED_LIB=" -lLLVM-$LLVM_VERSION") + LIBS=$LIBS_SAVED + LDFLAGS=$LDFLAGS_SAVED + LLVM_LIBS= + for flag in $($LLVM_CONFIG --libs $llvm_components); do + if test "x$LLVM_SHARED_LIB" != x && echo "$flag" | grep -q '^-lLLVM'; then + continue + fi + if echo "$flag" | grep -q '^-l'; then + if test "x$LLVM_LIBS" != "x"; then + LLVM_LIBS="$LLVM_LIBS " + fi + LLVM_LIBS="$LLVM_LIBS$flag" + fi + done + LLVM_LIBS="$LLVM_LIBS$LLVM_SHARED_LIB" +fi +AC_SUBST(LLVM_CFLAGS) +AC_SUBST(LLVM_LDFLAGS) +AC_SUBST(LLVM_LIBS) + +# Arguments passed to configure. +AC_SUBST(CONFIGURE_ARGS) +CONFIGURE_ARGS="$ac_configure_args" + +AC_OUTPUT |