1 dnl Process this file with autoconf to produce a configure script.
3 dnl -----------------------------------------------------------
4 dnl Turning off cache for debug reasons
5 dnl -----------------------------------------------------------
6 dnl define([AC_CACHE_LOAD], )dnl
7 dnl define([AC_CACHE_SAVE], )dnl
9 AC_INIT([GNU Classpath],[0.96-pre],[classpath@gnu.org],[classpath])
10 AC_CONFIG_SRCDIR(java/lang/System.java)
13 AC_CONFIG_AUX_DIR(../..)
19 AC_ARG_ENABLE(java-maintainer-mode,
20 AS_HELP_STRING([--enable-java-maintainer-mode],
21 [allow rebuilding of .class and .h files]))
22 AM_CONDITIONAL(JAVA_MAINTAINER_MODE, test "$enable_java_maintainer_mode" = yes)
26 # We would like to our source tree to be readonly. However when releases or
27 # pre-releases are generated, the man pages need to be included as they are
28 # converted from the texi files via perl which we don't require end users to
30 # Therefore we have --enable-generated-files-in-srcdir to do just that.
32 AC_MSG_CHECKING([whether to place generated files in the source directory])
33 dnl generated-files-in-srcdir is disabled by default
34 AC_ARG_ENABLE(generated-files-in-srcdir,
35 [ --enable-generated-files-in-srcdir
36 put copies of generated files in source dir
37 intended for creating source tarballs for users
38 without texinfo, perl, bison or flex.],
39 generated_files_in_srcdir=$enableval,
40 generated_files_in_srcdir=no)
42 AC_MSG_RESULT($generated_files_in_srcdir)
43 AM_CONDITIONAL(GENINSRC, test x$generated_files_in_srcdir = xyes)
46 # Find the rest of the source tree framework.
47 AM_ENABLE_MULTILIB(, ../..)
49 dnl -----------------------------------------------------------
50 dnl Fold all IA-32 CPU architectures into "x86"
51 dnl -----------------------------------------------------------
52 if expr ${target_cpu} : '.*86' > /dev/null; then target_cpu=x86; fi
54 dnl -----------------------------------------------------------
55 dnl We will not track/change lib version until we reach version 1.0
56 dnl at which time we'll have to be more anal about such things
57 dnl -----------------------------------------------------------
58 AC_SUBST(LIBVERSION, "0:0:0")
68 CLASSPATH_MODULE="${cp_module} -version-info ${LIBVERSION} -no-undefined"
69 AC_SUBST(CLASSPATH_MODULE)
71 CLASSPATH_CONVENIENCE="-no-undefined"
72 AC_SUBST(CLASSPATH_CONVENIENCE)
75 AM_INIT_AUTOMAKE([1.9.0 gnu std-options tar-ustar -Wno-portability])
76 AC_CONFIG_HEADERS([include/config.h])
77 AC_PREFIX_DEFAULT(/usr/local/classpath)
82 dnl -----------------------------------------------------------
83 dnl Enable collections.jar (disabled by default)
84 dnl -----------------------------------------------------------
85 AC_ARG_ENABLE([collections],
86 [AS_HELP_STRING(--enable-collections,create collections.jar [default=no])],
87 [case x"${enableval}" in
88 xyes) COMPILE_COLLECTIONS=yes; COLLECTIONS_PREFIX="\"gnu/java/util/collections\"" ;;
89 xno) COMPILE_COLLECTIONS=no ;;
90 x) COMPILE_COLLECTIONS=yes; COLLECTIONS_PREFIX="\"gnu/java/util/collections\"" ;;
91 *) COMPILE_COLLECTIONS=yes; COLLECTIONS_PREFIX="\"${enableval}\"" ;;
93 [COMPILE_COLLECTIONS=no])
94 AM_CONDITIONAL(CREATE_COLLECTIONS, test "x${COMPILE_COLLECTIONS}" = xyes)
96 dnl -----------------------------------------------------------
97 dnl Enable JNI libraries (enabled by default)
98 dnl -----------------------------------------------------------
100 [AS_HELP_STRING(--enable-jni,compile JNI source [default=yes])],
101 [case "${enableval}" in
102 yes) COMPILE_JNI=yes; COMPILE_JAVA=yes ;;
103 no) COMPILE_JNI=no ;;
104 *) COMPILE_JNI=yes; COMPILE_JAVA=yes ;;
107 AM_CONDITIONAL(CREATE_JNI_LIBRARIES, test "x${COMPILE_JNI}" = xyes)
109 dnl -----------------------------------------------------------
110 dnl Enable core JNI libraries (enabled by default)
111 dnl -----------------------------------------------------------
112 AC_ARG_ENABLE([core-jni],
113 [AS_HELP_STRING(--enable-core-jni,
114 compile JNI sources for core [default=yes])],
115 [case "${enableval}" in
116 yes) COMPILE_CORE_JNI=yes; COMPILE_JAVA=yes ;;
117 no) COMPILE_CORE_JNI=no ;;
118 *) COMPILE_CORE_JNI=yes; COMPILE_JAVA=yes ;;
120 [COMPILE_CORE_JNI=yes])
121 AM_CONDITIONAL(CREATE_CORE_JNI_LIBRARIES, test "x${COMPILE_CORE_JNI}" = xyes)
123 dnl -----------------------------------------------------------
124 dnl Default Preference Backend
125 dnl -----------------------------------------------------------
126 AC_ARG_ENABLE([default-preferences-peer],
127 [AS_HELP_STRING([--enable-default-preferences-peer@<:@=peer type or class name@:>@],
128 [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])],
129 [case "${enableval}" in
130 file) DEFAULT_PREFS_PEER=gnu.java.util.prefs.FileBasedFactory ;;
131 gconf|yes|true) DEFAULT_PREFS_PEER=gnu.java.util.prefs.GConfBasedFactory ;;
132 memory) DEFAULT_PREFS_PEER=gnu.java.util.prefs.MemoryBasedFactory ;;
133 no|false) AC_MSG_ERROR(bad value '${enableval}' for --enable-default-preferences-peer) ;;
134 *) DEFAULT_PREFS_PEER=${enableval} ;;
136 [DEFAULT_PREFS_PEER=gnu.java.util.prefs.GConfBasedFactory])
137 dnl AC_SUBST(DEFAULT_PREFS_PEER)
139 dnl -----------------------------------------------------------
140 dnl GConf native peer (enabled by default)
141 dnl -----------------------------------------------------------
142 AC_ARG_ENABLE([gconf-peer],
143 [AS_HELP_STRING(--disable-gconf-peer,compile GConf native peers (disabled by --disable-jni) [default=yes])],
144 [case "${enableval}" in
145 yes) COMPILE_GCONF_PEER=yes ;;
146 no) COMPILE_GCONF_PEER=no ;;
147 *) COMPILE_GCONF_PEER=yes ;;
149 [COMPILE_GCONF_PEER=yes])
150 AM_CONDITIONAL(CREATE_GCONF_PEER_LIBRARIES, test "x${COMPILE_GCONF_PEER}" = xyes)
152 dnl -----------------------------------------------------------
153 dnl GConf native peer error checking
154 dnl -----------------------------------------------------------
155 AC_ARG_ENABLE([gconf-peers],,AC_MSG_ERROR([No --enable-gconf-peers (or --disable-gconf-peers) option; you want --enable-gconf-peer]))
157 dnl ------------------------------------------------------------
158 dnl GStreamer based sound provider backend (disabled by default)
159 dnl ------------------------------------------------------------
160 AC_ARG_ENABLE([gstreamer-peer],
161 [AS_HELP_STRING(--enable-gstreamer-peer,compile GStreamer native peers (disabled by --disable-jni) [default=no])],
162 [case "${enableval}" in
163 yes) COMPILE_GSTREAMER_PEER=yes ;;
164 no) COMPILE_GSTREAMER_PEER=no ;;
165 *) COMPILE_GSTREAMER_PEER=default ;;
167 [COMPILE_GSTREAMER_PEER=default])
168 AM_CONDITIONAL(CREATE_GSTREAMER_PEER_LIBRARIES, test "x${COMPILE_GSTREAMER_PEER}" = xyes)
170 dnl -----------------------------------------------------------
171 dnl GStreamer native peer error checking
172 dnl -----------------------------------------------------------
173 AC_ARG_ENABLE([gstreamer-peers],,AC_MSG_ERROR([No --enable-gstreamer-peers (or --disable-gstreamer-peers) option; you want --enable-gstreamer-peer]))
175 dnl ------------------------------------------------------------
176 dnl Whether to compile with -Werror or not (disabled by default)
177 dnl ------------------------------------------------------------
178 AC_ARG_ENABLE([Werror],
179 [AS_HELP_STRING(--enable-Werror,whether to compile C code with -Werror which turns any compiler warning into a compilation failure [default=no])],
180 [case "${enableval}" in
181 yes) ENABLE_WERROR=yes ;;
182 no) ENABLE_WERROR=no ;;
183 *) ENABLE_WERROR=default ;;
185 [ENABLE_WERROR=default])
187 dnl -----------------------------------------------------------
188 dnl Default AWT toolkit
189 dnl -----------------------------------------------------------
190 AC_ARG_ENABLE(default-toolkit,
191 AS_HELP_STRING([--enable-default-toolkit],
192 [fully qualified class name of default AWT toolkit]))
193 default_toolkit=$enable_default_toolkit
194 if test "$default_toolkit" = ""; then
195 default_toolkit=gnu.java.awt.peer.gtk.GtkToolkit
197 AC_SUBST(default_toolkit)
199 dnl -----------------------------------------------------------
200 dnl Native libxml/xslt library (disabled by default)
201 dnl -----------------------------------------------------------
202 AC_ARG_ENABLE([xmlj],
203 [AS_HELP_STRING(--enable-xmlj,compile native libxml/xslt library [default=no])],
204 [case "${enableval}" in
205 yes) COMPILE_XMLJ=yes ;;
206 no) COMPILE_XMLJ=no ;;
207 *) COMPILE_XMLJ=no ;;
210 AM_CONDITIONAL(CREATE_XMLJ_LIBRARY, test "x${COMPILE_XMLJ}" = xyes)
212 dnl -----------------------------------------------------------
213 dnl ALSA code (enabled by default)
214 dnl -----------------------------------------------------------
215 AC_ARG_ENABLE([alsa],
216 [AS_HELP_STRING(--disable-alsa,compile ALSA providers (enable by --enable-alsa) [default=yes])],
217 [case "${enableval}" in
218 yes) COMPILE_ALSA=yes ;;
219 no) COMPILE_ALSA=no ;;
220 *) COMPILE_ALSA=yes ;;
222 [AC_CHECK_HEADERS([alsa/asoundlib.h],
223 [AC_CHECK_LIB([asound], [snd_seq_open], COMPILE_ALSA=yes,COMPILE_ALSA=no)],
225 AM_CONDITIONAL(CREATE_ALSA_LIBRARIES, test "x${COMPILE_ALSA}" = xyes)
227 dnl -----------------------------------------------------------
228 dnl DSSI code (enabled by default)
229 dnl -----------------------------------------------------------
230 AC_ARG_ENABLE([dssi],
231 [AS_HELP_STRING(--disable-dssi,compile DSSI providers (enable by --enable-dssi) [default=yes])],
232 [case "${enableval}" in
233 yes) COMPILE_DSSI=yes ;;
234 no) COMPILE_DSSI=no ;;
235 *) COMPILE_DSSI=yes ;;
238 AC_CHECK_HEADERS([dssi.h], [
239 AC_CHECK_HEADERS([jack/jack.h],COMPILE_DSSI=yes)])])
240 AM_CONDITIONAL(CREATE_DSSI_LIBRARIES, test "x${COMPILE_DSSI}" = xyes)
242 dnl -----------------------------------------------------------
243 dnl GTK native peer (enabled by default)
244 dnl -----------------------------------------------------------
245 AC_ARG_ENABLE([gtk-peer],
246 [AS_HELP_STRING(--disable-gtk-peer,compile GTK native peers (disabled by --disable-jni) [default=yes])],
247 [case "${enableval}" in
248 yes) COMPILE_GTK_PEER=yes ;;
249 no) COMPILE_GTK_PEER=no ;;
250 *) COMPILE_GTK_PEER=yes ;;
252 [COMPILE_GTK_PEER=yes])
253 AM_CONDITIONAL(CREATE_GTK_PEER_LIBRARIES, test "x${COMPILE_GTK_PEER}" = xyes)
255 dnl -----------------------------------------------------------
256 dnl GTK native peer error checking
257 dnl -----------------------------------------------------------
258 AC_ARG_ENABLE([gtk-peers],,AC_MSG_ERROR([No --enable-gtk-peers (or --disable-gtk-peers) option; you want --enable-gtk-peer]))
260 dnl -----------------------------------------------------------
261 dnl Qt native peer (disabled by default)
262 dnl -----------------------------------------------------------
263 AC_ARG_ENABLE([qt-peer],
264 [AS_HELP_STRING(--enable-qt-peer,compile Qt4 native peers (disabled by --disable-jni) [default=no])],
265 [case "${enableval}" in
266 yes) COMPILE_QT_PEER=yes ;;
267 no) COMPILE_QT_PEER=no ;;
268 *) COMPILE_QT_PEER=yes ;;
270 [COMPILE_QT_PEER=no])
271 AM_CONDITIONAL(CREATE_QT_PEER_LIBRARIES, test "x${COMPILE_QT_PEER}" = xyes)
273 dnl -----------------------------------------------------------
274 dnl Plugin (enabled by default)
275 dnl -----------------------------------------------------------
276 AC_ARG_ENABLE([plugin],
277 [AS_HELP_STRING(--disable-plugin,compile gcjwebplugin (disabled by --disable-plugin) [default=yes])],
278 [case "${enableval}" in
279 yes) COMPILE_PLUGIN=yes ;;
280 no) COMPILE_PLUGIN=no ;;
281 *) COMPILE_PLUGIN=yes ;;
283 [COMPILE_PLUGIN=yes])
284 AM_CONDITIONAL(CREATE_PLUGIN, test "x${COMPILE_PLUGIN}" = xyes)
286 dnl -----------------------------------------------------------
287 dnl GCJ LOCAL: Calculates and substitutes toolexeclibdir. $libdir is
288 dnl defined to the same value for all multilibs. We define toolexeclibdir
289 dnl so that we can refer to the multilib installation directories from
290 dnl classpath's build files.
291 dnl -----------------------------------------------------------
292 CLASSPATH_TOOLEXECLIBDIR
294 dnl -----------------------------------------------------------
295 dnl Sets the native libraries installation dir
296 dnl -----------------------------------------------------------
297 dnl GCJ LOCAL: default to ${toolexeclibdir}/gcj-${gcc_version}-${libgcj_soversion}
298 AC_ARG_WITH([native-libdir],
299 [AS_HELP_STRING(--with-native-libdir,sets the installation directory for native libraries [default='${libdir}/${PACKAGE}'])],
301 nativeexeclibdir=${withval}
304 nativeexeclibdir='${toolexeclibdir}/gcj-'`cat ${srcdir}/../../gcc/BASE-VER`-`awk -F: '/^[[^#]].*:/ { print $1 }' ${srcdir}/../libtool-version`
307 AC_SUBST(nativeexeclibdir)
309 dnl -----------------------------------------------------------
310 dnl Sets the Java library installation dir.
311 dnl -----------------------------------------------------------
312 AC_ARG_WITH([glibj-dir],
313 [AS_HELP_STRING(--with-glibj-dir,sets the installation directory for glibj.zip [default='${libdir}/${PACKAGE}'])],
318 glibjdir='${datadir}/${PACKAGE}'
323 dnl -----------------------------------------------------------
324 dnl Sets the VM name for use in tool wrapper scripts
325 dnl -----------------------------------------------------------
327 [AS_HELP_STRING(--with-vm,sets the VM binary name [default='${prefix}/bin/jamvm'])],
332 VM_BINARY='${prefix}/bin/jamvm'
337 dnl -----------------------------------------------------------
338 dnl Regenerate headers at build time (disabled by default)
339 dnl -----------------------------------------------------------
340 AC_ARG_ENABLE([regen-headers],
341 [AS_HELP_STRING(--enable-regen-headers,automatically regenerate JNI headers [default=no])],
342 [case "${enableval}" in
343 yes) REGENERATE_JNI_HEADERS=yes ;;
344 no) REGENERATE_JNI_HEADERS=no ;;
345 *) REGENERATE_JNI_HEADERS=no ;;
347 [REGENERATE_JNI_HEADERS=no])
348 AM_CONDITIONAL(CREATE_JNI_HEADERS, test "x${REGENERATE_JNI_HEADERS}" = xyes)
350 dnl -----------------------------------------------------------
351 dnl Enable tool wrapper binaries (disabled by default)
352 dnl -----------------------------------------------------------
353 AC_ARG_ENABLE([tool-wrappers],
354 [AS_HELP_STRING(--enable-tool-wrappers,create tool wrapper binaries [default=no])],
355 [case x"${enableval}" in
357 COMPILE_WRAPPERS=yes;
358 AC_CHECK_HEADERS([ltdl.h],, [AC_MSG_ERROR(cannot find ltdl.h)])
359 AC_CHECK_LIB(ltdl, lt_dlopen,, [AC_MSG_ERROR(cannot find libltdl)])
361 xno) COMPILE_WRAPPERS=no ;;
362 x) COMPILE_WRAPPERS=yes ;;
363 *) COMPILE_WRAPPERS=yes ;;
365 [COMPILE_WRAPPERS=no])
366 AM_CONDITIONAL(CREATE_WRAPPERS, test "x${COMPILE_WRAPPERS}" = xyes)
371 dnl -----------------------------------------------------------
372 dnl Checks for programs.
373 dnl -----------------------------------------------------------
375 dnl Initialize libtool
384 # Handle -Werror default case.
385 if test "$ENABLE_WERROR" = default; then
388 if test "$GCC" = yes; then
395 if test "x${COMPILE_COLLECTIONS}" = xyes; then
396 AC_PATH_PROG(PERL, [perl])
398 AC_SUBST(COLLECTIONS_PREFIX)
399 AC_CONFIG_FILES([lib/mkcollections.pl])
400 AC_CONFIG_COMMANDS([mkcollections.pl],[chmod 755 lib/mkcollections.pl])
403 if test "x${COMPILE_JNI}" = xyes; then
408 dnl Checking sizeof void * is needed for fdlibm to work properly on ppc64,
410 AC_COMPILE_CHECK_SIZEOF(void *)
412 dnl Checking for endianess.
415 dnl We check for sys/filio.h because Solaris 2.5 defines FIONREAD there.
416 dnl On that system, sys/ioctl.h will not include sys/filio.h unless
417 dnl BSD_COMP is defined; just including sys/filio.h is simpler.
418 dnl Check for crt_externs.h on Darwin.
419 AC_CHECK_HEADERS([unistd.h sys/types.h sys/config.h sys/ioctl.h \
421 inttypes.h stdint.h utime.h sys/utime.h sys/filio.h \
428 sys/event.h sys/epoll.h \
431 AC_EGREP_HEADER(uint32_t, stdint.h, AC_DEFINE(HAVE_INT32_DEFINED, 1, [Define to 1 if you have uint32_t]))
432 AC_EGREP_HEADER(uint32_t, inttypes.h, AC_DEFINE(HAVE_INT32_DEFINED, 1, [Define to 1 if you have uint32_t]))
433 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]))
434 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]))
436 AC_SEARCH_LIBS([inet_pton],[nsl])
437 AC_CHECK_FUNCS([ftruncate fsync select \
438 gethostname socket strerror fork pipe execve open close \
439 lseek fstat read readv write writev htonl memset htons connect \
440 getsockname getpeername bind listen accept \
441 recvfrom send sendto setsockopt getsockopt time mktime \
442 gethostbyname_r localtime_r \
445 mmap munmap mincore msync madvise getpagesize sysconf \
447 inet_aton inet_addr inet_pton \
448 getifaddrs kqueue kevent epoll_create \
449 readdir_r getloadavg])
452 AC_CHECK_LIB(magic, magic_open, LIBMAGIC=-lmagic)
455 AC_MSG_CHECKING([whether struct sockaddr_in6 is in netinet/in.h])
456 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <netinet/in.h>]], [[struct sockaddr_in6 addr6;]])],
457 [AC_DEFINE(HAVE_INET6, 1,
458 [Define if inet6 structures are defined in netinet/in.h.])
466 AC_MSG_CHECKING([for tm_gmtoff in struct tm])
467 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <time.h>]],[[struct tm tim; tim.tm_gmtoff = 0;]])],
468 [AC_DEFINE(STRUCT_TM_HAS_GMTOFF, 1, [Define if struct tm has tm_gmtoff field.])
471 AC_MSG_CHECKING([for global timezone variable])
472 dnl FIXME: we don't want a link check here because that won't work
473 dnl when cross-compiling. So instead we make an assumption that
474 dnl the header file will mention timezone if it exists.
475 dnl Don't find the win32 function timezone
476 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <time.h>]], [[void i(){long z2 = 2*timezone;}]])],
477 [AC_DEFINE(HAVE_TIMEZONE, 1, [Define if global 'timezone' exists.])
480 AC_MSG_CHECKING([for global _timezone variable])
481 dnl FIXME: As above, don't want link check
482 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <time.h>]], [[long z2 = _timezone;]])],
483 [AC_DEFINE(HAVE_UNDERSCORE_TIMEZONE, 1,
484 [Define if your platform has the global _timezone variable.])
486 [AC_MSG_RESULT(no)])])])
491 AX_FUNC_WHICH_GETHOSTBYNAME_R
493 dnl See if we HAVE_ICONV, how ICONV_CONST is set and LTLIBICONV
496 dnl When using gcc we want warnings, lots of warnings :-)
497 if test "x${GCC}" = xyes; then
498 dnl We want ISO C90 ansi, but with longlong (jlong) support
499 dnl and modern POSIX and BSD C library functions/prototypes.
501 dnl Warning flags for (almost) everybody.
502 dnl Should probably be configurable
503 WARNING_CFLAGS='-W -Wall -Wmissing-declarations -Wwrite-strings -Wmissing-prototypes -Wno-long-long'
504 AC_SUBST(WARNING_CFLAGS)
506 dnl CFLAGS that are used for all native code. We want to compile
507 dnl everything with unwinder data so that backtrace() will always
509 EXTRA_CFLAGS='-fexceptions -fasynchronous-unwind-tables'
510 AC_SUBST(EXTRA_CFLAGS)
512 dnl Strict warning flags which not every module uses.
513 dnl Should probably be configurable.
514 STRICT_WARNING_CFLAGS='-Wstrict-prototypes -pedantic'
515 AC_SUBST(STRICT_WARNING_CFLAGS)
517 dnl Whether or not to add -Werror, also not used by all modueles.
518 dnl Can be configured by --disable-Werror
520 if test "x${ENABLE_WERROR}" = xyes; then
521 ERROR_CFLAGS='-Werror'
523 AC_SUBST(ERROR_CFLAGS)
526 dnl Check for libxml and libxslt libraries (when xmlj is enabled).
527 if test "x${COMPILE_XMLJ}" = xyes; then
528 PKG_CHECK_MODULES(XML, libxml-2.0 >= 2.6.8)
529 PKG_CHECK_MODULES(XSLT, libxslt >= 1.1.11)
533 AC_SUBST(XSLT_CFLAGS)
536 dnl Check for AWT related gthread/gtk
537 if test "x${COMPILE_GTK_PEER}" = xyes; then
539 if test "$no_x" = yes; then
540 AC_MSG_ERROR([GTK+ peers requested but no X library available])
542 dnl We explicitly want the XTest Extension for Robot support.
543 AC_CHECK_LIB([Xtst], [XTestQueryExtension],
544 [XTEST_LIBS="$XTEST_LIBS -lX11 -lXtst"],
545 [AC_MSG_ERROR([libXtst NOT found, required for GdkRobot])],
548 PKG_CHECK_MODULES(GTK, gtk+-2.0 >= 2.8 gthread-2.0 >= 2.2 gdk-pixbuf-2.0)
549 PKG_CHECK_MODULES(FREETYPE2, freetype2)
550 PKG_CHECK_MODULES(PANGOFT2, pangoft2)
551 PKG_CHECK_MODULES(CAIRO, cairo >= 1.1.8)
552 dnl Check if we can link against the XRender library and set
553 dnl HAVE_XRENDER accordingly.
554 AC_CHECK_LIB([Xrender], [XRenderQueryExtension],
555 [AC_DEFINE(HAVE_XRENDER, 1, [Define to 1 if you have libXrender.])[X_EXTRA_LIBS="$X_EXTRA_LIBS -lXrender"]],
559 dnl Check if we can link against the XRandR library and set
560 dnl HAVE_XRANDR accordingly.
561 AC_CHECK_LIB([Xrandr], [XRRQueryExtension],
562 [AC_DEFINE(HAVE_XRANDR, 1, [Define to 1 if you have libXrandr.])[X_EXTRA_LIBS="$X_EXTRA_LIBS -lXrandr"]],
568 AC_SUBST(FREETYPE2_LIBS)
569 AC_SUBST(FREETYPE2_CFLAGS)
570 AC_SUBST(PANGOFT2_LIBS)
571 AC_SUBST(PANGOFT2_CFLAGS)
576 if test "x${COMPILE_GCONF_PEER}" = xyes; then
577 PKG_CHECK_MODULES(GCONF, gconf-2.0 >= 2.6.0)
578 AC_SUBST(GCONF_CFLAGS)
580 dnl we also need gdk for locking
581 PKG_CHECK_MODULES(GDK, gdk-2.0 >= 2.8)
584 dnl check if the config value was given form the command line,
585 dnl if not, overwrite the default if we have the gconf backend
587 USE_GCONF_PREFS_PEER=$enable_default_preferences_peer
588 if test "$USE_GCONF_PREFS_PEER" = ""; then
589 DEFAULT_PREFS_PEER=gnu.java.util.prefs.GConfBasedFactory
594 if test "x${COMPILE_GSTREAMER_PEER}" = xyes; then
599 PKG_CHECK_MODULES(GSTREAMER, gstreamer-$GST_MAJORMINOR >= $GST_REQUIRED)
600 AC_SUBST(GSTREAMER_CFLAGS)
601 AC_SUBST(GSTREAMER_LIBS)
604 PKG_CHECK_MODULES(GSTREAMER_BASE,
605 gstreamer-base-$GST_MAJORMINOR >= $GST_REQUIRED)
606 AC_SUBST(GSTREAMER_BASE_CFLAGS)
607 AC_SUBST(GSTREAMER_BASE_LIBS)
609 dnl gstreamer-plugin-base
610 PKG_CHECK_MODULES(GSTREAMER_PLUGINS_BASE,
611 gstreamer-plugins-base-$GST_MAJORMINOR >= $GST_REQUIRED)
612 AC_SUBST(GSTREAMER_PLUGINS_BASE_CFLAGS)
613 AC_SUBST(GSTREAMER_PLUGINS_BASE_LIBS)
615 GST_PLUGIN_LDFLAGS='-module -avoid-version -Wno-unused-parameter -no-undefined'
616 AC_SUBST(GST_PLUGIN_LDFLAGS)
618 dnl set the gstreamer based file reader, writer and mixer
619 GSTREAMER_FILE_READER=gnu.javax.sound.sampled.gstreamer.io.GstAudioFileReader
620 GSTREAMER_MIXER_PROVIDER=gnu.javax.sound.sampled.gstreamer.GStreamerMixerProvider
622 dnl add the gstreamer resources
623 AC_SUBST(GSTREAMER_FILE_READER)
624 AC_SUBST(GSTREAMER_MIXER_PROVIDER)
626 dnl Check for AWT related Qt4
627 if test "x${COMPILE_QT_PEER}" = xyes; then
628 PKG_CHECK_MODULES(QT, QtCore QtGui >= 4.1.0, HAVE_QT4="yes", HAVE_QT4="no")
629 if test "x$HAVE_QT4" = "xyes"; then
630 dnl Check needed because in some cases the QtGui includedir
631 dnl doesn't contain the subsystem dir.
632 QT_INCLUDE_DIR=`$PKG_CONFIG --variable=includedir QtGui`
633 EXTRA_QT_INCLUDE_DIR="$QT_INCLUDE_DIR/Qt"
634 AC_CHECK_FILE([$QT_INCLUDE_DIR/QWidget],
635 AC_MSG_NOTICE([No extra QT_INCLUDE_DIR needed]),
636 AC_CHECK_FILE([$EXTRA_QT_INCLUDE_DIR/QWidget],
637 QT_CFLAGS="$QT_CFLAGS -I$EXTRA_QT_INCLUDE_DIR",
638 AC_MSG_WARN([QWidget not found])))
639 AC_CHECK_PROG(MOC, [moc], [moc])
640 AC_CHECK_PROG(MOC, [moc-qt4], [moc-qt4])
642 if test "x$HAVE_QT4" = "xno"; then
643 AC_MSG_NOTICE([Looking for QT_CFLAGS and QT_LIBS without pkg-config])
646 AC_ARG_WITH([qt4dir],
647 [AS_HELP_STRING([--with-qt4dir=DIR],
648 [Qt4 installation directory used for OS-X.
649 For other systems use pkg-config.])],
652 if test x"$QT4DIR" = x ; then
653 AC_MSG_ERROR([*** No path for Qt4 --with-qt4dir option given])
655 AC_MSG_RESULT([QT4DIR... $QT4DIR])
656 AC_CHECK_PROG(MOC, [moc], [$QT4DIR/bin/moc], [], $QT4DIR/bin)
657 if test x"$MOC" = x; then
658 AC_MSG_ERROR([*** This is not the right Qt installation])
660 QT_CFLAGS="-F$QT4DIR/lib -I$QT4DIR/lib/QtCore.framework/Headers"
661 QT_CFLAGS="$QT_CFLAGS -I$QT4DIR/lib/QtGui.framework/Headers"
662 QT_LIBS="-Xlinker -F$QT4DIR/lib -Xlinker -framework -Xlinker QtCore"
663 QT_LIBS="$QT_LIBS -Xlinker -framework -Xlinker QtGui"
666 AC_MSG_ERROR([*** Please check PKG_CONFIG_PATH or the version
667 of your installed Qt4 installation.])
671 AC_MSG_NOTICE([Set QT_CFLAGS... $QT_CFLAGS])
675 dnl **********************************************************************
676 dnl Check for MSG_NOSIGNAL
677 dnl **********************************************************************
678 AC_MSG_CHECKING(for MSG_NOSIGNAL)
679 AC_TRY_COMPILE([#include <sys/socket.h>],
680 [ int f = MSG_NOSIGNAL; ],
682 AC_DEFINE(HAVE_MSG_NOSIGNAL, 1,
683 [Define this symbol if you have MSG_NOSIGNAL]) ],
686 dnl **********************************************************************
687 dnl Check for SO_NOSIGPIPE (Darwin equivalent for MSG_NOSIGNAL)
688 dnl **********************************************************************
689 AC_MSG_CHECKING(for SO_NOSIGPIPE )
690 AC_TRY_COMPILE([#include <sys/socket.h>],
691 [ int f = SO_NOSIGPIPE; ],
693 AC_DEFINE(HAVE_SO_NOSIGPIPE, 1,
694 [Define this symbol if you have SO_NOSIGPIPE]) ],
697 dnl **********************************************************************
698 dnl Check for MSG_WAITALL
699 dnl **********************************************************************
700 AC_MSG_CHECKING(for MSG_WAITALL)
701 AC_TRY_COMPILE([#include <sys/socket.h>],
702 [ int f = MSG_WAITALL; ],
704 AC_DEFINE(HAVE_MSG_WAITALL, 1,
705 [Define this symbol if you have MSG_WAITALL]) ],
709 dnl Check for plugin support headers and libraries.
710 if test "x${COMPILE_PLUGIN}" = xyes; then
711 PKG_CHECK_MODULES(MOZILLA, mozilla-plugin, [MOZILLA_FOUND=yes], [MOZILLA_FOUND=no])
712 if test "x${MOZILLA_FOUND}" = xno; then
713 PKG_CHECK_MODULES(MOZILLA, firefox-plugin firefox-xpcom, [MOZILLA_FOUND=yes], [MOZILLA_FOUND=no])
715 if test "x${MOZILLA_FOUND}" = xno; then
716 PKG_CHECK_MODULES(MOZILLA, xulrunner-plugin xulrunner-xpcom, [MOZILLA_FOUND=yes], [MOZILLA_FOUND=no])
718 if test "x${MOZILLA_FOUND}" = xno; then
719 PKG_CHECK_MODULES(MOZILLA, mozilla-firefox-plugin mozilla-firefox-xpcom, [MOZILLA_FOUND=yes], [MOZILLA_FOUND=no])
721 if test "x${MOZILLA_FOUND}" = xno; then
722 PKG_CHECK_MODULES(MOZILLA, seamonkey-plugin seamonkey-xpcom, [MOZILLA_FOUND=yes], [MOZILLA_FOUND=no])
724 if test "x${MOZILLA_FOUND}" = xno; then
725 PKG_CHECK_MODULES(MOZILLA, iceape-plugin iceape-xpcom, [MOZILLA_FOUND=yes], [MOZILLA_FOUND=no])
727 if test "x${MOZILLA_FOUND}" = xno; then
728 AC_MSG_ERROR([Couldn't find plugin support headers and libraries, try --disable-plugin])
731 PKG_CHECK_MODULES(GLIB, glib-2.0)
732 PKG_CHECK_MODULES(GTK, gtk+-2.0 >= 2.8 gthread-2.0 >= 2.2 gdk-pixbuf-2.0)
734 AC_SUBST(MOZILLA_CFLAGS)
735 AC_SUBST(MOZILLA_LIBS)
736 AC_SUBST(GLIB_CFLAGS)
741 AC_SUBST(PLUGIN_DIR, $HOME/.mozilla/plugins/)
745 if test "x${REGENERATE_JNI_HEADERS}" = xyes; then
749 dnl -----------------------------------------------------------
750 dnl Add the include files for the native abstraction layer.
751 dnl Used by AM_CPPFLAGS in the different modules.
752 dnl -----------------------------------------------------------
753 CLASSPATH_INCLUDES="-I\$(top_srcdir)/include -I\$(top_srcdir)/native/jni/classpath -I\$(top_srcdir)/native/jni/native-lib"
754 AC_SUBST(CLASSPATH_INCLUDES)
756 dnl -----------------------------------------------------------
757 if test "x${COMPILE_JNI}" = xyes; then
758 AC_MSG_CHECKING(jni_md.h support)
759 if test -f ${srcdir}/include/jni_md-${target_cpu}-${target_os}.h; then
764 AC_MSG_WARN(no, using x86-linux-gnu)
766 ac_sources="include/jni_md-${target_cpu}-${target_os}.h"
767 ac_dests="include/jni_md.h"
768 while test -n "$ac_sources"; do
769 set $ac_dests; ac_dest=$1; shift; ac_dests=$*
770 set $ac_sources; ac_source=$1; shift; ac_sources=$*
771 ac_config_links_1="$ac_config_links_1 $ac_dest:$ac_source"
773 AC_CONFIG_LINKS([$ac_config_links_1])
778 CLASSPATH_WITH_CLASSLIB
780 dnl -----------------------------------------------------------
781 dnl Initialize maintainer mode
782 dnl -----------------------------------------------------------
785 dnl -----------------------------------------------------------
786 dnl Enable debugging statements at compile time. By default
787 dnl these statements should be optimized out of the bytecode
788 dnl produced by an optimizing Java compiler and not hinder
789 dnl performance because debugging is turned off by default.
790 dnl -----------------------------------------------------------
791 AC_ARG_ENABLE([debug],
792 [AS_HELP_STRING(--enable-debug,enable runtime debugging code)],
793 [case "${enableval}" in
796 AC_DEFINE(DEBUG, 1, [Define to 1 if you want native library runtime debugging code enabled])
798 no) LIBDEBUG="false" ;;
799 *) AC_MSG_ERROR(bad value ${enableval} for --enable-debug) ;;
804 dnl -----------------------------------------------------------
805 dnl Enable execution of all static initializer loadLibrary()
806 dnl calls at compile time. By default most people will not
807 dnl want to disable this, but some VMs (gcj) don't need or want
809 dnl -----------------------------------------------------------
810 AC_ARG_ENABLE([load-library],
811 [AS_HELP_STRING(--enable-load-library,enable to use JNI native methods [default=yes])],
812 [case "${enableval}" in
813 yes) INIT_LOAD_LIBRARY="true" ;;
814 no) INIT_LOAD_LIBRARY="false" ;;
815 *) AC_MSG_ERROR(bad value ${enableval} for --enable-load-library) ;;
817 [INIT_LOAD_LIBRARY="true"])
818 AC_SUBST(INIT_LOAD_LIBRARY)
821 dnl -----------------------------------------------------------
822 dnl Specify the jar file containing the Eclipse Java Compiler. If
823 dnl this option is not specified then the com.sun.tools.javac
824 dnl implementation will not be included in tools.zip.
825 dnl -----------------------------------------------------------
826 dnl GCJ LOCAL: default to $multi_basedir/ecj.jar
827 dnl In the default case where $multi_basedir/ecj.jar is found
828 dnl $(jardir)/ecj.jar will not expand properly in GNU Classpath's
829 dnl gnu/classpath/Configuration.java. That is OK though since libjava's
830 dnl gnu/classpath/Configuration.java overrides GNU Classpath's and
831 dnl ECJ_JAR_FILE will be properly expanded in libjava's
832 dnl gnu/classpath/natConfiguration.cc.
833 AC_ARG_WITH([ecj-jar],
834 [AS_HELP_STRING([--with-ecj-jar=ABS.PATH],
835 [specify jar file containing the Eclipse Java Compiler])],
837 [if test -f $multi_basedir/ecj.jar; then
838 ECJ_JAR='$(jardir)/ecj.jar'
842 dnl -----------------------------------------------------------
843 dnl Should the VM explicitly run class initialization subfunctions for
844 dnl java.lang.System? (default is false -- the subfunctions will be run
845 dnl automatically by the class initializer)
846 dnl -----------------------------------------------------------
847 AC_ARG_ENABLE([java-lang-system-explicit-initialization],
848 [AS_HELP_STRING(--enable-java-lang-system-explicit-initialization,will the VM explicitly invoke java.lang.System's static initialization methods [default=no])],
849 [case "${enableval}" in
850 yes|true) JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION="true" ;;
851 no|false) JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION="false" ;;
852 *) AC_MSG_ERROR(bad value ${enableval} for --enable-java-lang-system-explicit-initialization) ;;
854 [JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION="false"])
855 AC_SUBST(JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION)
858 dnl -----------------------------------------------------------
859 dnl avoiding automake complaints
860 dnl -----------------------------------------------------------
864 dnl -----------------------------------------------------------
865 dnl This is probably useless.
866 dnl -----------------------------------------------------------
867 AC_PATH_PROG(MKDIR, mkdir)
869 AC_PATH_PROG(DATE, date)
871 dnl -----------------------------------------------------------
872 dnl According to the GNU coding guide, we shouldn't require find,
873 dnl and zip, however GNU provides both so it should be okay
874 dnl -----------------------------------------------------------
875 AC_PATH_PROG(FIND, find)
877 dnl -----------------------------------------------------------
878 dnl Specify what to install (install only glibj.zip by default)
879 dnl -----------------------------------------------------------
882 dnl -----------------------------------------------------------
883 dnl Enable API documentation generation (disabled by default)
884 dnl -----------------------------------------------------------
887 dnl -----------------------------------------------------------
888 dnl Whether to use jay to regenerate parsers.
889 dnl -----------------------------------------------------------
892 dnl -----------------------------------------------------------
893 dnl This sets the build-time default, which can now be overridden
894 dnl by setting the system property gnu.classpath.awt.gtk.portable.native.sync
895 dnl to "true" or "false".
896 dnl -----------------------------------------------------------
897 AC_ARG_ENABLE([portable-native-sync],
898 [AS_HELP_STRING(--enable-portable-native-sync,synchronize VM threads portably)],
899 [case "${enableval}" in
901 AC_DEFINE(PORTABLE_NATIVE_SYNC, 1, [Define if you want to synchronize VM threads portably by default; undef otherwise])
905 AC_MSG_ERROR(bad value ${enableval} for --enable-portable-native-sync)
910 AX_CREATE_STDINT_H([include/config-int.h])
912 dnl -----------------------------------------------------------------------
913 dnl Support for using a prebuilt class library
914 dnl -----------------------------------------------------------------------
915 AC_ARG_WITH([glibj_zip],
916 AS_HELP_STRING([--with-glibj-zip=ABS.PATH],
917 [use prebuilt glibj.zip class library]))
919 case "$with_glibj_zip" in
927 AC_MSG_ERROR([Please suply an absolute path to a prebuilt glibj.zip])
931 PATH_TO_GLIBJ_ZIP=$with_glibj_zip
935 AM_CONDITIONAL(USE_PREBUILT_GLIBJ_ZIP, test x$use_glibj_zip = xtrue)
936 AC_SUBST(PATH_TO_GLIBJ_ZIP)
938 dnl -----------------------------------------------------------
939 dnl Build with Escher based X peers.
940 dnl -----------------------------------------------------------
941 AC_ARG_WITH([escher],
942 AS_HELP_STRING([--with-escher=ABS.PATH],
943 [specify path to escher dir or JAR for X peers]))
944 case "$with_escher" in
952 AC_MSG_ERROR([Please supply an absolute path to Escher library])
956 PATH_TO_ESCHER=$with_escher
960 AM_CONDITIONAL(USE_ESCHER, test x$use_escher = xtrue)
961 AC_SUBST(PATH_TO_ESCHER)
963 dnl -----------------------------------------------------------
964 dnl Check if local socket support should be included.
965 dnl -----------------------------------------------------------
966 AC_ARG_ENABLE([local-sockets],
967 [AS_HELP_STRING(--enable-local-sockets,enables local (AF_LOCAL) socket API [default: no])],
968 [case "${enableval}" in
970 ENABLE_LOCAL_SOCKETS=yes
973 ENABLE_LOCAL_SOCKETS=no
977 if test "x$ENABLE_LOCAL_SOCKETS" = "xyes"
979 AC_CHECK_HEADER([sys/un.h])
980 AC_CHECK_FUNCS([read write bind listen accept shutdown], [],
981 AC_MSG_ERROR([networking support not available]))
982 AC_DEFINE(ENABLE_LOCAL_SOCKETS, [1], [Define to enable support for local sockets.])
984 AM_CONDITIONAL(ENABLE_LOCAL_SOCKETS, test "x$ENABLE_LOCAL_SOCKETS" = "xyes")
986 dnl -----------------------------------------------------------
987 dnl Add the default preference peer
988 dnl -----------------------------------------------------------
989 AC_SUBST(DEFAULT_PREFS_PEER)
991 dnl -----------------------------------------------------------
993 dnl -----------------------------------------------------------
994 AC_CONFIG_FILES([Makefile
998 external/sax/Makefile
999 external/w3c_dom/Makefile
1000 external/relaxngDatatype/Makefile
1001 external/jsr166/Makefile
1002 gnu/classpath/Configuration.java
1003 gnu/java/security/Configuration.java
1006 native/fdlibm/Makefile
1007 native/jawt/Makefile
1009 native/jni/classpath/Makefile
1010 native/jni/java-io/Makefile
1011 native/jni/java-lang/Makefile
1012 native/jni/java-net/Makefile
1013 native/jni/java-nio/Makefile
1014 native/jni/java-util/Makefile
1015 native/jni/gtk-peer/Makefile
1016 native/jni/gconf-peer/Makefile
1017 native/jni/gstreamer-peer/Makefile
1018 native/jni/qt-peer/Makefile
1019 native/jni/xmlj/Makefile
1020 native/jni/midi-alsa/Makefile
1021 native/jni/midi-dssi/Makefile
1022 native/jni/native-lib/Makefile
1023 native/plugin/Makefile
1025 resource/META-INF/services/java.util.prefs.PreferencesFactory
1026 resource/META-INF/services/javax.sound.sampled.spi.AudioFileReader
1027 resource/META-INF/services/javax.sound.sampled.spi.MixerProvider
1029 scripts/classpath.spec
1031 lib/gen-classlist.sh
1032 lib/copy-vmresources.sh
1035 examples/Makefile.jawt
1036 examples/Makefile.java2d])
1038 if test "x${COMPILE_WRAPPERS}" = xno
1040 AC_CONFIG_FILES([tools/gappletviewer
1052 AC_CONFIG_COMMANDS([gappletviewer],[chmod 755 tools/gappletviewer])
1053 AC_CONFIG_COMMANDS([gjarsigner],[chmod 755 tools/gjarsigner])
1054 AC_CONFIG_COMMANDS([gkeytool],[chmod 755 tools/gkeytool])
1055 AC_CONFIG_COMMANDS([gjar],[chmod 755 tools/gjar])
1056 AC_CONFIG_COMMANDS([gnative2ascii],[chmod 755 tools/gnative2ascii])
1057 AC_CONFIG_COMMANDS([gserialver],[chmod 755 tools/gserialver])
1058 AC_CONFIG_COMMANDS([grmiregistry],[chmod 755 tools/grmiregistry])
1059 AC_CONFIG_COMMANDS([gtnameserv],[chmod 755 tools/gtnameserv])
1060 AC_CONFIG_COMMANDS([gorbd],[chmod 755 tools/gorbd])
1061 AC_CONFIG_COMMANDS([grmid],[chmod 755 tools/grmid])
1062 AC_CONFIG_COMMANDS([grmic],[chmod 755 tools/grmic])
1063 AC_CONFIG_COMMANDS([gjavah], [chmod 755 tools/gjavah])
1066 AC_CONFIG_COMMANDS([gen-classlist],[chmod 755 lib/gen-classlist.sh])
1067 AC_CONFIG_COMMANDS([copy-vmresources],[chmod 755 lib/copy-vmresources.sh])
1070 # Create standard.omit based on decisions we just made.
1071 cat ${srcdir}/lib/standard.omit.in > lib/standard.omit
1072 if test x$use_escher != xtrue; then
1073 echo gnu/java/awt/peer/x/.*java$ >> lib/standard.omit