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.94-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])
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 GTK 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 Whether to compile with -Werror or not (disabled by default)
159 dnl ------------------------------------------------------------
160 AC_ARG_ENABLE([Werror],
161 [AS_HELP_STRING(--enable-Werror,whether to compile C code with -Werror which turns any compiler warning into a compilation failure [default=no])],
162 [case "${enableval}" in
163 yes) ENABLE_WERROR=yes ;;
164 no) ENABLE_WERROR=no ;;
165 *) ENABLE_WERROR=default ;;
167 [ENABLE_WERROR=default])
169 dnl -----------------------------------------------------------
170 dnl Default AWT toolkit
171 dnl -----------------------------------------------------------
172 AC_ARG_ENABLE(default-toolkit,
173 AS_HELP_STRING([--enable-default-toolkit],
174 [fully qualified class name of default AWT toolkit]))
175 default_toolkit=$enable_default_toolkit
176 if test "$default_toolkit" = ""; then
177 default_toolkit=gnu.java.awt.peer.gtk.GtkToolkit
179 AC_SUBST(default_toolkit)
181 dnl -----------------------------------------------------------
182 dnl Native libxml/xslt library (disabled by default)
183 dnl -----------------------------------------------------------
184 AC_ARG_ENABLE([xmlj],
185 [AS_HELP_STRING(--enable-xmlj,compile native libxml/xslt library [default=no])],
186 [case "${enableval}" in
187 yes) COMPILE_XMLJ=yes ;;
188 no) COMPILE_XMLJ=no ;;
189 *) COMPILE_XMLJ=no ;;
192 AM_CONDITIONAL(CREATE_XMLJ_LIBRARY, test "x${COMPILE_XMLJ}" = xyes)
194 dnl -----------------------------------------------------------
195 dnl ALSA code (enabled by default)
196 dnl -----------------------------------------------------------
197 AC_ARG_ENABLE([alsa],
198 [AS_HELP_STRING(--disable-alsa,compile ALSA providers (enable by --enable-alsa) [default=yes])],
199 [case "${enableval}" in
200 yes) COMPILE_ALSA=yes ;;
201 no) COMPILE_ALSA=no ;;
202 *) COMPILE_ALSA=yes ;;
204 [AC_CHECK_HEADERS([alsa/asoundlib.h],
205 [AC_CHECK_LIB([asound], [snd_seq_open], COMPILE_ALSA=yes,COMPILE_ALSA=no)],
207 AM_CONDITIONAL(CREATE_ALSA_LIBRARIES, test "x${COMPILE_ALSA}" = xyes)
209 dnl -----------------------------------------------------------
210 dnl DSSI code (enabled by default)
211 dnl -----------------------------------------------------------
212 AC_ARG_ENABLE([dssi],
213 [AS_HELP_STRING(--disable-dssi,compile DSSI providers (enable by --enable-dssi) [default=yes])],
214 [case "${enableval}" in
215 yes) COMPILE_DSSI=yes ;;
216 no) COMPILE_DSSI=no ;;
217 *) COMPILE_DSSI=yes ;;
220 AC_CHECK_HEADERS([dssi.h], [
221 AC_CHECK_HEADERS([jack/jack.h],COMPILE_DSSI=yes)])])
222 AM_CONDITIONAL(CREATE_DSSI_LIBRARIES, test "x${COMPILE_DSSI}" = xyes)
224 dnl -----------------------------------------------------------
225 dnl GTK native peer (enabled by default)
226 dnl -----------------------------------------------------------
227 AC_ARG_ENABLE([gtk-peer],
228 [AS_HELP_STRING(--disable-gtk-peer,compile GTK native peers (disabled by --disable-jni) [default=yes])],
229 [case "${enableval}" in
230 yes) COMPILE_GTK_PEER=yes ;;
231 no) COMPILE_GTK_PEER=no ;;
232 *) COMPILE_GTK_PEER=yes ;;
234 [COMPILE_GTK_PEER=yes])
235 AM_CONDITIONAL(CREATE_GTK_PEER_LIBRARIES, test "x${COMPILE_GTK_PEER}" = xyes)
237 dnl -----------------------------------------------------------
238 dnl GTK native peer error checking
239 dnl -----------------------------------------------------------
240 AC_ARG_ENABLE([gtk-peers],,AC_MSG_ERROR([No --enable-gtk-peers (or --disable-gtk-peers) option; you want --enable-gtk-peer]))
242 dnl -----------------------------------------------------------
243 dnl Qt native peer (disabled by default)
244 dnl -----------------------------------------------------------
245 AC_ARG_ENABLE([qt-peer],
246 [AS_HELP_STRING(--enable-qt-peer,compile Qt4 native peers (disabled by --disable-jni) [default=no])],
247 [case "${enableval}" in
248 yes) COMPILE_QT_PEER=yes ;;
249 no) COMPILE_QT_PEER=no ;;
250 *) COMPILE_QT_PEER=yes ;;
252 [COMPILE_QT_PEER=no])
253 AM_CONDITIONAL(CREATE_QT_PEER_LIBRARIES, test "x${COMPILE_QT_PEER}" = xyes)
255 dnl -----------------------------------------------------------
256 dnl Plugin (enabled by default)
257 dnl -----------------------------------------------------------
258 AC_ARG_ENABLE([plugin],
259 [AS_HELP_STRING(--disable-plugin,compile gcjwebplugin (disabled by --disable-plugin) [default=yes])],
260 [case "${enableval}" in
261 yes) COMPILE_PLUGIN=yes ;;
262 no) COMPILE_PLUGIN=no ;;
263 *) COMPILE_PLUGIN=yes ;;
265 [COMPILE_PLUGIN=yes])
266 AM_CONDITIONAL(CREATE_PLUGIN, test "x${COMPILE_PLUGIN}" = xyes)
268 dnl -----------------------------------------------------------
269 dnl GCJ LOCAL: Calculates and substitutes toolexeclibdir. $libdir is
270 dnl defined to the same value for all multilibs. We define toolexeclibdir
271 dnl so that we can refer to the multilib installation directories from
272 dnl classpath's build files.
273 dnl -----------------------------------------------------------
274 CLASSPATH_TOOLEXECLIBDIR
276 dnl -----------------------------------------------------------
277 dnl Sets the native libraries installation dir
278 dnl -----------------------------------------------------------
279 dnl GCJ LOCAL: default to ${toolexeclibdir}/gcj-${gcc_version}
280 AC_ARG_WITH([native-libdir],
281 [AS_HELP_STRING(--with-native-libdir,sets the installation directory for native libraries [default='${libdir}/${PACKAGE}'])],
283 nativeexeclibdir=${withval}
286 nativeexeclibdir='${toolexeclibdir}/gcj-'`cat ${srcdir}/../../gcc/BASE-VER`
289 AC_SUBST(nativeexeclibdir)
291 dnl -----------------------------------------------------------
292 dnl Sets the Java library installation dir.
293 dnl -----------------------------------------------------------
294 AC_ARG_WITH([glibj-dir],
295 [AS_HELP_STRING(--with-glibj-dir,sets the installation directory for glibj.zip [default='${libdir}/${PACKAGE}'])],
300 glibjdir='${datadir}/${PACKAGE}'
305 dnl -----------------------------------------------------------
306 dnl Sets the VM name for use in tool wrapper scripts
307 dnl -----------------------------------------------------------
309 [AS_HELP_STRING(--with-vm,sets the VM binary name [default='${prefix}/bin/jamvm'])],
314 VM_BINARY='${prefix}/bin/jamvm'
318 AM_CONDITIONAL(FOUND_CACAO, test "x`basename $VM_BINARY`" = xcacao)
320 dnl -----------------------------------------------------------
321 dnl Regenerate headers at build time (disabled by default)
322 dnl -----------------------------------------------------------
323 AC_ARG_ENABLE([regen-headers],
324 [AS_HELP_STRING(--enable-regen-headers,automatically regenerate JNI headers [default=no])],
325 [case "${enableval}" in
326 yes) REGENERATE_JNI_HEADERS=yes ;;
327 no) REGENERATE_JNI_HEADERS=no ;;
328 *) REGENERATE_JNI_HEADERS=no ;;
330 [REGENERATE_JNI_HEADERS=no])
331 AM_CONDITIONAL(CREATE_JNI_HEADERS, test "x${REGENERATE_JNI_HEADERS}" = xyes)
333 dnl -----------------------------------------------------------
334 dnl Enable tool wrapper binaries (disabled by default)
335 dnl -----------------------------------------------------------
336 AC_ARG_ENABLE([tool-wrappers],
337 [AS_HELP_STRING(--enable-tool-wrappers,create tool wrapper binaries [default=no])],
338 [case x"${enableval}" in
340 COMPILE_WRAPPERS=yes;
341 AC_CHECK_HEADERS([ltdl.h],, [AC_MSG_ERROR(cannot find ltdl.h)])
342 AC_CHECK_LIB(ltdl, lt_dlopen,, [AC_MSG_ERROR(cannot find libltdl)])
344 xno) COMPILE_WRAPPERS=no ;;
345 x) COMPILE_WRAPPERS=yes ;;
346 *) COMPILE_WRAPPERS=yes ;;
348 [COMPILE_WRAPPERS=no])
349 AM_CONDITIONAL(CREATE_WRAPPERS, test "x${COMPILE_WRAPPERS}" = xyes)
354 dnl -----------------------------------------------------------
355 dnl Checks for programs.
356 dnl -----------------------------------------------------------
358 dnl Initialize libtool
366 # Handle -Werror default case.
367 if test "$ENABLE_WERROR" = default; then
370 if test "$GCC" = yes; then
377 if test "x${COMPILE_COLLECTIONS}" = xyes; then
378 AC_PATH_PROG(PERL, [perl])
380 AC_SUBST(COLLECTIONS_PREFIX)
381 AC_CONFIG_FILES([lib/mkcollections.pl])
382 AC_CONFIG_COMMANDS([mkcollections.pl],[chmod 755 lib/mkcollections.pl])
385 if test "x${COMPILE_JNI}" = xyes; then
390 dnl Checking sizeof void * is needed for fdlibm to work properly on ppc64,
392 AC_COMPILE_CHECK_SIZEOF(void *)
394 dnl Checking for endianess.
397 dnl We check for sys/filio.h because Solaris 2.5 defines FIONREAD there.
398 dnl On that system, sys/ioctl.h will not include sys/filio.h unless
399 dnl BSD_COMP is defined; just including sys/filio.h is simpler.
400 dnl Check for crt_externs.h on Darwin.
401 AC_CHECK_HEADERS([unistd.h sys/types.h sys/config.h sys/ioctl.h \
403 inttypes.h stdint.h utime.h sys/utime.h sys/filio.h \
410 sys/event.h sys/epoll.h \
413 AC_EGREP_HEADER(uint32_t, stdint.h, AC_DEFINE(HAVE_INT32_DEFINED, 1, [Define to 1 if you have uint32_t]))
414 AC_EGREP_HEADER(uint32_t, inttypes.h, AC_DEFINE(HAVE_INT32_DEFINED, 1, [Define to 1 if you have uint32_t]))
415 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]))
416 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]))
418 AC_CHECK_FUNCS([ftruncate fsync select \
419 gethostname socket strerror fork pipe execve open close \
420 lseek fstat read readv write writev htonl memset htons connect \
421 getsockname getpeername bind listen accept \
422 recvfrom send sendto setsockopt getsockopt time mktime \
423 gethostbyname_r localtime_r \
426 mmap munmap mincore msync madvise getpagesize sysconf \
428 inet_aton inet_addr inet_pton \
429 getifaddrs kqueue kevent epoll_create \
433 AC_CHECK_LIB(magic, magic_open, LIBMAGIC=-lmagic)
436 AC_MSG_CHECKING([whether struct sockaddr_in6 is in netinet/in.h])
437 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <netinet/in.h>]], [[struct sockaddr_in6 addr6;]])],
438 [AC_DEFINE(HAVE_INET6, 1,
439 [Define if inet6 structures are defined in netinet/in.h.])
447 AC_MSG_CHECKING([for tm_gmtoff in struct tm])
448 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <time.h>]],[[struct tm tim; tim.tm_gmtoff = 0;]])],
449 [AC_DEFINE(STRUCT_TM_HAS_GMTOFF, 1, [Define if struct tm has tm_gmtoff field.])
452 AC_MSG_CHECKING([for global timezone variable])
453 dnl FIXME: we don't want a link check here because that won't work
454 dnl when cross-compiling. So instead we make an assumption that
455 dnl the header file will mention timezone if it exists.
456 dnl Don't find the win32 function timezone
457 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <time.h>]], [[void i(){long z2 = 2*timezone;}]])],
458 [AC_DEFINE(HAVE_TIMEZONE, 1, [Define if global 'timezone' exists.])
461 AC_MSG_CHECKING([for global _timezone variable])
462 dnl FIXME: As above, don't want link check
463 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <time.h>]], [[long z2 = _timezone;]])],
464 [AC_DEFINE(HAVE_UNDERSCORE_TIMEZONE, 1,
465 [Define if your platform has the global _timezone variable.])
467 [AC_MSG_RESULT(no)])])])
472 dnl See if we HAVE_ICONV, how ICONV_CONST is set and LTLIBICONV
475 dnl When using gcc we want warnings, lots of warnings :-)
476 if test "x${GCC}" = xyes; then
477 dnl We want ISO C90 ansi, but with longlong (jlong) support
478 dnl and modern POSIX and BSD C library functions/prototypes.
480 dnl Warning flags for (almost) everybody.
481 dnl Should probably be configurable
482 WARNING_CFLAGS='-W -Wall -Wmissing-declarations -Wwrite-strings -Wmissing-prototypes -Wno-long-long'
483 AC_SUBST(WARNING_CFLAGS)
485 dnl Strict warning flags which not every module uses.
486 dnl Should probably be configurable.
487 STRICT_WARNING_CFLAGS='-Wstrict-prototypes -pedantic'
488 AC_SUBST(STRICT_WARNING_CFLAGS)
490 dnl Whether or not to add -Werror, also not used by all modueles.
491 dnl Can be configured by --disable-Werror
493 if test "x${ENABLE_WERROR}" = xyes; then
494 ERROR_CFLAGS='-Werror'
496 AC_SUBST(ERROR_CFLAGS)
499 dnl Check for libxml and libxslt libraries (when xmlj is enabled).
500 if test "x${COMPILE_XMLJ}" = xyes; then
501 PKG_CHECK_MODULES(XML, libxml-2.0 >= 2.6.8)
502 PKG_CHECK_MODULES(XSLT, libxslt >= 1.1.11)
506 AC_SUBST(XSLT_CFLAGS)
509 dnl Check for AWT related gthread/gtk
510 if test "x${COMPILE_GTK_PEER}" = xyes; then
512 if test "$no_x" = yes; then
513 AC_MSG_ERROR([GTK+ peers requested but no X library available])
515 dnl We explicitly want the XTest Extension for Robot support.
516 AC_CHECK_LIB([Xtst], [XTestQueryExtension],
517 [XTEST_LIBS="$XTEST_LIBS -lX11 -lXtst"],
518 [AC_MSG_ERROR([libXtst NOT found, required for GdkRobot])],
521 PKG_CHECK_MODULES(GTK, gtk+-2.0 >= 2.8 gthread-2.0 >= 2.2 gdk-pixbuf-2.0)
522 PKG_CHECK_MODULES(FREETYPE2, freetype2)
523 PKG_CHECK_MODULES(PANGOFT2, pangoft2)
524 dnl Check if we can link against the XRender library and set
525 dnl HAVE_XRENDER accordingly.
526 AC_CHECK_LIB([Xrender], [XRenderQueryExtension],
527 [AC_DEFINE(HAVE_XRENDER, 1, [Define to 1 if you have libXrender.])[X_EXTRA_LIBS="$X_EXTRA_LIBS -lXrender"]],
531 dnl Check if we can link against the XRandR library and set
532 dnl HAVE_XRANDR accordingly.
533 AC_CHECK_LIB([Xrandr], [XRRQueryExtension],
534 [AC_DEFINE(HAVE_XRANDR, 1, [Define to 1 if you have libXrandr.])[X_EXTRA_LIBS="$X_EXTRA_LIBS -lXrandr"]],
540 AC_SUBST(FREETYPE2_LIBS)
541 AC_SUBST(FREETYPE2_CFLAGS)
542 AC_SUBST(PANGOFT2_LIBS)
543 AC_SUBST(PANGOFT2_CFLAGS)
548 if test "x${COMPILE_GCONF_PEER}" = xyes; then
549 PKG_CHECK_MODULES(GCONF, gconf-2.0 >= 2.11.2)
550 AC_SUBST(GCONF_CFLAGS)
552 dnl we also need gdk for locking
553 PKG_CHECK_MODULES(GDK, gdk-2.0 >= 2.8)
556 dnl check if the config value was given form the command line,
557 dnl if not, overwrite the default if we have the gconf backend
559 USE_GCONF_PREFS_PEER=$enable_default_preferences_peer
560 if test "$USE_GCONF_PREFS_PEER" = ""; then
561 DEFAULT_PREFS_PEER=gnu.java.util.prefs.GConfBasedFactory
565 dnl Check for AWT related Qt4
566 if test "x${COMPILE_QT_PEER}" = xyes; then
567 PKG_CHECK_MODULES(QT, QtCore QtGui >= 4.1.0, HAVE_QT4="yes", HAVE_QT4="no")
568 if test "x$HAVE_QT4" = "xyes"; then
569 dnl Check needed because in some cases the QtGui includedir
570 dnl doesn't contain the subsystem dir.
571 QT_INCLUDE_DIR=`$PKG_CONFIG --variable=includedir QtGui`
572 EXTRA_QT_INCLUDE_DIR="$QT_INCLUDE_DIR/Qt"
573 AC_CHECK_FILE([$QT_INCLUDE_DIR/QWidget],
574 AC_MSG_NOTICE([No extra QT_INCLUDE_DIR needed]),
575 AC_CHECK_FILE([$EXTRA_QT_INCLUDE_DIR/QWidget],
576 QT_CFLAGS="$QT_CFLAGS -I$EXTRA_QT_INCLUDE_DIR",
577 AC_MSG_WARN([QWidget not found])))
578 AC_CHECK_PROG(MOC, [moc], [moc])
579 AC_CHECK_PROG(MOC, [moc-qt4], [moc-qt4])
581 if test "x$HAVE_QT4" = "xno"; then
582 AC_MSG_NOTICE([Looking for QT_CFLAGS and QT_LIBS without pkg-config])
585 AC_ARG_WITH([qt4dir],
586 [AS_HELP_STRING([--with-qt4dir=DIR],
587 [Qt4 installation directory used for OS-X.
588 For other systems use pkg-config.])],
591 if test x"$QT4DIR" = x ; then
592 AC_MSG_ERROR([*** No path for Qt4 --with-qt4dir option given])
594 AC_MSG_RESULT([QT4DIR... $QT4DIR])
595 AC_CHECK_PROG(MOC, [moc], [$QT4DIR/bin/moc], [], $QT4DIR/bin)
596 if test x"$MOC" = x; then
597 AC_MSG_ERROR([*** This is not the right Qt installation])
599 QT_CFLAGS="-F$QT4DIR/lib -I$QT4DIR/lib/QtCore.framework/Headers"
600 QT_CFLAGS="$QT_CFLAGS -I$QT4DIR/lib/QtGui.framework/Headers"
601 QT_LIBS="-Xlinker -F$QT4DIR/lib -Xlinker -framework -Xlinker QtCore"
602 QT_LIBS="$QT_LIBS -Xlinker -framework -Xlinker QtGui"
605 AC_MSG_ERROR([*** Please check PKG_CONFIG_PATH or the version
606 of your installed Qt4 installation.])
610 AC_MSG_NOTICE([Set QT_CFLAGS... $QT_CFLAGS])
614 dnl **********************************************************************
615 dnl Check for MSG_NOSIGNAL
616 dnl **********************************************************************
617 AC_MSG_CHECKING(for MSG_NOSIGNAL)
618 AC_TRY_COMPILE([#include <sys/socket.h>],
619 [ int f = MSG_NOSIGNAL; ],
621 AC_DEFINE(HAVE_MSG_NOSIGNAL, 1,
622 [Define this symbol if you have MSG_NOSIGNAL]) ],
625 dnl **********************************************************************
626 dnl Check for SO_NOSIGPIPE (Darwin equivalent for MSG_NOSIGNAL)
627 dnl **********************************************************************
628 AC_MSG_CHECKING(for SO_NOSIGPIPE )
629 AC_TRY_COMPILE([#include <sys/socket.h>],
630 [ int f = SO_NOSIGPIPE; ],
632 AC_DEFINE(HAVE_SO_NOSIGPIPE, 1,
633 [Define this symbol if you have SO_NOSIGPIPE]) ],
637 dnl Check for plugin support headers and libraries.
638 if test "x${COMPILE_PLUGIN}" = xyes; then
639 PKG_CHECK_MODULES(MOZILLA, mozilla-plugin, [MOZILLA_FOUND=yes], [MOZILLA_FOUND=no])
640 if test "x${MOZILLA_FOUND}" = xno; then
641 PKG_CHECK_MODULES(MOZILLA, firefox-plugin firefox-xpcom, [MOZILLA_FOUND=yes], [MOZILLA_FOUND=no])
643 if test "x${MOZILLA_FOUND}" = xno; then
644 PKG_CHECK_MODULES(MOZILLA, xulrunner-plugin xulrunner-xpcom, [MOZILLA_FOUND=yes], [MOZILLA_FOUND=no])
646 if test "x${MOZILLA_FOUND}" = xno; then
647 PKG_CHECK_MODULES(MOZILLA, mozilla-firefox-plugin mozilla-firefox-xpcom, [MOZILLA_FOUND=yes], [MOZILLA_FOUND=no])
649 if test "x${MOZILLA_FOUND}" = xno; then
650 PKG_CHECK_MODULES(MOZILLA, seamonkey-plugin seamonkey-xpcom, [MOZILLA_FOUND=yes], [MOZILLA_FOUND=no])
652 PKG_CHECK_MODULES(GLIB, glib-2.0)
654 AC_SUBST(MOZILLA_CFLAGS)
655 AC_SUBST(MOZILLA_LIBS)
656 AC_SUBST(GLIB_CFLAGS)
659 AC_SUBST(PLUGIN_DIR, $HOME/.mozilla/plugins/)
665 dnl -----------------------------------------------------------
666 dnl Add the include files for the native abstraction layer.
667 dnl Used by AM_CPPFLAGS in the different modules.
668 dnl -----------------------------------------------------------
669 CLASSPATH_INCLUDES="-I\$(top_srcdir)/include -I\$(top_srcdir)/native/jni/classpath -I\$(top_srcdir)/native/jni/native-lib"
670 AC_SUBST(CLASSPATH_INCLUDES)
672 dnl -----------------------------------------------------------
673 if test "x${COMPILE_JNI}" = xyes; then
674 AC_MSG_CHECKING(jni_md.h support)
675 if test -f ${srcdir}/include/jni_md-${target_cpu}-${target_os}.h; then
680 AC_MSG_WARN(no, using x86-linux-gnu)
682 ac_sources="include/jni_md-${target_cpu}-${target_os}.h"
683 ac_dests="include/jni_md.h"
684 while test -n "$ac_sources"; do
685 set $ac_dests; ac_dest=$1; shift; ac_dests=$*
686 set $ac_sources; ac_source=$1; shift; ac_sources=$*
687 ac_config_links_1="$ac_config_links_1 $ac_dest:$ac_source"
689 AC_CONFIG_LINKS([$ac_config_links_1])
694 CLASSPATH_WITH_CLASSLIB
696 dnl -----------------------------------------------------------
697 dnl Initialize maintainer mode
698 dnl -----------------------------------------------------------
701 dnl -----------------------------------------------------------
702 dnl Enable debugging statements at compile time. By default
703 dnl these statements should be optimized out of the bytecode
704 dnl produced by an optimizing Java compiler and not hinder
705 dnl performance because debugging is turned off by default.
706 dnl -----------------------------------------------------------
707 AC_ARG_ENABLE([debug],
708 [AS_HELP_STRING(--enable-debug,enable runtime debugging code)],
709 [case "${enableval}" in
712 AC_DEFINE(DEBUG, 1, [Define to 1 if you want native library runtime debugging code enabled])
714 no) LIBDEBUG="false" ;;
715 *) AC_MSG_ERROR(bad value ${enableval} for --enable-debug) ;;
720 dnl -----------------------------------------------------------
721 dnl Enable execution of all static initializer loadLibrary()
722 dnl calls at compile time. By default most people will not
723 dnl want to disable this, but some VMs (gcj) don't need or want
725 dnl -----------------------------------------------------------
726 AC_ARG_ENABLE([load-library],
727 [AS_HELP_STRING(--enable-load-library,enable to use JNI native methods [default=yes])],
728 [case "${enableval}" in
729 yes) INIT_LOAD_LIBRARY="true" ;;
730 no) INIT_LOAD_LIBRARY="false" ;;
731 *) AC_MSG_ERROR(bad value ${enableval} for --enable-load-library) ;;
733 [INIT_LOAD_LIBRARY="true"])
734 AC_SUBST(INIT_LOAD_LIBRARY)
737 dnl -----------------------------------------------------------
738 dnl Specify the jar file containing the Eclipse Java Compiler. If
739 dnl this option is not specified then the com.sun.tools.javac
740 dnl implementation will not be included in tools.zip.
741 dnl -----------------------------------------------------------
742 dnl GCJ LOCAL: default to $multi_basedir/ecj.jar
743 dnl In the default case where $multi_basedir/ecj.jar is found
744 dnl $(jardir)/ecj.jar will not expand properly in GNU Classpath's
745 dnl gnu/classpath/Configuration.java. That is OK though since libjava's
746 dnl gnu/classpath/Configuration.java overrides GNU Classpath's and
747 dnl ECJ_JAR_FILE will be properly expanded in libjava's
748 dnl gnu/classpath/natConfiguration.cc.
749 AC_ARG_WITH([ecj-jar],
750 [AS_HELP_STRING([--with-ecj-jar=ABS.PATH],
751 [specify jar file containing the Eclipse Java Compiler])],
753 [if test -f $multi_basedir/ecj.jar; then
754 ECJ_JAR='$(jardir)/ecj.jar'
758 dnl -----------------------------------------------------------
759 dnl Should the VM explicitly run class initialization subfunctions for
760 dnl java.lang.System? (default is false -- the subfunctions will be run
761 dnl automatically by the class initializer)
762 dnl -----------------------------------------------------------
763 AC_ARG_ENABLE([java-lang-system-explicit-initialization],
764 [AS_HELP_STRING(--enable-java-lang-system-explicit-initialization,will the VM explicitly invoke java.lang.System's static initialization methods [default=no])],
765 [case "${enableval}" in
766 yes|true) JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION="true" ;;
767 no|false) JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION="false" ;;
768 *) AC_MSG_ERROR(bad value ${enableval} for --enable-java-lang-system-explicit-initialization) ;;
770 [JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION="false"])
771 AC_SUBST(JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION)
774 dnl -----------------------------------------------------------
775 dnl avoiding automake complaints
776 dnl -----------------------------------------------------------
780 dnl -----------------------------------------------------------
781 dnl This is probably useless.
782 dnl -----------------------------------------------------------
783 AC_PATH_PROG(MKDIR, mkdir)
785 AC_PATH_PROG(DATE, date)
787 dnl -----------------------------------------------------------
788 dnl According to the GNU coding guide, we shouldn't require find,
789 dnl and zip, however GNU provides both so it should be okay
790 dnl -----------------------------------------------------------
791 AC_PATH_PROG(FIND, find)
793 dnl -----------------------------------------------------------
794 dnl Specify what to install (install only glibj.zip by default)
795 dnl -----------------------------------------------------------
798 dnl -----------------------------------------------------------
799 dnl Enable API documentation generation (disabled by default)
800 dnl -----------------------------------------------------------
803 dnl -----------------------------------------------------------
804 dnl Whether to use jay to regenerate parsers.
805 dnl -----------------------------------------------------------
808 dnl -----------------------------------------------------------
809 dnl This sets the build-time default, which can now be overridden
810 dnl by setting the system property gnu.classpath.awt.gtk.portable.native.sync
811 dnl to "true" or "false".
812 dnl -----------------------------------------------------------
813 AC_ARG_ENABLE([portable-native-sync],
814 [AS_HELP_STRING(--enable-portable-native-sync,synchronize VM threads portably)],
815 [case "${enableval}" in
817 AC_DEFINE(PORTABLE_NATIVE_SYNC, 1, [Define if you want to synchronize VM threads portably by default; undef otherwise])
821 AC_MSG_ERROR(bad value ${enableval} for --enable-portable-native-sync)
826 AX_CREATE_STDINT_H([include/config-int.h])
828 dnl -----------------------------------------------------------------------
829 dnl Support for using a prebuilt class library
830 dnl -----------------------------------------------------------------------
831 AC_ARG_WITH([glibj_zip],
832 AS_HELP_STRING([--with-glibj-zip=ABS.PATH],
833 [use prebuilt glibj.zip class library]))
835 case "$with_glibj_zip" in
843 AC_MSG_ERROR([Please suply an absolute path to a prebuilt glibj.zip])
847 PATH_TO_GLIBJ_ZIP=$with_glibj_zip
851 AM_CONDITIONAL(USE_PREBUILT_GLIBJ_ZIP, test x$use_glibj_zip = xtrue)
852 AC_SUBST(PATH_TO_GLIBJ_ZIP)
854 dnl -----------------------------------------------------------
855 dnl Build with Escher based X peers.
856 dnl -----------------------------------------------------------
857 AC_ARG_WITH([escher],
858 AS_HELP_STRING([--with-escher=ABS.PATH],
859 [specify path to escher dir or JAR for X peers]))
860 case "$with_escher" in
868 AC_MSG_ERROR([Please supply an absolute path to Escher library])
872 PATH_TO_ESCHER=$with_escher
876 AM_CONDITIONAL(USE_ESCHER, test x$use_escher = xtrue)
877 AC_SUBST(PATH_TO_ESCHER)
879 dnl -----------------------------------------------------------
880 dnl Check if local socket support should be included.
881 dnl -----------------------------------------------------------
882 AC_ARG_ENABLE([local-sockets],
883 [AS_HELP_STRING(--enable-local-sockets,enables local (AF_LOCAL) socket API [default: no])],
884 [case "${enableval}" in
886 ENABLE_LOCAL_SOCKETS=yes
889 ENABLE_LOCAL_SOCKETS=no
893 if test "x$ENABLE_LOCAL_SOCKETS" = "xyes"
895 AC_CHECK_HEADER([sys/un.h])
896 AC_CHECK_FUNCS([read write bind listen accept shutdown], [],
897 AC_MSG_ERROR([networking support not available]))
898 AC_DEFINE(ENABLE_LOCAL_SOCKETS, [1], [Define to enable support for local sockets.])
900 AM_CONDITIONAL(ENABLE_LOCAL_SOCKETS, test "x$ENABLE_LOCAL_SOCKETS" = "xyes")
902 dnl -----------------------------------------------------------
903 dnl Add the default preference peer
904 dnl -----------------------------------------------------------
905 AC_SUBST(DEFAULT_PREFS_PEER)
907 dnl -----------------------------------------------------------
909 dnl -----------------------------------------------------------
910 AC_CONFIG_FILES([Makefile
914 external/sax/Makefile
915 external/w3c_dom/Makefile
916 external/relaxngDatatype/Makefile
917 external/jsr166/Makefile
918 gnu/classpath/Configuration.java
919 gnu/java/security/Configuration.java
922 native/fdlibm/Makefile
925 native/jni/classpath/Makefile
926 native/jni/java-io/Makefile
927 native/jni/java-lang/Makefile
928 native/jni/java-net/Makefile
929 native/jni/java-nio/Makefile
930 native/jni/java-util/Makefile
931 native/jni/gtk-peer/Makefile
932 native/jni/gconf-peer/Makefile
933 native/jni/qt-peer/Makefile
934 native/jni/xmlj/Makefile
935 native/jni/midi-alsa/Makefile
936 native/jni/midi-dssi/Makefile
937 native/jni/native-lib/Makefile
938 native/plugin/Makefile
940 resource/META-INF/services/java.util.prefs.PreferencesFactory
942 scripts/classpath.spec
945 lib/copy-vmresources.sh
948 examples/Makefile.jawt
949 examples/Makefile.java2d])
951 if test "x${COMPILE_WRAPPERS}" = xno
953 AC_CONFIG_FILES([tools/gappletviewer
965 AC_CONFIG_COMMANDS([gappletviewer],[chmod 755 tools/gappletviewer])
966 AC_CONFIG_COMMANDS([gjarsigner],[chmod 755 tools/gjarsigner])
967 AC_CONFIG_COMMANDS([gkeytool],[chmod 755 tools/gkeytool])
968 AC_CONFIG_COMMANDS([gjar],[chmod 755 tools/gjar])
969 AC_CONFIG_COMMANDS([gnative2ascii],[chmod 755 tools/gnative2ascii])
970 AC_CONFIG_COMMANDS([gserialver],[chmod 755 tools/gserialver])
971 AC_CONFIG_COMMANDS([grmiregistry],[chmod 755 tools/grmiregistry])
972 AC_CONFIG_COMMANDS([gtnameserv],[chmod 755 tools/gtnameserv])
973 AC_CONFIG_COMMANDS([gorbd],[chmod 755 tools/gorbd])
974 AC_CONFIG_COMMANDS([grmid],[chmod 755 tools/grmid])
975 AC_CONFIG_COMMANDS([grmic],[chmod 755 tools/grmic])
976 AC_CONFIG_COMMANDS([gjavah], [chmod 755 tools/gjavah])
979 AC_CONFIG_COMMANDS([gen-classlist],[chmod 755 lib/gen-classlist.sh])
980 AC_CONFIG_COMMANDS([copy-vmresources],[chmod 755 lib/copy-vmresources.sh])
983 # Create standard.omit based on decisions we just made.
984 cat ${srcdir}/lib/standard.omit.in > lib/standard.omit
985 if test x$use_escher != xtrue; then
986 echo gnu/java/awt/peer/x/.*java$ >> lib/standard.omit