| dnl Process this file with autoconf to produce a configure script. |
| |
| dnl ----------------------------------------------------------- |
| dnl Turning off cache for debug reasons |
| dnl ----------------------------------------------------------- |
| dnl define([AC_CACHE_LOAD], )dnl |
| dnl define([AC_CACHE_SAVE], )dnl |
| |
| AC_INIT([GNU Classpath],[0.99-pre],[classpath@gnu.org],[classpath]) |
| AC_CONFIG_SRCDIR(java/lang/System.java) |
| AC_CONFIG_MACRO_DIR([m4]) |
| |
| dnl GCJ LOCAL |
| AC_CONFIG_AUX_DIR(../..) |
| dnl END GCJ LOCAL |
| |
| AC_CANONICAL_TARGET |
| |
| dnl GCJ LOCAL |
| AC_ARG_ENABLE(java-maintainer-mode, |
| AS_HELP_STRING([--enable-java-maintainer-mode], |
| [allow rebuilding of .class and .h files])) |
| AM_CONDITIONAL(JAVA_MAINTAINER_MODE, test "$enable_java_maintainer_mode" = yes) |
| dnl END GCJ LOCAL |
| |
| dnl GCJ LOCAL |
| # We would like to our source tree to be readonly. However when releases or |
| # pre-releases are generated, the man pages need to be included as they are |
| # converted from the texi files via perl which we don't require end users to |
| # have installed. |
| # Therefore we have --enable-generated-files-in-srcdir to do just that. |
| |
| AC_MSG_CHECKING([whether to place generated files in the source directory]) |
| dnl generated-files-in-srcdir is disabled by default |
| AC_ARG_ENABLE(generated-files-in-srcdir, |
| [ --enable-generated-files-in-srcdir |
| put copies of generated files in source dir |
| intended for creating source tarballs for users |
| without texinfo, perl, bison or flex.], |
| generated_files_in_srcdir=$enableval, |
| generated_files_in_srcdir=no) |
| |
| AC_MSG_RESULT($generated_files_in_srcdir) |
| AM_CONDITIONAL(GENINSRC, test x$generated_files_in_srcdir = xyes) |
| dnl END GCJ LOCAL |
| |
| # Find the rest of the source tree framework. |
| AM_ENABLE_MULTILIB(, ../..) |
| |
| AM_CONDITIONAL(INSTALL_BINARIES, test -z "${with_multisubdir}") |
| |
| dnl ----------------------------------------------------------- |
| dnl Fold all IA-32 CPU architectures into "x86" |
| dnl ----------------------------------------------------------- |
| if expr ${target_cpu} : '.*86' > /dev/null; then target_cpu=x86; fi |
| |
| dnl ----------------------------------------------------------- |
| dnl We will not track/change lib version until we reach version 1.0 |
| dnl at which time we'll have to be more anal about such things |
| dnl ----------------------------------------------------------- |
| AC_SUBST(LIBVERSION, "0:0:0") |
| case "$host_os" in |
| darwin*) |
| cp_module="" |
| ;; |
| *) |
| cp_module="-module" |
| ;; |
| esac |
| |
| CLASSPATH_MODULE="${cp_module} -version-info ${LIBVERSION} -no-undefined" |
| AC_SUBST(CLASSPATH_MODULE) |
| |
| CLASSPATH_CONVENIENCE="-no-undefined" |
| AC_SUBST(CLASSPATH_CONVENIENCE) |
| |
| AC_PREREQ(2.64) |
| AM_INIT_AUTOMAKE([1.9.0 gnu std-options tar-ustar -Wno-portability]) |
| AC_CONFIG_HEADERS([include/config.h]) |
| AC_PREFIX_DEFAULT(/usr/local/classpath) |
| |
| dnl GCC LOCAL |
| GCC_NO_EXECUTABLES |
| |
| dnl ----------------------------------------------------------- |
| dnl Enable collections.jar (disabled by default) |
| dnl ----------------------------------------------------------- |
| AC_ARG_ENABLE([collections], |
| [AS_HELP_STRING(--enable-collections,create collections.jar [default=no])], |
| [case x"${enableval}" in |
| xyes) COMPILE_COLLECTIONS=yes; COLLECTIONS_PREFIX="\"gnu/java/util/collections\"" ;; |
| xno) COMPILE_COLLECTIONS=no ;; |
| x) COMPILE_COLLECTIONS=yes; COLLECTIONS_PREFIX="\"gnu/java/util/collections\"" ;; |
| *) COMPILE_COLLECTIONS=yes; COLLECTIONS_PREFIX="\"${enableval}\"" ;; |
| esac], |
| [COMPILE_COLLECTIONS=no]) |
| AM_CONDITIONAL(CREATE_COLLECTIONS, test "x${COMPILE_COLLECTIONS}" = xyes) |
| |
| dnl ----------------------------------------------------------- |
| dnl Enable JNI libraries (enabled by default) |
| dnl ----------------------------------------------------------- |
| AC_ARG_ENABLE([jni], |
| [AS_HELP_STRING(--enable-jni,compile JNI source [default=yes])], |
| [case "${enableval}" in |
| yes) COMPILE_JNI=yes; COMPILE_JAVA=yes ;; |
| no) COMPILE_JNI=no ;; |
| *) COMPILE_JNI=yes; COMPILE_JAVA=yes ;; |
| esac], |
| [COMPILE_JNI=yes]) |
| AM_CONDITIONAL(CREATE_JNI_LIBRARIES, test "x${COMPILE_JNI}" = xyes) |
| |
| dnl ----------------------------------------------------------- |
| dnl Enable core JNI libraries (enabled by default) |
| dnl ----------------------------------------------------------- |
| AC_ARG_ENABLE([core-jni], |
| [AS_HELP_STRING(--enable-core-jni, |
| compile JNI sources for core [default=yes])], |
| [case "${enableval}" in |
| yes) COMPILE_CORE_JNI=yes; COMPILE_JAVA=yes ;; |
| no) COMPILE_CORE_JNI=no ;; |
| *) COMPILE_CORE_JNI=yes; COMPILE_JAVA=yes ;; |
| esac], |
| [COMPILE_CORE_JNI=yes]) |
| AM_CONDITIONAL(CREATE_CORE_JNI_LIBRARIES, test "x${COMPILE_CORE_JNI}" = xyes) |
| |
| dnl ----------------------------------------------------------- |
| dnl Default Preference Backend |
| dnl ----------------------------------------------------------- |
| AC_ARG_ENABLE([default-preferences-peer], |
| [AS_HELP_STRING([--enable-default-preferences-peer@<:@=peer type or class name@:>@], |
| [specify one of: "gconf" [default] for a GConf based backend, "file" for a file based one, "memory" for a transient one, or a fully qualified class name implementing java.util.prefs.PreferencesFactory])], |
| [case "${enableval}" in |
| file) DEFAULT_PREFS_PEER=gnu.java.util.prefs.FileBasedFactory ;; |
| gconf|yes|true) DEFAULT_PREFS_PEER=gnu.java.util.prefs.GConfBasedFactory ;; |
| memory) DEFAULT_PREFS_PEER=gnu.java.util.prefs.MemoryBasedFactory ;; |
| no|false) AC_MSG_ERROR(bad value '${enableval}' for --enable-default-preferences-peer) ;; |
| *) DEFAULT_PREFS_PEER=${enableval} ;; |
| esac], |
| [DEFAULT_PREFS_PEER=gnu.java.util.prefs.GConfBasedFactory]) |
| dnl AC_SUBST(DEFAULT_PREFS_PEER) |
| |
| dnl ----------------------------------------------------------- |
| dnl GConf native peer (enabled by default) |
| dnl ----------------------------------------------------------- |
| AC_ARG_ENABLE([gconf-peer], |
| [AS_HELP_STRING(--disable-gconf-peer,compile GConf native peers (disabled by --disable-jni) [default=yes])], |
| [case "${enableval}" in |
| yes) COMPILE_GCONF_PEER=yes ;; |
| no) COMPILE_GCONF_PEER=no ;; |
| *) COMPILE_GCONF_PEER=yes ;; |
| esac], |
| [COMPILE_GCONF_PEER=yes]) |
| AM_CONDITIONAL(CREATE_GCONF_PEER_LIBRARIES, test "x${COMPILE_GCONF_PEER}" = xyes) |
| |
| dnl ----------------------------------------------------------- |
| dnl GConf native peer error checking |
| dnl ----------------------------------------------------------- |
| AC_ARG_ENABLE([gconf-peers],,AC_MSG_ERROR([No --enable-gconf-peers (or --disable-gconf-peers) option; you want --enable-gconf-peer])) |
| |
| dnl ------------------------------------------------------------ |
| dnl GStreamer based sound provider backend (disabled by default) |
| dnl ------------------------------------------------------------ |
| AC_ARG_ENABLE([gstreamer-peer], |
| [AS_HELP_STRING(--enable-gstreamer-peer,compile GStreamer native peers (disabled by --disable-jni) [default=no])], |
| [case "${enableval}" in |
| yes) COMPILE_GSTREAMER_PEER=yes ;; |
| no) COMPILE_GSTREAMER_PEER=no ;; |
| *) COMPILE_GSTREAMER_PEER=default ;; |
| esac], |
| [COMPILE_GSTREAMER_PEER=default]) |
| AM_CONDITIONAL(CREATE_GSTREAMER_PEER_LIBRARIES, test "x${COMPILE_GSTREAMER_PEER}" = xyes) |
| |
| dnl ----------------------------------------------------------- |
| dnl GStreamer native peer error checking |
| dnl ----------------------------------------------------------- |
| AC_ARG_ENABLE([gstreamer-peers],,AC_MSG_ERROR([No --enable-gstreamer-peers (or --disable-gstreamer-peers) option; you want --enable-gstreamer-peer])) |
| |
| dnl ------------------------------------------------------------ |
| dnl Whether to compile with -Werror or not (disabled by default) |
| dnl ------------------------------------------------------------ |
| AC_ARG_ENABLE([Werror], |
| [AS_HELP_STRING(--enable-Werror,whether to compile C code with -Werror which turns any compiler warning into a compilation failure [default=no])], |
| [case "${enableval}" in |
| yes) ENABLE_WERROR=yes ;; |
| no) ENABLE_WERROR=no ;; |
| *) ENABLE_WERROR=default ;; |
| esac], |
| [ENABLE_WERROR=default]) |
| |
| dnl ----------------------------------------------------------- |
| dnl Default AWT toolkit |
| dnl ----------------------------------------------------------- |
| AC_ARG_ENABLE(default-toolkit, |
| AS_HELP_STRING([--enable-default-toolkit], |
| [fully qualified class name of default AWT toolkit])) |
| default_toolkit=$enable_default_toolkit |
| if test "$default_toolkit" = ""; then |
| default_toolkit=gnu.java.awt.peer.gtk.GtkToolkit |
| fi |
| AC_SUBST(default_toolkit) |
| |
| dnl ----------------------------------------------------------- |
| dnl Native libxml/xslt library (disabled by default) |
| dnl ----------------------------------------------------------- |
| AC_ARG_ENABLE([xmlj], |
| [AS_HELP_STRING(--enable-xmlj,compile native libxml/xslt library [default=no])], |
| [case "${enableval}" in |
| yes) COMPILE_XMLJ=yes ;; |
| no) COMPILE_XMLJ=no ;; |
| *) COMPILE_XMLJ=no ;; |
| esac], |
| [COMPILE_XMLJ=no]) |
| AM_CONDITIONAL(CREATE_XMLJ_LIBRARY, test "x${COMPILE_XMLJ}" = xyes) |
| |
| dnl ----------------------------------------------------------- |
| dnl ALSA code (enabled by default) |
| dnl ----------------------------------------------------------- |
| AC_ARG_ENABLE([alsa], |
| [AS_HELP_STRING(--disable-alsa,compile ALSA providers (enable by --enable-alsa) [default=yes])], |
| [case "${enableval}" in |
| yes) COMPILE_ALSA=yes ;; |
| no) COMPILE_ALSA=no ;; |
| *) COMPILE_ALSA=yes ;; |
| esac], |
| [AC_CHECK_HEADERS([alsa/asoundlib.h], |
| [AC_CHECK_LIB([asound], [snd_seq_open], COMPILE_ALSA=yes,COMPILE_ALSA=no)], |
| COMPILE_ALSA=no)]) |
| AM_CONDITIONAL(CREATE_ALSA_LIBRARIES, test "x${COMPILE_ALSA}" = xyes) |
| |
| dnl ----------------------------------------------------------- |
| dnl DSSI code (enabled by default) |
| dnl ----------------------------------------------------------- |
| AC_ARG_ENABLE([dssi], |
| [AS_HELP_STRING(--disable-dssi,compile DSSI providers (enable by --enable-dssi) [default=yes])], |
| [case "${enableval}" in |
| yes) COMPILE_DSSI=yes ;; |
| no) COMPILE_DSSI=no ;; |
| *) COMPILE_DSSI=yes ;; |
| esac], |
| [COMPILE_DSSI=no |
| AC_CHECK_HEADERS([dssi.h], [ |
| AC_CHECK_HEADERS([jack/jack.h],COMPILE_DSSI=yes)])]) |
| AM_CONDITIONAL(CREATE_DSSI_LIBRARIES, test "x${COMPILE_DSSI}" = xyes) |
| |
| dnl ----------------------------------------------------------- |
| dnl GTK native peer (enabled by default) |
| dnl ----------------------------------------------------------- |
| AC_ARG_ENABLE([gtk-peer], |
| [AS_HELP_STRING(--disable-gtk-peer,compile GTK native peers (disabled by --disable-jni) [default=yes])], |
| [case "${enableval}" in |
| yes) COMPILE_GTK_PEER=yes ;; |
| no) COMPILE_GTK_PEER=no ;; |
| *) COMPILE_GTK_PEER=yes ;; |
| esac], |
| [COMPILE_GTK_PEER=yes]) |
| AM_CONDITIONAL(CREATE_GTK_PEER_LIBRARIES, test "x${COMPILE_GTK_PEER}" = xyes) |
| |
| dnl ----------------------------------------------------------- |
| dnl GTK native peer error checking |
| dnl ----------------------------------------------------------- |
| AC_ARG_ENABLE([gtk-peers],,AC_MSG_ERROR([No --enable-gtk-peers (or --disable-gtk-peers) option; you want --enable-gtk-peer])) |
| |
| dnl ----------------------------------------------------------- |
| dnl Qt native peer (disabled by default) |
| dnl ----------------------------------------------------------- |
| AC_ARG_ENABLE([qt-peer], |
| [AS_HELP_STRING(--enable-qt-peer,compile Qt4 native peers (disabled by --disable-jni) [default=no])], |
| [case "${enableval}" in |
| yes) COMPILE_QT_PEER=yes ;; |
| no) COMPILE_QT_PEER=no ;; |
| *) COMPILE_QT_PEER=yes ;; |
| esac], |
| [COMPILE_QT_PEER=no]) |
| AM_CONDITIONAL(CREATE_QT_PEER_LIBRARIES, test "x${COMPILE_QT_PEER}" = xyes) |
| |
| dnl ----------------------------------------------------------- |
| dnl Plugin (disabled by default) |
| dnl ----------------------------------------------------------- |
| AC_ARG_ENABLE([plugin], |
| [AS_HELP_STRING(--disable-plugin,compile gcjwebplugin (disabled by --disable-plugin) [default=yes])], |
| [case "${enableval}" in |
| yes) COMPILE_PLUGIN=yes ;; |
| no) COMPILE_PLUGIN=no ;; |
| *) COMPILE_PLUGIN=yes ;; |
| esac], |
| [COMPILE_PLUGIN=no]) |
| AM_CONDITIONAL(CREATE_PLUGIN, test "x${COMPILE_PLUGIN}" = xyes) |
| |
| dnl ----------------------------------------------------------- |
| dnl Native java.math.BigInteger (enabled by default) |
| dnl ----------------------------------------------------------- |
| AC_ARG_ENABLE([gmp], |
| [AS_HELP_STRING(--enable-gmp, |
| compile native java.math.BigInteger library (disabled by --disable-gmp) [default=yes])], |
| [case "${enableval}" in |
| yes|true) COMPILE_GMP=yes ;; |
| no|false) COMPILE_GMP=no ;; |
| *) COMPILE_GMP=yes ;; |
| esac], |
| [COMPILE_GMP=yes]) |
| |
| dnl ----------------------------------------------------------- |
| dnl GJDoc (enabled by default) |
| dnl ----------------------------------------------------------- |
| AC_ARG_ENABLE([gjdoc], |
| [AS_HELP_STRING(--disable-gjdoc,compile GJDoc (disabled by --disable-gjdoc) [default=yes])], |
| [case "${enableval}" in |
| yes) COMPILE_GJDOC=yes ;; |
| no) COMPILE_GJDOC=no ;; |
| *) COMPILE_GJDOC=yes ;; |
| esac], |
| [COMPILE_GJDOC=yes]) |
| AM_CONDITIONAL(CREATE_GJDOC, test "x${COMPILE_GJDOC}" = xyes) |
| |
| dnl GCJ LOCAL: Calculates and substitutes toolexeclibdir. $libdir is |
| dnl defined to the same value for all multilibs. We define toolexeclibdir |
| dnl so that we can refer to the multilib installation directories from |
| dnl classpath's build files. |
| dnl ----------------------------------------------------------- |
| CLASSPATH_TOOLEXECLIBDIR |
| |
| dnl ----------------------------------------------------------- |
| dnl Sets the native libraries installation dir |
| dnl ----------------------------------------------------------- |
| dnl GCJ LOCAL: default to ${toolexeclibdir}/gcj-${gcc_version}-${libgcj_soversion} |
| AC_ARG_WITH([native-libdir], |
| [AS_HELP_STRING(--with-native-libdir,sets the installation directory for native libraries [default='${libdir}/${PACKAGE}'])], |
| [ |
| nativeexeclibdir=${withval} |
| ], |
| [ |
| nativeexeclibdir='${toolexeclibdir}/gcj-'`cat ${srcdir}/../../gcc/BASE-VER`-`awk -F: '/^[[^#]].*:/ { print $1 }' ${srcdir}/../libtool-version` |
| ]) |
| |
| AC_SUBST(nativeexeclibdir) |
| |
| dnl ----------------------------------------------------------- |
| dnl Sets the Java library installation dir. |
| dnl ----------------------------------------------------------- |
| AC_ARG_WITH([glibj-dir], |
| [AS_HELP_STRING(--with-glibj-dir,sets the installation directory for glibj.zip [default='${libdir}/${PACKAGE}'])], |
| [ |
| glibjdir=${withval} |
| ], |
| [ |
| glibjdir='${datadir}/${PACKAGE}' |
| ]) |
| |
| AC_SUBST(glibjdir) |
| |
| dnl ----------------------------------------------------------- |
| dnl Sets the Antlr jar to use for compiling gjdoc |
| dnl ----------------------------------------------------------- |
| AC_ARG_WITH([antlr-jar], |
| [AS_HELP_STRING([--with-antlr-jar=file],[Use ANTLR from the specified jar file])], |
| [ |
| ANTLR_JAR=$withval |
| ], |
| [ |
| ANTLR_JAR="$ANTLR_JAR" |
| ]) |
| |
| dnl ----------------------------------------------------------- |
| dnl Regenerate headers at build time (enabled if not found) |
| dnl ----------------------------------------------------------- |
| AC_MSG_CHECKING([whether to regenerate the headers]) |
| AC_ARG_ENABLE([regen-headers], |
| [AS_HELP_STRING(--enable-regen-headers,automatically regenerate JNI headers [default=yes if headers don't exist])], |
| [case "${enableval}" in |
| yes) REGENERATE_JNI_HEADERS=yes ;; |
| no) REGENERATE_JNI_HEADERS=no ;; |
| *) REGENERATE_JNI_HEADERS=yes ;; |
| esac], |
| [if test -e ${srcdir}/include/java_lang_VMSystem.h; then |
| REGENERATE_JNI_HEADERS=no ; |
| else |
| REGENERATE_JNI_HEADERS=yes ; |
| fi]) |
| AC_MSG_RESULT(${REGENERATE_JNI_HEADERS}) |
| AM_CONDITIONAL(CREATE_JNI_HEADERS, test "x${REGENERATE_JNI_HEADERS}" = xyes) |
| |
| dnl ------------------------------------------------------------------------ |
| dnl Regenerate GJDoc parser at build time (enabled if not found) |
| dnl ------------------------------------------------------------------------ |
| AC_MSG_CHECKING([whether to regenerate the GJDoc parser]) |
| AC_ARG_ENABLE([regen-gjdoc-parser], |
| [AS_HELP_STRING(--enable-regen-gjdoc-parser,automatically regenerate the GJDoc parser [default=yes if generated source doesn't exist])], |
| [case "${enableval}" in |
| yes) REGENERATE_GJDOC_PARSER=yes ;; |
| no) REGENERATE_GJDOC_PARSER=no ;; |
| *) REGENERATE_GJDOC_PARSER=yes ;; |
| esac], |
| [if test -e ${srcdir}/tools/generated/gnu/classpath/tools/gjdoc/expr/JavaLexer.java; then |
| REGENERATE_GJDOC_PARSER=no ; |
| else |
| REGENERATE_GJDOC_PARSER=yes ; |
| fi]) |
| AC_MSG_RESULT(${REGENERATE_GJDOC_PARSER}) |
| AM_CONDITIONAL(CREATE_GJDOC_PARSER, test "x${REGENERATE_GJDOC_PARSER}" = xyes) |
| |
| dnl ----------------------------------------------------------- |
| dnl Enable tool wrapper binaries (disabled by default) |
| dnl ----------------------------------------------------------- |
| AC_ARG_ENABLE([tool-wrappers], |
| [AS_HELP_STRING(--enable-tool-wrappers,create tool wrapper binaries [default=no])], |
| [case x"${enableval}" in |
| xyes) |
| COMPILE_WRAPPERS=yes; |
| AC_CHECK_HEADERS([ltdl.h],, [AC_MSG_ERROR(cannot find ltdl.h)]) |
| AC_CHECK_LIB(ltdl, lt_dlopen,, [AC_MSG_ERROR(cannot find libltdl)]) |
| ;; |
| xno) COMPILE_WRAPPERS=no ;; |
| x) COMPILE_WRAPPERS=yes ;; |
| *) COMPILE_WRAPPERS=yes ;; |
| esac], |
| [COMPILE_WRAPPERS=no]) |
| AM_CONDITIONAL(CREATE_WRAPPERS, test "x${COMPILE_WRAPPERS}" = xyes) |
| |
| AC_PROG_LN_S |
| AC_PROG_INSTALL |
| |
| dnl ----------------------------------------------------------- |
| dnl Checks for programs. |
| dnl ----------------------------------------------------------- |
| |
| dnl Initialize libtool |
| AC_DISABLE_STATIC |
| LT_INIT |
| AC_PROG_AWK |
| AC_PROG_CC |
| AM_PROG_CC_C_O |
| AC_PROG_CPP |
| AC_PROG_CXX |
| |
| # Handle -Werror default case. |
| if test "$ENABLE_WERROR" = default; then |
| case "$host_os" in |
| *linux*) |
| if test "$GCC" = yes; then |
| ENABLE_WERROR=yes |
| fi |
| ;; |
| esac |
| fi |
| |
| if test "x${COMPILE_COLLECTIONS}" = xyes; then |
| AC_PATH_PROG(PERL, [perl]) |
| AC_SUBST(PERL) |
| AC_SUBST(COLLECTIONS_PREFIX) |
| AC_CONFIG_FILES([lib/mkcollections.pl]) |
| AC_CONFIG_COMMANDS([mkcollections.pl],[chmod 755 lib/mkcollections.pl]) |
| fi |
| |
| if test "x${COMPILE_JNI}" = xyes; then |
| GCC_ATTRIBUTE_UNUSED |
| |
| AC_HEADER_STDC |
| |
| dnl Checking sizeof void * is needed for fdlibm to work properly on ppc64, |
| dnl at least. |
| AC_COMPILE_CHECK_SIZEOF(void *) |
| |
| dnl Checking for endianess. |
| AC_C_BIGENDIAN_CROSS |
| |
| dnl We check for sys/filio.h because Solaris 2.5 defines FIONREAD there. |
| dnl On that system, sys/ioctl.h will not include sys/filio.h unless |
| dnl BSD_COMP is defined; just including sys/filio.h is simpler. |
| dnl Check for crt_externs.h on Darwin. |
| dnl Check for netinet/in_systm.h, netinet/ip.h and net/if.h for Windows CE. |
| dnl Check for sys/loadavg.h for getloadavg() on Solaris 9. |
| dnl Check for sys/sockio.h for SIOCGIFFLAGS on OpenSolaris. |
| AC_CHECK_HEADERS([unistd.h sys/types.h sys/config.h sys/ioctl.h \ |
| asm/ioctls.h \ |
| inttypes.h stdint.h utime.h sys/utime.h sys/filio.h \ |
| sys/time.h \ |
| sys/select.h \ |
| crt_externs.h \ |
| fcntl.h \ |
| sys/mman.h \ |
| magic.h \ |
| sys/event.h sys/epoll.h \ |
| ifaddrs.h \ |
| netinet/in_systm.h netinet/ip.h net/if.h \ |
| sys/loadavg.h sys/sockio.h]) |
| |
| AC_EGREP_HEADER(uint32_t, stdint.h, AC_DEFINE(HAVE_INT32_DEFINED, 1, [Define to 1 if you have uint32_t])) |
| AC_EGREP_HEADER(uint32_t, inttypes.h, AC_DEFINE(HAVE_INT32_DEFINED, 1, [Define to 1 if you have uint32_t])) |
| AC_EGREP_HEADER(u_int32_t, sys/types.h, AC_DEFINE(HAVE_BSD_INT32_DEFINED, 1, [Define to 1 if you have BSD u_int32_t])) |
| AC_EGREP_HEADER(u_int32_t, sys/config.h, AC_DEFINE(HAVE_BSD_INT32_DEFINED, 1, [Define to 1 if you have BSD u_int32_t])) |
| |
| AC_SEARCH_LIBS([inet_pton],[nsl]) |
| AC_CHECK_LIB([socket], [gethostname]) |
| AC_CHECK_FUNCS([ftruncate fsync select \ |
| gethostname socket strerror fork pipe execve open close \ |
| lseek fstat read readv write writev htonl memset htons connect \ |
| getsockname getpeername bind listen accept \ |
| recvfrom send sendto setsockopt getsockopt time mktime \ |
| gethostbyname_r localtime_r \ |
| strerror_r \ |
| fcntl \ |
| statvfs \ |
| mmap munmap mincore msync madvise getpagesize sysconf \ |
| lstat readlink \ |
| inet_aton inet_addr inet_pton \ |
| getifaddrs kqueue kevent epoll_create \ |
| getloadavg]) |
| |
| LIBMAGIC= |
| AC_CHECK_LIB(magic, magic_open, LIBMAGIC=-lmagic) |
| AC_SUBST(LIBMAGIC) |
| |
| AC_MSG_CHECKING([whether struct sockaddr_in6 is in netinet/in.h]) |
| AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <netinet/in.h>]], [[struct sockaddr_in6 addr6;]])], |
| [AC_DEFINE(HAVE_INET6, 1, |
| [Define if inet6 structures are defined in netinet/in.h.]) |
| AC_MSG_RESULT(yes)], |
| [AC_MSG_RESULT(no)]) |
| |
| AC_HEADER_TIME |
| AC_STRUCT_TM |
| AC_STRUCT_TIMEZONE |
| |
| AC_MSG_CHECKING([for tm_gmtoff in struct tm]) |
| AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <time.h>]],[[struct tm tim; tim.tm_gmtoff = 0;]])], |
| [AC_DEFINE(STRUCT_TM_HAS_GMTOFF, 1, [Define if struct tm has tm_gmtoff field.]) |
| AC_MSG_RESULT(yes)], |
| [AC_MSG_RESULT(no) |
| AC_MSG_CHECKING([for global timezone variable]) |
| dnl FIXME: we don't want a link check here because that won't work |
| dnl when cross-compiling. So instead we make an assumption that |
| dnl the header file will mention timezone if it exists. |
| dnl Don't find the win32 function timezone |
| AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <time.h>]], [[void i(){long z2 = 2*timezone;}]])], |
| [AC_DEFINE(HAVE_TIMEZONE, 1, [Define if global 'timezone' exists.]) |
| AC_MSG_RESULT(yes)], |
| [AC_MSG_RESULT(no) |
| AC_MSG_CHECKING([for global _timezone variable]) |
| dnl FIXME: As above, don't want link check |
| AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <time.h>]], [[long z2 = _timezone;]])], |
| [AC_DEFINE(HAVE_UNDERSCORE_TIMEZONE, 1, |
| [Define if your platform has the global _timezone variable.]) |
| AC_MSG_RESULT(yes)], |
| [AC_MSG_RESULT(no)])])]) |
| |
| AC_C_CONST |
| AC_C_INLINE |
| AC_C_ATTRIBUTE |
| AX_FUNC_WHICH_GETHOSTBYNAME_R |
| |
| dnl See if we HAVE_ICONV, how ICONV_CONST is set and LTLIBICONV |
| AM_ICONV |
| |
| dnl When using gcc we want warnings, lots of warnings :-) |
| if test "x${GCC}" = xyes; then |
| dnl We want ISO C90 ansi, but with longlong (jlong) support |
| dnl and modern POSIX and BSD C library functions/prototypes. |
| |
| dnl Warning flags for (almost) everybody. |
| dnl Should probably be configurable |
| WARNING_CFLAGS='-W -Wall -Wmissing-declarations -Wwrite-strings -Wmissing-prototypes -Wno-long-long' |
| AC_SUBST(WARNING_CFLAGS) |
| |
| dnl CFLAGS that are used for all native code. We want to compile |
| dnl everything with unwinder data so that backtrace() will always |
| dnl work. |
| EXTRA_CFLAGS='-fexceptions -fasynchronous-unwind-tables' |
| AC_SUBST(EXTRA_CFLAGS) |
| |
| dnl Strict warning flags which not every module uses. |
| dnl Should probably be configurable. |
| STRICT_WARNING_CFLAGS='-Wstrict-prototypes -pedantic' |
| AC_SUBST(STRICT_WARNING_CFLAGS) |
| |
| dnl Whether or not to add -Werror, also not used by all modueles. |
| dnl Can be configured by --disable-Werror |
| ERROR_CFLAGS= |
| if test "x${ENABLE_WERROR}" = xyes; then |
| ERROR_CFLAGS='-Werror' |
| fi |
| AC_SUBST(ERROR_CFLAGS) |
| fi |
| |
| dnl Check for libxml and libxslt libraries (when xmlj is enabled). |
| if test "x${COMPILE_XMLJ}" = xyes; then |
| PKG_CHECK_MODULES(XML, libxml-2.0 >= 2.6.8) |
| PKG_CHECK_MODULES(XSLT, libxslt >= 1.1.11) |
| AC_SUBST(XML_LIBS) |
| AC_SUBST(XML_CFLAGS) |
| AC_SUBST(XSLT_LIBS) |
| AC_SUBST(XSLT_CFLAGS) |
| fi |
| |
| dnl Check for AWT related gthread/gtk |
| if test "x${COMPILE_GTK_PEER}" = xyes; then |
| AC_PATH_XTRA |
| if test "$no_x" = yes; then |
| AC_MSG_ERROR([GTK+ peers requested but no X library available]) |
| fi |
| dnl Check if we can link against the XTest library and set |
| dnl HAVE_XTEST accordingly. |
| AC_CHECK_LIB([Xtst], [XTestQueryExtension], |
| [AC_DEFINE(HAVE_XTEST, 1, [Define to 1 if you have libXtst.])[XTEST_LIBS="$XTEST_LIBS -X11 -lXtst"]], |
| [true], |
| [${X_LIBS}]) |
| |
| |
| PKG_CHECK_MODULES(GTK, gtk+-2.0 >= 2.8 gthread-2.0 >= 2.2 gdk-pixbuf-2.0) |
| PKG_CHECK_MODULES(FREETYPE2, freetype2) |
| PKG_CHECK_MODULES(PANGOFT2, pangoft2) |
| PKG_CHECK_MODULES(CAIRO, cairo >= 1.1.8) |
| dnl Check if we can link against the XRender library and set |
| dnl HAVE_XRENDER accordingly. |
| AC_CHECK_LIB([Xrender], [XRenderQueryExtension], |
| [AC_DEFINE(HAVE_XRENDER, 1, [Define to 1 if you have libXrender.])[X_EXTRA_LIBS="$X_EXTRA_LIBS -lXrender"]], |
| [true], |
| [${X_LIBS}]) |
| |
| dnl Check if we can link against the XRandR library and set |
| dnl HAVE_XRANDR accordingly. |
| AC_CHECK_LIB([Xrandr], [XRRQueryExtension], |
| [AC_DEFINE(HAVE_XRANDR, 1, [Define to 1 if you have libXrandr.])[X_EXTRA_LIBS="$X_EXTRA_LIBS -lXrandr"]], |
| [true], |
| [${X_LIBS}]) |
| |
| AC_SUBST(GTK_CFLAGS) |
| AC_SUBST(GTK_LIBS) |
| AC_SUBST(FREETYPE2_LIBS) |
| AC_SUBST(FREETYPE2_CFLAGS) |
| AC_SUBST(PANGOFT2_LIBS) |
| AC_SUBST(PANGOFT2_CFLAGS) |
| AC_SUBST(XTEST_LIBS) |
| fi |
| |
| dnl gconf-peer |
| if test "x${COMPILE_GCONF_PEER}" = xyes; then |
| PKG_CHECK_MODULES(GCONF, gconf-2.0 >= 2.6.0) |
| AC_SUBST(GCONF_CFLAGS) |
| AC_SUBST(GCONF_LIBS) |
| dnl we also need gdk for locking |
| PKG_CHECK_MODULES(GDK, gdk-2.0 >= 2.8) |
| AC_SUBST(GDK_CFLAGS) |
| AC_SUBST(GDK_LIBS) |
| dnl check if the config value was given form the command line, |
| dnl if not, overwrite the default if we have the gconf backend |
| dnl compiled in |
| USE_GCONF_PREFS_PEER=$enable_default_preferences_peer |
| if test "$USE_GCONF_PREFS_PEER" = ""; then |
| DEFAULT_PREFS_PEER=gnu.java.util.prefs.GConfBasedFactory |
| fi |
| fi |
| |
| dnl gstreamer-peer |
| if test "x${COMPILE_GSTREAMER_PEER}" = xyes; then |
| GST_MAJORMINOR=0.10 |
| GST_REQUIRED=0.10.10 |
| |
| dnl gstreamer |
| PKG_CHECK_MODULES(GSTREAMER, gstreamer-$GST_MAJORMINOR >= $GST_REQUIRED) |
| AC_SUBST(GSTREAMER_CFLAGS) |
| AC_SUBST(GSTREAMER_LIBS) |
| |
| dnl gstreamer-base |
| PKG_CHECK_MODULES(GSTREAMER_BASE, |
| gstreamer-base-$GST_MAJORMINOR >= $GST_REQUIRED) |
| AC_SUBST(GSTREAMER_BASE_CFLAGS) |
| AC_SUBST(GSTREAMER_BASE_LIBS) |
| |
| dnl gstreamer-plugin-base |
| PKG_CHECK_MODULES(GSTREAMER_PLUGINS_BASE, |
| gstreamer-plugins-base-$GST_MAJORMINOR >= $GST_REQUIRED) |
| AC_SUBST(GSTREAMER_PLUGINS_BASE_CFLAGS) |
| AC_SUBST(GSTREAMER_PLUGINS_BASE_LIBS) |
| |
| GST_PLUGIN_LDFLAGS='-module -avoid-version -Wno-unused-parameter -no-undefined' |
| AC_SUBST(GST_PLUGIN_LDFLAGS) |
| |
| PKG_CHECK_MODULES(GDK, gdk-2.0 >= 2.8) |
| AC_SUBST(GDK_CFLAGS) |
| AC_SUBST(GDK_LIBS) |
| |
| dnl set the gstreamer based file reader, writer and mixer |
| GSTREAMER_FILE_READER=gnu.javax.sound.sampled.gstreamer.io.GstAudioFileReader |
| GSTREAMER_MIXER_PROVIDER=gnu.javax.sound.sampled.gstreamer.GStreamerMixerProvider |
| fi |
| dnl add the gstreamer resources |
| AC_SUBST(GSTREAMER_FILE_READER) |
| AC_SUBST(GSTREAMER_MIXER_PROVIDER) |
| |
| dnl Check for AWT related Qt4 |
| if test "x${COMPILE_QT_PEER}" = xyes; then |
| PKG_CHECK_MODULES(QT, QtCore QtGui >= 4.1.0, HAVE_QT4="yes", HAVE_QT4="no") |
| if test "x$HAVE_QT4" = "xyes"; then |
| dnl Check needed because in some cases the QtGui includedir |
| dnl doesn't contain the subsystem dir. |
| QT_INCLUDE_DIR=`$PKG_CONFIG --variable=includedir QtGui` |
| EXTRA_QT_INCLUDE_DIR="$QT_INCLUDE_DIR/Qt" |
| AC_CHECK_FILE([$QT_INCLUDE_DIR/QWidget], |
| AC_MSG_NOTICE([No extra QT_INCLUDE_DIR needed]), |
| AC_CHECK_FILE([$EXTRA_QT_INCLUDE_DIR/QWidget], |
| QT_CFLAGS="$QT_CFLAGS -I$EXTRA_QT_INCLUDE_DIR", |
| AC_MSG_WARN([QWidget not found]))) |
| AC_CHECK_PROG(MOC, [moc], [moc]) |
| AC_CHECK_PROG(MOC, [moc-qt4], [moc-qt4]) |
| fi |
| if test "x$HAVE_QT4" = "xno"; then |
| AC_MSG_NOTICE([Looking for QT_CFLAGS and QT_LIBS without pkg-config]) |
| case "$host_os" in |
| darwin*) |
| AC_ARG_WITH([qt4dir], |
| [AS_HELP_STRING([--with-qt4dir=DIR], |
| [Qt4 installation directory used for OS-X. |
| For other systems use pkg-config.])], |
| [QT4DIR=$withval] |
| ) |
| if test x"$QT4DIR" = x ; then |
| AC_MSG_ERROR([*** No path for Qt4 --with-qt4dir option given]) |
| fi |
| AC_MSG_RESULT([QT4DIR... $QT4DIR]) |
| AC_CHECK_PROG(MOC, [moc], [$QT4DIR/bin/moc], [], $QT4DIR/bin) |
| if test x"$MOC" = x; then |
| AC_MSG_ERROR([*** This is not the right Qt installation]) |
| fi |
| QT_CFLAGS="-F$QT4DIR/lib -I$QT4DIR/lib/QtCore.framework/Headers" |
| QT_CFLAGS="$QT_CFLAGS -I$QT4DIR/lib/QtGui.framework/Headers" |
| QT_LIBS="-Xlinker -F$QT4DIR/lib -Xlinker -framework -Xlinker QtCore" |
| QT_LIBS="$QT_LIBS -Xlinker -framework -Xlinker QtGui" |
| ;; |
| *) |
| AC_MSG_ERROR([*** Please check PKG_CONFIG_PATH or the version |
| of your installed Qt4 installation.]) |
| ;; |
| esac |
| fi |
| AC_MSG_NOTICE([Set QT_CFLAGS... $QT_CFLAGS]) |
| AC_SUBST(QT_CFLAGS) |
| AC_SUBST(QT_LIBS) |
| fi |
| dnl ********************************************************************** |
| dnl Check for MSG_NOSIGNAL |
| dnl ********************************************************************** |
| AC_MSG_CHECKING(for MSG_NOSIGNAL) |
| AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/socket.h>]], [[ int f = MSG_NOSIGNAL; ]])],[ AC_MSG_RESULT(yes) |
| AC_DEFINE(HAVE_MSG_NOSIGNAL, 1, |
| [Define this symbol if you have MSG_NOSIGNAL]) ],[ AC_MSG_RESULT(no) |
| ]) |
| dnl ********************************************************************** |
| dnl Check for SO_NOSIGPIPE (Darwin equivalent for MSG_NOSIGNAL) |
| dnl ********************************************************************** |
| AC_MSG_CHECKING(for SO_NOSIGPIPE ) |
| AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/socket.h>]], [[ int f = SO_NOSIGPIPE; ]])],[ AC_MSG_RESULT(yes) |
| AC_DEFINE(HAVE_SO_NOSIGPIPE, 1, |
| [Define this symbol if you have SO_NOSIGPIPE]) ],[ AC_MSG_RESULT(no) |
| ]) |
| dnl ********************************************************************** |
| dnl Check for MSG_WAITALL |
| dnl ********************************************************************** |
| AC_MSG_CHECKING(for MSG_WAITALL) |
| AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/socket.h>]], [[ int f = MSG_WAITALL; ]])],[ AC_MSG_RESULT(yes) |
| AC_DEFINE(HAVE_MSG_WAITALL, 1, |
| [Define this symbol if you have MSG_WAITALL]) ],[ AC_MSG_RESULT(no) |
| ]) |
| |
| dnl Check for plugin support headers and libraries. |
| if test "x${COMPILE_PLUGIN}" = xyes; then |
| PKG_CHECK_MODULES(MOZILLA, mozilla-plugin libxul-unstable, [MOZILLA_FOUND=yes], [MOZILLA_FOUND=no]) |
| if test "x${MOZILLA_FOUND}" = xno; then |
| PKG_CHECK_MODULES(MOZILLA, mozilla-plugin, [MOZILLA_FOUND=yes], [MOZILLA_FOUND=no]) |
| fi |
| if test "x${MOZILLA_FOUND}" = xno; then |
| PKG_CHECK_MODULES(MOZILLA, firefox-plugin firefox-xpcom, [MOZILLA_FOUND=yes], [MOZILLA_FOUND=no]) |
| fi |
| if test "x${MOZILLA_FOUND}" = xno; then |
| PKG_CHECK_MODULES(MOZILLA, xulrunner-plugin xulrunner-xpcom, [MOZILLA_FOUND=yes], [MOZILLA_FOUND=no]) |
| fi |
| if test "x${MOZILLA_FOUND}" = xno; then |
| PKG_CHECK_MODULES(MOZILLA, mozilla-firefox-plugin mozilla-firefox-xpcom, [MOZILLA_FOUND=yes], [MOZILLA_FOUND=no]) |
| fi |
| if test "x${MOZILLA_FOUND}" = xno; then |
| PKG_CHECK_MODULES(MOZILLA, seamonkey-plugin seamonkey-xpcom, [MOZILLA_FOUND=yes], [MOZILLA_FOUND=no]) |
| fi |
| if test "x${MOZILLA_FOUND}" = xno; then |
| PKG_CHECK_MODULES(MOZILLA, iceape-plugin iceape-xpcom, [MOZILLA_FOUND=yes], [MOZILLA_FOUND=no]) |
| fi |
| if test "x${MOZILLA_FOUND}" = xno; then |
| AC_MSG_ERROR([Couldn't find plugin support headers and libraries, try --disable-plugin]) |
| fi |
| |
| PKG_CHECK_MODULES(GLIB, glib-2.0) |
| PKG_CHECK_MODULES(GTK, gtk+-2.0 >= 2.8 gthread-2.0 >= 2.2 gdk-pixbuf-2.0) |
| |
| AC_SUBST(MOZILLA_CFLAGS) |
| AC_SUBST(MOZILLA_LIBS) |
| AC_SUBST(GLIB_CFLAGS) |
| AC_SUBST(GLIB_LIBS) |
| AC_SUBST(GTK_CFLAGS) |
| AC_SUBST(GTK_LIBS) |
| |
| AC_SUBST(PLUGIN_DIR, $HOME/.mozilla/plugins/) |
| fi |
| |
| dnl Check for GNU MP library and header file |
| dnl for GNU MP versions >= 4.2 use __gmpz_combit; otherwise look for |
| dnl __gmpz_mul_si for earlier versions (>= 3.1). |
| dnl IMPORTANT: if you decide to look for __gmpz_combit, don't forget to |
| dnl change the name of the corresponding ac_ variable on lines 860... |
| AC_ARG_WITH(gmp, [ --with-gmp=PATH specify prefix directory for the installed GMP package. |
| Equivalent to --with-gmp-include=PATH/include |
| plus --with-gmp-lib=PATH/lib]) |
| AC_ARG_WITH(gmp_include, [ --with-gmp-include=PATH specify directory for installed GMP include files]) |
| AC_ARG_WITH(gmp_lib, [ --with-gmp-lib=PATH specify directory for the installed GMP library]) |
| |
| if test "x$with_gmp" != x; then |
| gmplibs=-lgmp |
| gmpinc= |
| gmplibs="-L$with_gmp/lib $gmplibs" |
| gmpinc="-I$with_gmp/include $gmpinc" |
| if test "x$with_gmp_include" != x; then |
| gmpinc="-I$with_gmp_include $gmpinc" |
| fi |
| if test "x$with_gmp_lib" != x; then |
| gmplibs="-L$with_gmp_lib $gmplibs" |
| fi |
| else |
| gmplibs="-lgmp" |
| gmpinc="-I/usr/include" |
| fi |
| |
| if test "x${COMPILE_GMP}" = xyes; then |
| AC_MSG_CHECKING([for GMP directories]) |
| if test "x$with_gmp" != x; then |
| gmplibs="-L$with_gmp/lib -lgmp" |
| gmpinc="-I$with_gmp/include" |
| if test "x$with_gmp_include" != x; then |
| gmpinc="-I$with_gmp_include $gmpinc" |
| fi |
| if test "x$with_gmp_lib" != x; then |
| gmplibs="-L$with_gmp_lib $gmplibs" |
| fi |
| else |
| with_gmp="/usr" |
| gmplibs="-lgmp" |
| gmpinc="-I/usr/include" |
| fi |
| AC_MSG_RESULT([prefix=$with_gmp, libs=$gmplibs, inc=$gmpinc]) |
| AC_CHECK_LIB(gmp, __gmpz_mul_si, |
| [GMP_CFLAGS="$gmpinc" |
| GMP_LIBS="$gmplibs" ], |
| [GMP_CFLAGS= |
| GMP_LIBS= ]) |
| AC_SUBST(GMP_CFLAGS) |
| AC_SUBST(GMP_LIBS) |
| |
| AC_CHECK_HEADERS([gmp.h]) |
| fi |
| |
| else |
| COMPILE_GMP=no |
| fi |
| |
| if test "x${REGENERATE_JNI_HEADERS}" = xyes; then |
| CLASSPATH_WITH_JAVAH |
| fi |
| |
| dnl ----------------------------------------------------------- |
| dnl Add the include files for the native abstraction layer. |
| dnl Used by AM_CPPFLAGS in the different modules. |
| dnl ----------------------------------------------------------- |
| CLASSPATH_INCLUDES="-I\$(top_srcdir)/include -I\$(top_srcdir)/native/jni/classpath -I\$(top_srcdir)/native/jni/native-lib" |
| AC_SUBST(CLASSPATH_INCLUDES) |
| |
| dnl ----------------------------------------------------------- |
| if test "x${COMPILE_JNI}" = xyes; then |
| AC_MSG_CHECKING(jni_md.h support) |
| if test -f ${srcdir}/include/jni_md-${target_cpu}-${target_os}.h; then |
| AC_MSG_RESULT(yes) |
| else |
| target_cpu=x86 |
| target_os=linux-gnu |
| AC_MSG_WARN(no, using x86-linux-gnu) |
| fi |
| ac_sources="include/jni_md-${target_cpu}-${target_os}.h" |
| ac_dests="include/jni_md.h" |
| while test -n "$ac_sources"; do |
| set $ac_dests; ac_dest=$1; shift; ac_dests=$* |
| set $ac_sources; ac_source=$1; shift; ac_sources=$* |
| ac_config_links_1="$ac_config_links_1 $ac_dest:$ac_source" |
| done |
| AC_CONFIG_LINKS([$ac_config_links_1]) |
| fi |
| |
| CLASSPATH_WITH_CLASSLIB |
| |
| dnl ----------------------------------------------------------- |
| dnl Initialize maintainer mode |
| dnl ----------------------------------------------------------- |
| AM_MAINTAINER_MODE |
| |
| dnl ----------------------------------------------------------- |
| dnl Enable debugging statements at compile time. By default |
| dnl these statements should be optimized out of the bytecode |
| dnl produced by an optimizing Java compiler and not hinder |
| dnl performance because debugging is turned off by default. |
| dnl ----------------------------------------------------------- |
| AC_ARG_ENABLE([debug], |
| [AS_HELP_STRING(--enable-debug,enable runtime debugging code)], |
| [case "${enableval}" in |
| yes) |
| LIBDEBUG="true" |
| AC_DEFINE(DEBUG, 1, [Define to 1 if you want native library runtime debugging code enabled]) |
| ;; |
| no) LIBDEBUG="false" ;; |
| *) AC_MSG_ERROR(bad value ${enableval} for --enable-debug) ;; |
| esac], |
| [LIBDEBUG="false"]) |
| AC_SUBST(LIBDEBUG) |
| |
| dnl ----------------------------------------------------------- |
| dnl Enable execution of all static initializer loadLibrary() |
| dnl calls at compile time. By default most people will not |
| dnl want to disable this, but some VMs (gcj) don't need or want |
| dnl them. |
| dnl ----------------------------------------------------------- |
| AC_ARG_ENABLE([load-library], |
| [AS_HELP_STRING(--enable-load-library,enable to use JNI native methods [default=yes])], |
| [case "${enableval}" in |
| yes) INIT_LOAD_LIBRARY="true" ;; |
| no) INIT_LOAD_LIBRARY="false" ;; |
| *) AC_MSG_ERROR(bad value ${enableval} for --enable-load-library) ;; |
| esac], |
| [INIT_LOAD_LIBRARY="true"]) |
| AC_SUBST(INIT_LOAD_LIBRARY) |
| |
| |
| dnl ----------------------------------------------------------- |
| dnl Specify the jar file containing the Eclipse Java Compiler. If |
| dnl this option is not specified then the com.sun.tools.javac |
| dnl implementation will not be included in tools.zip. |
| dnl ----------------------------------------------------------- |
| dnl GCJ LOCAL: default to $multi_basedir/ecj.jar |
| dnl In the default case where $multi_basedir/ecj.jar is found |
| dnl $(jardir)/ecj.jar will not expand properly in GNU Classpath's |
| dnl gnu/classpath/Configuration.java. That is OK though since libjava's |
| dnl gnu/classpath/Configuration.java overrides GNU Classpath's and |
| dnl ECJ_JAR_FILE will be properly expanded in libjava's |
| dnl gnu/classpath/natConfiguration.cc. |
| AC_ARG_WITH([ecj-jar], |
| [AS_HELP_STRING([--with-ecj-jar=ABS.PATH], |
| [specify jar file containing the Eclipse Java Compiler])], |
| [ECJ_JAR=$withval], |
| [if test -f $multi_basedir/ecj.jar; then |
| ECJ_JAR='$(jardir)/ecj.jar' |
| fi]) |
| AC_SUBST(ECJ_JAR) |
| |
| dnl ----------------------------------------------------------- |
| dnl Should the VM explicitly run class initialization subfunctions for |
| dnl java.lang.System? (default is false -- the subfunctions will be run |
| dnl automatically by the class initializer) |
| dnl ----------------------------------------------------------- |
| AC_ARG_ENABLE([java-lang-system-explicit-initialization], |
| [AS_HELP_STRING(--enable-java-lang-system-explicit-initialization,will the VM explicitly invoke java.lang.System's static initialization methods [default=no])], |
| [case "${enableval}" in |
| yes|true) JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION="true" ;; |
| no|false) JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION="false" ;; |
| *) AC_MSG_ERROR(bad value ${enableval} for --enable-java-lang-system-explicit-initialization) ;; |
| esac], |
| [JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION="false"]) |
| AC_SUBST(JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION) |
| |
| |
| dnl ----------------------------------------------------------- |
| dnl avoiding automake complaints |
| dnl ----------------------------------------------------------- |
| REMOVE="" |
| AC_SUBST(REMOVE) |
| |
| dnl ----------------------------------------------------------- |
| dnl This is probably useless. |
| dnl ----------------------------------------------------------- |
| AC_PATH_PROG(MKDIR, mkdir) |
| AC_PATH_PROG(CP, cp) |
| AC_PATH_PROG(DATE, date) |
| |
| dnl ----------------------------------------------------------- |
| dnl According to the GNU coding guide, we shouldn't require find, |
| dnl and zip, however GNU provides both so it should be okay |
| dnl ----------------------------------------------------------- |
| AC_PATH_PROG(FIND, find) |
| |
| dnl ----------------------------------------------------------- |
| dnl Specify what to install (install only glibj.zip by default) |
| dnl ----------------------------------------------------------- |
| CLASSPATH_WITH_GLIBJ |
| |
| dnl ----------------------------------------------------------- |
| dnl Enable API documentation generation (disabled by default) |
| dnl ----------------------------------------------------------- |
| CLASSPATH_WITH_GJDOC |
| |
| dnl ----------------------------------------------------------- |
| dnl Whether to use jay to regenerate parsers. |
| dnl ----------------------------------------------------------- |
| REGEN_WITH_JAY |
| |
| dnl ----------------------------------------------------------- |
| dnl This sets the build-time default, which can now be overridden |
| dnl by setting the system property gnu.classpath.awt.gtk.portable.native.sync |
| dnl to "true" or "false". |
| dnl ----------------------------------------------------------- |
| AC_ARG_ENABLE([portable-native-sync], |
| [AS_HELP_STRING(--enable-portable-native-sync,synchronize VM threads portably)], |
| [case "${enableval}" in |
| yes) |
| AC_DEFINE(PORTABLE_NATIVE_SYNC, 1, [Define if you want to synchronize VM threads portably by default; undef otherwise]) |
| ;; |
| no) ;; |
| *) |
| AC_MSG_ERROR(bad value ${enableval} for --enable-portable-native-sync) |
| ;; |
| esac], |
| []) |
| |
| AX_CREATE_STDINT_H([include/config-int.h]) |
| |
| dnl ----------------------------------------------------------------------- |
| dnl Support for using a prebuilt class library |
| dnl ----------------------------------------------------------------------- |
| AC_ARG_WITH([glibj_zip], |
| AS_HELP_STRING([--with-glibj-zip=ABS.PATH], |
| [use prebuilt glibj.zip class library])) |
| |
| case "$with_glibj_zip" in |
| "") |
| use_glibj_zip=false |
| ;; |
| "no" ) |
| use_glibj_zip=false |
| ;; |
| "yes") |
| AC_MSG_ERROR([Please suply an absolute path to a prebuilt glibj.zip]) |
| ;; |
| *) |
| use_glibj_zip=true |
| PATH_TO_GLIBJ_ZIP=$with_glibj_zip |
| ;; |
| esac; |
| |
| AM_CONDITIONAL(USE_PREBUILT_GLIBJ_ZIP, test x$use_glibj_zip = xtrue) |
| AC_SUBST(PATH_TO_GLIBJ_ZIP) |
| |
| if test "x${TOOLSDIR}" != x; then |
| dnl GCJ LOCAL |
| if test "x${COMPILE_WRAPPERS}" = xno && test "x${enable_java_maintainer_mode}" = xyes; then |
| AC_PROG_JAVA_WORKS |
| fi |
| dnl END GCJ LOCAL |
| if test "x${COMPILE_GJDOC}" = xyes; then |
| AC_LIB_ANTLR |
| dnl GCJ LOCAL |
| if test "x${REGENERATE_GJDOC_PARSER}" = xyes && test "x${enable_java_maintainer_mode}" = xyes; then |
| dnl END GCJ LOCAL |
| AC_PROG_ANTLR(2,7,1) |
| fi |
| fi |
| fi |
| |
| |
| # Check for javac if we need to build either the class library, |
| # the examples or the tools |
| if test "x${use_glibj_zip}" = xfalse || \ |
| test "x${EXAMPLESDIR}" != x || \ |
| test "x${TOOLSDIR}" != x && \ |
| test "x${build_class_files}" != xno && \ |
| test "${enable_java_maintainer_mode}" = yes; then dnl GCJ_LOCAL |
| AC_PROG_JAVAC_WORKS |
| CLASSPATH_JAVAC_MEM_CHECK |
| else |
| AM_CONDITIONAL(GCJ_JAVAC, false) |
| fi |
| |
| dnl ----------------------------------------------------------- |
| dnl Build with Escher based X peers. |
| dnl ----------------------------------------------------------- |
| AC_ARG_WITH([escher], |
| AS_HELP_STRING([--with-escher=ABS.PATH], |
| [specify path to escher dir or JAR for X peers])) |
| case "$with_escher" in |
| "") |
| use_escher=false |
| ;; |
| "no") |
| use_escher=false |
| ;; |
| "yes") |
| AC_MSG_ERROR([Please supply an absolute path to Escher library]) |
| ;; |
| *) |
| use_escher=true |
| PATH_TO_ESCHER=$with_escher |
| ;; |
| esac |
| |
| AM_CONDITIONAL(USE_ESCHER, test x$use_escher = xtrue) |
| AC_SUBST(PATH_TO_ESCHER) |
| |
| dnl ----------------------------------------------------------- |
| dnl Check if local socket support should be included. |
| dnl ----------------------------------------------------------- |
| AC_ARG_ENABLE([local-sockets], |
| [AS_HELP_STRING(--enable-local-sockets,enables local (AF_LOCAL) socket API [default: no])], |
| [case "${enableval}" in |
| yes) |
| ENABLE_LOCAL_SOCKETS=yes |
| ;; |
| *) |
| ENABLE_LOCAL_SOCKETS=no |
| ;; |
| esac], |
| []) |
| if test "x$ENABLE_LOCAL_SOCKETS" = "xyes" |
| then |
| AC_CHECK_HEADER([sys/un.h]) |
| AC_CHECK_FUNCS([read write bind listen accept shutdown], [], |
| AC_MSG_ERROR([networking support not available])) |
| AC_DEFINE(ENABLE_LOCAL_SOCKETS, [1], [Define to enable support for local sockets.]) |
| fi |
| AM_CONDITIONAL(ENABLE_LOCAL_SOCKETS, test "x$ENABLE_LOCAL_SOCKETS" = "xyes") |
| |
| dnl ----------------------------------------------------------- |
| dnl Add the default preference peer |
| dnl ----------------------------------------------------------- |
| AC_SUBST(DEFAULT_PREFS_PEER) |
| |
| dnl ----------------------------------------------------------- |
| dnl Set GNU MP related params |
| dnl ----------------------------------------------------------- |
| WANT_NATIVE_BIG_INTEGER=false |
| if test "x${COMPILE_GMP}" = xyes; then |
| if test "x${ac_cv_lib_gmp___gmpz_mul_si}" = xyes; then |
| if test "x${ac_cv_header_gmp_h}" = xyes; then |
| WANT_NATIVE_BIG_INTEGER=true |
| AC_DEFINE(WITH_GNU_MP, 1, [Define to 1 if gmp is usable]) |
| else |
| COMPILE_GMP=no |
| fi |
| else |
| COMPILE_GMP=no |
| fi |
| fi |
| AC_SUBST(WANT_NATIVE_BIG_INTEGER) |
| AM_CONDITIONAL(CREATE_GMPBI_LIBRARY, test "x${COMPILE_GMP}" = xyes) |
| |
| dnl ----------------------------------------------------------- |
| dnl output files |
| dnl ----------------------------------------------------------- |
| AC_CONFIG_FILES([Makefile |
| doc/Makefile |
| doc/api/Makefile |
| external/Makefile |
| external/sax/Makefile |
| external/w3c_dom/Makefile |
| external/relaxngDatatype/Makefile |
| external/jsr166/Makefile |
| gnu/classpath/Configuration.java |
| gnu/java/security/Configuration.java |
| include/Makefile |
| native/Makefile |
| native/fdlibm/Makefile |
| native/jawt/Makefile |
| native/jni/Makefile |
| native/jni/classpath/Makefile |
| native/jni/java-io/Makefile |
| native/jni/java-lang/Makefile |
| native/jni/java-math/Makefile |
| native/jni/java-net/Makefile |
| native/jni/java-nio/Makefile |
| native/jni/java-util/Makefile |
| native/jni/gtk-peer/Makefile |
| native/jni/gconf-peer/Makefile |
| native/jni/gstreamer-peer/Makefile |
| native/jni/qt-peer/Makefile |
| native/jni/xmlj/Makefile |
| native/jni/midi-alsa/Makefile |
| native/jni/midi-dssi/Makefile |
| native/jni/native-lib/Makefile |
| native/plugin/Makefile |
| resource/Makefile |
| resource/META-INF/services/java.util.prefs.PreferencesFactory |
| resource/META-INF/services/javax.sound.sampled.spi.AudioFileReader |
| resource/META-INF/services/javax.sound.sampled.spi.MixerProvider |
| scripts/Makefile |
| scripts/classpath.spec |
| lib/Makefile |
| lib/gen-classlist.sh |
| lib/copy-vmresources.sh |
| scripts/check_jni_methods.sh |
| tools/Makefile |
| examples/Makefile |
| examples/Makefile.jawt |
| examples/Makefile.java2d]) |
| |
| CLASSPATH_COND_IF([CREATE_WRAPPERS], [test "x${COMPILE_WRAPPERS}" = xyes], [], |
| [AC_CONFIG_FILES([tools/gappletviewer |
| tools/gjarsigner |
| tools/gkeytool |
| tools/gjar |
| tools/gnative2ascii |
| tools/gserialver |
| tools/grmiregistry |
| tools/gtnameserv |
| tools/gorbd |
| tools/grmid |
| tools/grmic |
| tools/gjavah]) |
| |
| AC_CONFIG_COMMANDS([gappletviewer],[chmod 755 tools/gappletviewer]) |
| AC_CONFIG_COMMANDS([gjarsigner],[chmod 755 tools/gjarsigner]) |
| AC_CONFIG_COMMANDS([gkeytool],[chmod 755 tools/gkeytool]) |
| AC_CONFIG_COMMANDS([gjar],[chmod 755 tools/gjar]) |
| AC_CONFIG_COMMANDS([gnative2ascii],[chmod 755 tools/gnative2ascii]) |
| AC_CONFIG_COMMANDS([gserialver],[chmod 755 tools/gserialver]) |
| AC_CONFIG_COMMANDS([grmiregistry],[chmod 755 tools/grmiregistry]) |
| AC_CONFIG_COMMANDS([gtnameserv],[chmod 755 tools/gtnameserv]) |
| AC_CONFIG_COMMANDS([gorbd],[chmod 755 tools/gorbd]) |
| AC_CONFIG_COMMANDS([grmid],[chmod 755 tools/grmid]) |
| AC_CONFIG_COMMANDS([grmic],[chmod 755 tools/grmic]) |
| AC_CONFIG_COMMANDS([gjavah], [chmod 755 tools/gjavah]) |
| ]) |
| |
| if test "x${COMPILE_GJDOC}" = xyes |
| then |
| AC_CONFIG_FILES([tools/gjdoc]) |
| AC_CONFIG_COMMANDS([gjdoc], [chmod 755 tools/gjdoc]) |
| fi |
| |
| AC_CONFIG_COMMANDS([gen-classlist],[chmod 755 lib/gen-classlist.sh]) |
| AC_CONFIG_COMMANDS([copy-vmresources],[chmod 755 lib/copy-vmresources.sh]) |
| AC_OUTPUT |
| |
| # Create standard.omit based on decisions we just made. |
| cat ${srcdir}/lib/standard.omit.in > lib/standard.omit |
| if test x$use_escher != xtrue; then |
| echo gnu/java/awt/peer/x/.*java$ >> lib/standard.omit |
| fi |
| |
| if test "x${COMPILE_PLUGIN}" = "xyes" ; then |
| AC_MSG_WARN([You have enabled the browser plugin. Please note that this is no longer maintained as part of GNU Classpath; development has moved to the IcedTea project.]) |
| fi |