]> git.ipfire.org Git - thirdparty/gcc.git/blame - libjava/configure.ac
Index: gcc/gcc/ChangeLog
[thirdparty/gcc.git] / libjava / configure.ac
CommitLineData
b8f1ed38 1dnl # Process this with autoconf to create configure
4618c7f0 2AC_PREREQ(2.59)
e6312df0 3# Still use "libjava" here to placate dejagnu.
4AC_INIT([libjava], [version-unused],, [libjava])
5
6AC_CONFIG_SRCDIR(java/lang/System.java)
2c60951b 7
b8f1ed38 8# We use these options to decide which functions to include.
2c60951b 9AC_ARG_WITH(target-subdir,
b8f1ed38 10 AS_HELP_STRING([--with-target-subdir=SUBDIR],
11 [configure in a subdirectory]))
ddc2ed1a 12
b8f1ed38 13# We may get other options which we don't document:
14# --with-target-subdir, --with-multisrctop, --with-multisubdir
76c602c2 15
16# When building with srcdir == objdir, links to the source files will
17# be created in directories within the target_subdir. We have to
18# adjust toplevel_srcdir accordingly, so that configure finds
19# install-sh and other auxiliary files that live in the top-level
20# source directory.
21if test "${srcdir}" = "."; then
22 if test -z "${with_target_subdir}"; then
23 toprel=".."
24 else
25 if test "${with_target_subdir}" != "."; then
26 toprel="${with_multisrctop}../.."
27 else
28 toprel="${with_multisrctop}.."
29 fi
30 fi
31else
32 toprel=".."
33fi
34
35libgcj_basedir=$srcdir/$toprel/./libjava
36AC_SUBST(libgcj_basedir)
37
36d69d06 38AC_CANONICAL_SYSTEM
304f602d 39_GCC_TOPLEV_NONCANONICAL_BUILD
36d69d06 40_GCC_TOPLEV_NONCANONICAL_TARGET
41
b96a37b6 42AC_SUBST(target_noncanonical)
43
36d69d06 44# This works around the fact that libtool configuration may change LD
45# for this particular configuration, but some shells, instead of
46# keeping the changes in LD private, export them just because LD is
47# exported.
48ORIGINAL_LD_FOR_MULTILIBS=$LD
49
50AC_PROG_LN_S
51
76c602c2 52# This works around an automake problem.
53mkinstalldirs="`cd $ac_aux_dir && ${PWDCMD-pwd}`/mkinstalldirs"
54AC_SUBST(mkinstalldirs)
55
36d69d06 56AC_ARG_WITH(cross-host,
b8f1ed38 57 AS_HELP_STRING([--with-cross-host=HOST],
58 [configure with a cross compiler from HOST]))
36d69d06 59
60AC_ARG_WITH(newlib,
b8f1ed38 61 AS_HELP_STRING([--with-newlib],
62 [configure with newlib]))
36d69d06 63
64AC_ARG_ENABLE(version-specific-runtime-libs,
b8f1ed38 65 AS_HELP_STRING([--enable-version-specific-runtime-libs],
66 [specify that runtime libraries should be installed in a compiler-specific directory]),
36d69d06 67 [case "$enableval" in
68 yes) version_specific_libs=yes ;;
69 no) version_specific_libs=no ;;
70 *) AC_MSG_ERROR([Unknown argument to enable/disable version-specific libs]);;
71 esac],
72 [version_specific_libs=no]
73)
74
b8f1ed38 75# Default to --enable-multilib
36d69d06 76AC_ARG_ENABLE(multilib,
b8f1ed38 77 AS_HELP_STRING([--enable-multilib],
78 [build many library versions (default)]),
36d69d06 79[case "${enableval}" in
80 yes) multilib=yes ;;
81 no) multilib=no ;;
82 *) AC_MSG_ERROR(bad value ${enableval} for multilib option) ;;
83 esac], [multilib=yes])dnl
76c602c2 84
b8f1ed38 85# It may not be safe to run linking tests in AC_PROG_CC/AC_PROG_CXX.
4618c7f0 86GCC_NO_EXECUTABLES
87
88# (1) We use an abnormal CXX (without library references), so we
89# must cache it under a different name.
90# (2) CC, CFLAGS, CXX, CXXFLAGS, LDFLAGS must not be 'precious', or
91# the non-multilib-adjusted value will be used in multilibs.
92# (3) As a side effect, we must SUBST CXXFLAGS, CFLAGS, and LDFLAGS ourselves.
93# (4) As another side effect, automake doesn't automatically include them
94# in Makefile.in.
95# (5) For libstdc++-v3, -fno-builtin must be present here so that a
96# non-conflicting form of std::exit can be guessed by AC_PROG_CXX, and
97# used in later tests. This may not be necessary in libjava; I don't know.
98m4_define([ac_cv_prog_CXX],[glibcxx_cv_prog_CXX])
99m4_rename([_AC_ARG_VAR_PRECIOUS],[glibcxx_PRECIOUS])
100m4_define([_AC_ARG_VAR_PRECIOUS],[])
101save_CXXFLAGS="$CXXFLAGS"
102CXXFLAGS="$CXXFLAGS -fno-builtin"
76c602c2 103AC_PROG_CC
4618c7f0 104AC_PROG_CXX
105CXXFLAGS="$save_CXXFLAGS"
106m4_rename([glibcxx_PRECIOUS],[_AC_ARG_VAR_PRECIOUS])
107AC_SUBST(CFLAGS)
108AC_SUBST(CXXFLAGS)
109AC_SUBST(LDFLAGS)
76c602c2 110
e6312df0 111AM_INIT_AUTOMAKE([1.9.0])
76c602c2 112
113AC_CHECK_TOOL(AS, as)
114AC_CHECK_TOOL(AR, ar)
115AC_CHECK_TOOL(RANLIB, ranlib, :)
116
117AC_PROG_INSTALL
118
119AM_MAINTAINER_MODE
120
121AC_EXEEXT
122
123# configure.host sets the following important variables
124# libgcj_cflags - host specific C compiler flags
125# libgcj_cxxflags - host specific C++ compiler flags
126# libgcj_javaflags - host specific Java compiler flags
127
128libgcj_cflags=
129libgcj_cxxflags=
130libgcj_javaflags=
131
b8f1ed38 132. ${srcdir}/configure.host
76c602c2 133
b8f1ed38 134LIBGCJ_CFLAGS="${libgcj_cflags}"
135LIBGCJ_CXXFLAGS="${libgcj_cxxflags}"
136LIBGCJ_JAVAFLAGS="${libgcj_javaflags}"
76c602c2 137AC_SUBST(LIBGCJ_CFLAGS)
138AC_SUBST(LIBGCJ_CXXFLAGS)
139AC_SUBST(LIBGCJ_JAVAFLAGS)
2c60951b 140
062bd84a 141AC_CONFIG_HEADERS([include/config.h gcj/libgcj-config.h])
2c60951b 142
18985956 143# Only use libltdl for non-newlib builds.
828284cf 144if test "x${with_newlib}" = "x" || test "x${with_newlib}" = "xno"; then
b345481f 145 AC_LIBLTDL_CONVENIENCE
146 AC_LIBTOOL_DLOPEN
147 DIRLTDL=libltdl
9a65690f 148 AC_DEFINE(USE_LTDL, 1, [Define if libltdl is in use.])
b345481f 149 # Sigh. Libtool's macro doesn't do the right thing.
150 INCLTDL="-I\$(top_srcdir)/libltdl $INCLTDL"
66a2e6b7 151 # FIXME: this is a hack.
3354d061 152 sub_auxdir="`cd $ac_aux_dir && ${PWDCMD-pwd}`"
70822226 153 ac_configure_args="$ac_configure_args --with-auxdir=$sub_auxdir"
b345481f 154fi
155AC_SUBST(INCLTDL)
156AC_SUBST(LIBLTDL)
157AC_SUBST(DIRLTDL)
062bd84a 158AC_PROG_LIBTOOL
e6312df0 159AM_PROG_GCJ
160AM_PROG_CC_C_O
f3616f69 161AC_CONFIG_SUBDIRS(libltdl)
9dc37dac 162
2c60951b 163if test -z "$with_target_subdir" || test "$with_target_subdir" = "."; then
164 COMPPATH=.
165else
166 COMPPATH=..
167fi
168AC_SUBST(COMPPATH)
169
b8f1ed38 170# The -no-testsuite modules omit the test subdir.
2c60951b 171AM_CONDITIONAL(TESTSUBDIR, test -d $srcdir/testsuite)
172
b8f1ed38 173# Should the runtime set system properties by examining the
174# environment variable GCJ_PROPERTIES?
f5fddbf2 175AC_ARG_ENABLE(getenv-properties,
b8f1ed38 176 AS_HELP_STRING([--disable-getenv-properties],
177 [don't set system properties from GCJ_PROPERTIES]))
f5fddbf2 178
b8f1ed38 179# Whether GCJ_PROPERTIES is used depends on the target.
f414d9a7 180if test -z "$enable_getenv_properties"; then
f5fddbf2 181 enable_getenv_properties=${enable_getenv_properties_default-yes}
182fi
183if test "$enable_getenv_properties" = no; then
9a65690f 184 AC_DEFINE(DISABLE_GETENV_PROPERTIES, 1,
185 [Define if system properties shouldn't be read from getenv("GCJ_PROPERTIES").])
f5fddbf2 186fi
187
b8f1ed38 188# Whether we should use arguments to main()
2a8dfff3 189if test -z "$enable_main_args"; then
190 enable_main_args=${enable_main_args_default-yes}
191fi
192if test "$enable_main_args" = no; then
9a65690f 193 AC_DEFINE(DISABLE_MAIN_ARGS, 1, [Define if we should ignore arguments to main().])
2a8dfff3 194fi
195
f414d9a7 196
b8f1ed38 197# Should we use hashtable-based synchronization?
198# Currently works only for Linux X86/ia64
199# Typically faster and more space-efficient
f414d9a7 200AC_ARG_ENABLE(hash-synchronization,
b8f1ed38 201 AS_HELP_STRING([--enable-hash-synchronization],
202 [use global hash table for monitor locks]))
f414d9a7 203
204if test -z "$enable_hash_synchronization"; then
205 enable_hash_synchronization=$enable_hash_synchronization_default
206fi
f414d9a7 207
8f6b6726 208# Do we allow intermodule optimizations (i.e. compiling many files at once)?
209AC_ARG_ENABLE(libgcj-multifile,
b8f1ed38 210 AS_HELP_STRING([--enable-libgcj-multifile]
211 [allow compilation of several files at once]),
8f6b6726 212[case "${enableval}" in
213 yes) enable_libgcj_multifile=yes ;;
214 no) enable_libgcj_multifile=no ;;
215 *) AC_MSG_ERROR(bad value ${enableval} for --enable-libgcj-multifile) ;;
216esac],[enable_libgcj_multifile=no])
217AM_CONDITIONAL(ONESTEP, test "$enable_libgcj_multifile" = yes)
218
83d7b40b 219# What is the native OS API for MinGW?
220AC_ARG_WITH(win32-nlsapi,
b8f1ed38 221 AS_HELP_STRING([--with-win32-nlsapi=ansi or unicows or unicode],
222 [native MinGW libgcj Win32 OS API (default is ansi)]),
83d7b40b 223[case "${withval}" in
224 ansi) with_win32_nlsapi=ansi ;;
225 unicows) with_win32_nlsapi=unicows ;;
226 unicode) with_win32_nlsapi=unicode ;;
227 *) AC_MSG_ERROR(Bad value ${withval} for --with-win32-nlsapi.) ;;
228esac],[with_win32_nlsapi=ansi])
229
230case "${with_win32_nlsapi}" in
231 unicows | unicode)
232 AC_DEFINE(MINGW_LIBGCJ_UNICODE, 1,
233 [Define if MinGW libgcj uses the Windows UNICODE OS API.])
234 ;;
235esac
236
b8f1ed38 237# configure.host sets slow_pthread_self if the synchronization code should
238# try to avoid pthread_self calls by caching thread IDs in a hashtable.
cb0593ad 239if test "${slow_pthread_self}" = "yes"; then
9a65690f 240 AC_DEFINE(SLOW_PTHREAD_SELF, 1,
241 [Define if if the synchronization code should try to avoid pthread_self calls by caching thread IDs in a hashtable.])
cb0593ad 242fi
243
f414d9a7 244
b8f1ed38 245# See if the user has requested runtime debugging.
225627d7 246LIBGCJDEBUG="false"
247AC_SUBST(LIBGCJDEBUG)
2c60951b 248AC_ARG_ENABLE(libgcj-debug,
b8f1ed38 249 AS_HELP_STRING([--enable-libgcj-debug],
250 [enable runtime debugging code]),
251 [if test "$enable_libgcj_debug" = yes; then
9a65690f 252 AC_DEFINE(DEBUG, 1, [Define this if you want runtime debugging enabled.])
225627d7 253 LIBGCJDEBUG="true"
b8f1ed38 254 fi])
2c60951b 255
0a53b20c 256# Check for gc debugging. This option is handled both here and in the GC.
257AC_ARG_ENABLE(gc-debug,
a9afac44 258 AS_HELP_STRING([--enable-gc-debug],
259 [include full support for pointer backtracing etc.]),
0a53b20c 260[ if test "$enable_gc_debug" = "yes"; then
a9afac44 261 AC_DEFINE(LIBGCJ_GC_DEBUG, 1,
262 [Define if we want to use debug calls into the garbage collector.])
0a53b20c 263 fi])
264
b8f1ed38 265# See if the user has the interpreter included.
9a6624c4 266AC_ARG_ENABLE(interpreter,
b8f1ed38 267 AS_HELP_STRING([--enable-interpreter],
268 [enable interpreter]),
269 [if test "$enable_interpreter" = yes; then
c843840f 270 # This can also be set in configure.host.
271 libgcj_interpreter=yes
e7ade1e9 272 elif test "$enable_interpreter" = no; then
273 libgcj_interpreter=no
b8f1ed38 274 fi])
9a6624c4 275
c843840f 276if test "$libgcj_interpreter" = yes; then
9a65690f 277 AC_DEFINE(INTERPRETER, 1, [Define if you want a bytecode interpreter.])
c843840f 278fi
52201c54 279INTERPRETER="$libgcj_interpreter"
280AC_SUBST(INTERPRETER)
c843840f 281
df4b504c 282AC_MSG_CHECKING([for exception model to use])
062bd84a 283AC_LANG_PUSH(C++)
0b324007 284AC_ARG_ENABLE(sjlj-exceptions,
b8f1ed38 285 AS_HELP_STRING([--enable-sjlj-exceptions],
286 [force use of builtin_setjmp for exceptions]),
df4b504c 287[:],
288[dnl Botheration. Now we've got to detect the exception model.
289dnl Link tests against libgcc.a are problematic since -- at least
290dnl as of this writing -- we've not been given proper -L bits for
291dnl single-tree newlib and libgloss.
292dnl
293dnl This is what AC_TRY_COMPILE would do if it didn't delete the
294dnl conftest files before we got a change to grep them first.
295cat > conftest.$ac_ext << EOF
296[#]line __oline__ "configure"
297struct S { ~S(); };
298void bar();
299void foo()
300{
301 S s;
302 bar();
303}
304EOF
305old_CXXFLAGS="$CXXFLAGS"
306CXXFLAGS=-S
307if AC_TRY_EVAL(ac_compile); then
308 if grep _Unwind_SjLj_Resume conftest.s >/dev/null 2>&1 ; then
309 enable_sjlj_exceptions=yes
310 elif grep _Unwind_Resume conftest.s >/dev/null 2>&1 ; then
311 enable_sjlj_exceptions=no
312 fi
313fi
314CXXFLAGS="$old_CXXFLAGS"
315rm -f conftest*])
316if test x$enable_sjlj_exceptions = xyes; then
317 AC_DEFINE(SJLJ_EXCEPTIONS, 1,
318 [Define if the compiler is configured for setjmp/longjmp exceptions.])
319 ac_exception_model_name=sjlj
320elif test x$enable_sjlj_exceptions = xno; then
321 ac_exception_model_name="call frame"
322else
323 AC_MSG_ERROR([unable to detect exception model])
0b324007 324fi
062bd84a 325AC_LANG_POP(C++)
df4b504c 326AC_MSG_RESULT($ac_exception_model_name)
0b324007 327
a848664f 328# If we are non using SJLJ exceptions, and this host does not have support
329# for unwinding from a signal handler, enable checked dereferences and divides.
330if test $can_unwind_signal = no && test $enable_sjlj_exceptions = no; then
331 CHECKREFSPEC=-fcheck-references
332 DIVIDESPEC=-fuse-divide-subroutine
333 EXCEPTIONSPEC=
334fi
335
b8f1ed38 336# See if the user wants to disable java.net. This is the mildly
337# ugly way that we admit that target-side configuration sucks.
c441eb63 338AC_ARG_ENABLE(java-net,
b8f1ed38 339 AS_HELP_STRING([--disable-java-net],
340 [disable java.net]))
c441eb63 341
b8f1ed38 342# Whether java.net is built by default can depend on the target.
f414d9a7 343if test -z "$enable_java_net"; then
c441eb63 344 enable_java_net=${enable_java_net_default-yes}
345fi
7c1cf524 346if test "$enable_java_net" = no; then
9a65690f 347 AC_DEFINE(DISABLE_JAVA_NET, 1, [Define if java.net native functions should be stubbed out.])
c441eb63 348fi
349
b8f1ed38 350# See if the user wants to configure without libffi. Some
351# architectures don't support it, and default values are set in
352# configure.host.
e581835c 353AC_ARG_WITH(libffi,
b8f1ed38 354 AS_HELP_STRING([--without-libffi],
355 [don't use libffi]),
356 [:],
357 [with_libffi=${with_libffi_default-yes}])
e581835c 358
359LIBFFI=
360LIBFFIINCS=
361if test "$with_libffi" != no; then
9a65690f 362 AC_DEFINE(USE_LIBFFI, 1, [Define if we're to use libffi.])
9d0a2dd5 363 LIBFFI=../libffi/libffi_convenience.la
624d29cb 364 LIBFFIINCS='-I$(top_srcdir)/../libffi/include -I../libffi/include'
e581835c 365fi
366AC_SUBST(LIBFFI)
367AC_SUBST(LIBFFIINCS)
368
b8f1ed38 369# See if the user wants to disable JVMPI support.
89d1c158 370AC_ARG_ENABLE(jvmpi,
b8f1ed38 371 AS_HELP_STRING([--disable-jvmpi],
372 [disable JVMPI support]))
89d1c158 373
374if test "$enable_jvmpi" != no; then
9a65690f 375 AC_DEFINE(ENABLE_JVMPI, 1, [Define if you are using JVMPI.])
89d1c158 376fi
377
b8f1ed38 378# If the target is an eCos system, use the appropriate eCos
379# I/O routines.
380# FIXME: this should not be a local option but a global target
381# system; at present there is no eCos target.
2a8dfff3 382TARGET_ECOS=${PROCESS-"no"}
2c60951b 383AC_ARG_WITH(ecos,
dc9f8d59 384[ --with-ecos enable runtime eCos target support],
2c60951b 385TARGET_ECOS="$with_ecos"
386)
387
e6312df0 388supply_backtrace=no
5f63cb3e 389
25ee750c 390PLATFORM_INNER_NAT_HDRS=
2c60951b 391case "$TARGET_ECOS" in
f506f7e6 392 no) case "$host" in
fd8011b8 393 *mingw*)
f506f7e6 394 PLATFORM=Win32
28440d3b 395 PLATFORMNET=Win32
95b4e938 396 PLATFORMH=win32.h
2d139618 397 CHECK_FOR_BROKEN_MINGW_LD
f506f7e6 398 ;;
399 *)
400 PLATFORM=Posix
28440d3b 401 PLATFORMNET=Posix
95b4e938 402 PLATFORMH=posix.h
25ee750c 403 PLATFORM_INNER_NAT_HDRS='java/lang/ConcreteProcess$$ProcessManager.h'
f506f7e6 404 ;;
405 esac
2c60951b 406 ;;
407 *)
f506f7e6 408 PLATFORM=Ecos
28440d3b 409 PLATFORMNET=NoNet
9a65690f 410 AC_DEFINE(ECOS, 1, [Define if you're running eCos.])
95b4e938 411 PLATFORMH=posix.h
2c60951b 412 ;;
413esac
25ee750c 414AC_SUBST(PLATFORM_INNER_NAT_HDRS)
d5fa04e9 415AC_CONFIG_LINKS(include/platform.h:include/$PLATFORMH)
2c60951b 416
9a65690f 417AC_EGREP_HEADER(uint32_t, stdint.h, AC_DEFINE(HAVE_INT32_DEFINED, 1,
418 [Define if you have int32_t and uint32_t.]))
419AC_EGREP_HEADER(uint32_t, inttypes.h, AC_DEFINE(HAVE_INT32_DEFINED, 1,
420 [Define if you have int32_t and uint32_t.]))
421AC_EGREP_HEADER(u_int32_t, sys/types.h, AC_DEFINE(HAVE_BSD_INT32_DEFINED, 1,
422 [Define if you have u_int32_t]))
423AC_EGREP_HEADER(u_int32_t, sys/config.h, AC_DEFINE(HAVE_BSD_INT32_DEFINED, 1,
424 [Define if you have u_int32_t]))
b75bafe5 425
e6312df0 426AM_CONDITIONAL(USING_WIN32_PLATFORM, test "$PLATFORM" = Win32)
427AM_CONDITIONAL(USING_POSIX_PLATFORM, test "$PLATFORM" = Posix)
428AM_CONDITIONAL(USING_ECOS_PLATFORM, test "$PLATFORM" = Ecos)
2c60951b 429
1dc74225 430case "$host" in
431 *-darwin*) DARWIN_CRT=true ;;
432 *) DARWIN_CRT=false ;;
433esac
434AM_CONDITIONAL(USING_DARWIN_CRT, $DARWIN_CRT)
435
b8f1ed38 436# These may not be defined in a non-ANS conformant embedded system.
437# FIXME: Should these case a runtime exception in that case?
9a65690f 438AC_EGREP_HEADER(mktime, time.h, AC_DEFINE(HAVE_MKTIME, 1,
439 [Define is you have 'mktime' in <time.h>]))
440AC_EGREP_HEADER(localtime, time.h, AC_DEFINE(HAVE_LOCALTIME, 1,
441 [Define is you have 'localtime' in <time.h>]))
2c60951b 442
b8f1ed38 443# Create the subdirectory for natFile.cc, or the attempt
444# to create the link will fail.
2c60951b 445test -d java || mkdir java
446test -d java/io || mkdir java/io
225627d7 447test -d gnu || mkdir gnu
d5fa04e9 448AC_CONFIG_LINKS(java/io/natFile.cc:java/io/natFile${FILE-${PLATFORM}}.cc)
2c60951b 449
b8f1ed38 450# Likewise for ConcreteProcess.java and natConcreteProcess.cc.
58732244 451test -d java/lang || mkdir java/lang
d5fa04e9 452AC_CONFIG_LINKS(java/lang/ConcreteProcess.java:java/lang/${PLATFORM}Process.java)
453AC_CONFIG_LINKS(java/lang/natConcreteProcess.cc:java/lang/nat${PLATFORM}Process.cc)
58732244 454
b8f1ed38 455# Likewise for natInetAddress.cc and natNetworkInterface.cc.
28440d3b 456test -d java/net || mkdir java/net
d5fa04e9 457AC_CONFIG_LINKS(java/net/natInetAddress.cc:java/net/natInetAddress${PLATFORMNET}.cc)
458AC_CONFIG_LINKS(java/net/natNetworkInterface.cc:java/net/natNetworkInterface${PLATFORMNET}.cc)
94102fbf 459
b8f1ed38 460# Likewise for natPlainSocketImpl.cc and natPlainDatagramSocketImpl.cc.
94102fbf 461test -d gnu/java || mkdir gnu/java
462test -d gnu/java/net || mkdir gnu/java/net
d5fa04e9 463AC_CONFIG_LINKS(gnu/java/net/natPlainSocketImpl.cc:gnu/java/net/natPlainSocketImpl${PLATFORMNET}.cc)
464AC_CONFIG_LINKS(gnu/java/net/natPlainDatagramSocketImpl.cc:gnu/java/net/natPlainDatagramSocketImpl${PLATFORMNET}.cc)
28440d3b 465
b8f1ed38 466# Likewise for natPipeImpl.cc and natSelectorImpl.cc.
ffb7f8f8 467test -d gnu/java/nio || mkdir gnu/java/nio
d5fa04e9 468AC_CONFIG_LINKS(gnu/java/nio/natPipeImpl.cc:gnu/java/nio/natPipeImpl${PLATFORM}.cc)
469AC_CONFIG_LINKS(gnu/java/nio/natSelectorImpl.cc:gnu/java/nio/natSelectorImpl${PLATFORM}.cc)
1cea1c35 470test -d gnu/java/nio/channels || mkdir gnu/java/nio/channels
d5fa04e9 471AC_CONFIG_LINKS(gnu/java/nio/channels/natFileChannelImpl.cc:gnu/java/nio/channels/natFileChannel${FILE-${PLATFORM}}.cc)
ffb7f8f8 472
6f4eaf56 473case "${host}" in
fd8011b8 474 *mingw*)
59c0021c 475 SYSTEMSPEC="-lgdi32 -lws2_32"
83d7b40b 476 if test "${with_win32_nlsapi}" = "unicows"; then
477 SYSTEMSPEC="-lunicows $SYSTEMSPEC"
478 fi
6f4eaf56 479 ;;
480 *)
481 SYSTEMSPEC=
482 ;;
483esac
b152bc66 484AC_SUBST(SYSTEMSPEC)
485
3354d061 486LIBGCJTESTSPEC="-L`${PWDCMD-pwd}`/.libs -rpath `${PWDCMD-pwd}`/.libs"
a51bf27b 487AC_SUBST(LIBGCJTESTSPEC)
488
b152bc66 489AC_ARG_WITH(system-zlib,
b8f1ed38 490 AS_HELP_STRING([--with-system-zlib],
491 [use installed libz]))
b152bc66 492ZLIBSPEC=
493AC_SUBST(ZLIBSPEC)
a51bf27b 494ZLIBTESTSPEC=
495AC_SUBST(ZLIBTESTSPEC)
b152bc66 496
f5699769 497AC_PATH_XTRA
498
b8f1ed38 499# Determine which AWT peer libraries to build
f5699769 500AC_ARG_ENABLE(java-awt,
b8f1ed38 501 AS_HELP_STRING([--enable-java-awt],
502 [list of AWT peer implementations to be built]))
f5699769 503
504peerlibs="`echo ${enable_java_awt} | tr ',' ' '`"
505use_xlib_awt=""
506use_gtk_awt=""
507# The default toolkit to use is the first one specified.
508TOOLKIT=
509AC_SUBST(TOOLKIT)
510
511for peer in $peerlibs ; do
512 case $peer in
513 xlib)
514 if test "$no_x" = yes; then
515 echo "*** xlib peers requested but no X library available" 1>&2
516 exit 1
517 else
518 use_xlib_awt="yes"
519 if test -z "$TOOLKIT"; then
9de6dfa6 520 TOOLKIT=gnu.awt.xlib.XToolkit
f5699769 521 fi
522 fi
523 ;;
524 gtk)
525 if test "$no_x" = yes; then
526 echo "*** xlib peers requested but no X library available" 1>&2
527 exit 1
528 else
529 use_gtk_awt=yes
530 if test -z "$TOOLKIT"; then
531 TOOLKIT=gnu.java.awt.peer.gtk.GtkToolkit
532 fi
533 test -d jniinclude || mkdir jniinclude
534 fi
535 ;;
536 no)
537 use_xlib_awt=
538 use_gtk_awt=
539 break
540 ;;
541 *)
542 echo "*** unrecognised argument \"${peer}\" for --enable-java-awt" 1>&2
543 exit 1
544 esac
545done
546
547AM_CONDITIONAL(XLIB_AWT, test "$use_xlib_awt" = yes)
548AM_CONDITIONAL(GTK_AWT, test "$use_gtk_awt" = yes)
549
b8f1ed38 550# determine whether to enable the cairo GTK Graphics2D backend
551AC_ARG_ENABLE(gtk-cairo,
552 AS_HELP_STRING([--enable-gtk-cairo],
553 [build the cairo Graphics2D implementation on GTK]))
eec0c64f 554AM_CONDITIONAL(GTK_CAIRO, test "x${enable_gtk_cairo}" = xyes)
555if test "x${enable_gtk_cairo}" = xyes
556then
557 PKG_CHECK_MODULES(CAIRO, cairo)
558 PKG_CHECK_MODULES(PANGOFT2, pangoft2)
559fi
560AC_SUBST(CAIRO_LIBS)
561AC_SUBST(CAIRO_CFLAGS)
562AC_SUBST(PANGOFT2_LIBS)
563AC_SUBST(PANGOFT2_CFLAGS)
f5699769 564
b8f1ed38 565# FIXME: this should be _libs on some hosts.
b152bc66 566libsubdir=.libs
567
b8f1ed38 568# Allow the GC to be disabled. Can be useful when debugging.
2c60951b 569AC_MSG_CHECKING([for garbage collector to use])
570AC_ARG_ENABLE(java-gc,
b8f1ed38 571 AS_HELP_STRING([--enable-java-gc=TYPE],
572 [choose garbage collector (default is boehm)]),
573 [GC=$enableval],
574 [GC=boehm])
2c60951b 575GCLIBS=
576GCINCS=
577GCDEPS=
b152bc66 578GCSPEC=
2629d805 579JC1GCSPEC=
a51bf27b 580GCTESTSPEC=
2c60951b 581case "$GC" in
582 boehm)
583 AC_MSG_RESULT(boehm)
9d0a2dd5 584 GCLIBS=../boehm-gc/libgcjgc_convenience.la
2629d805 585 JC1GCSPEC='-fuse-boehm-gc'
3354d061 586 GCTESTSPEC="-L`${PWDCMD-pwd}`/../boehm-gc/.libs -rpath `${PWDCMD-pwd}`/../boehm-gc/.libs"
e08a5204 587 GCINCS='-I$(top_srcdir)/../boehm-gc/include -I../boehm-gc/include'
588 GCOBJS=boehm.lo
2c60951b 589 GCHDR=boehm-gc.h
b8f1ed38 590 # The POSIX thread support needs to know this.
9a65690f 591 AC_DEFINE(HAVE_BOEHM_GC, 1, [Define if Boehm GC in use.])
2c60951b 592 ;;
593 no)
594 AC_MSG_RESULT(none)
2c60951b 595 GCHDR=no-gc.h
596 ;;
597 *)
062bd84a 598 AC_MSG_ERROR([unrecognized collector "$GC"])
2c60951b 599 ;;
600esac
601AC_SUBST(GCLIBS)
602AC_SUBST(GCINCS)
603AC_SUBST(GCDEPS)
b152bc66 604AC_SUBST(GCSPEC)
2629d805 605AC_SUBST(JC1GCSPEC)
a51bf27b 606AC_SUBST(GCTESTSPEC)
d5fa04e9 607AC_CONFIG_LINKS(include/java-gc.h:include/$GCHDR)
e6312df0 608AM_CONDITIONAL(USING_BOEHMGC, test "$GC" = boehm)
609AM_CONDITIONAL(USING_NOGC, test "$GC" = no)
2c60951b 610
611
be4b82e4 612AC_MSG_CHECKING([for thread model used by GCC])
613THREADS=`$CC -v 2>&1 | sed -n 's/^Thread model: //p'`
614AC_MSG_RESULT([$THREADS])
2c60951b 615
616case "$THREADS" in
617 no | none | single)
618 THREADS=none
619 ;;
620 posix | pthreads)
621 THREADS=posix
622 case "$host" in
623 *-*-linux*)
9a65690f 624 AC_DEFINE(LINUX_THREADS, 1, [Define if using POSIX threads on Linux.])
2c60951b 625 ;;
626 esac
627 ;;
f506f7e6 628 win32)
629 ;;
630 decosf1 | irix | mach | os2 | solaris | dce | vxworks)
2c60951b 631 AC_MSG_ERROR(thread package $THREADS not yet supported)
632 ;;
633 *)
634 AC_MSG_ERROR($THREADS is an unknown thread package)
635 ;;
636esac
2c60951b 637
90e5cba7 638THREADCXXFLAGS=
82fe2507 639THREADLDFLAGS=
2c60951b 640THREADLIBS=
641THREADINCS=
642THREADDEPS=
2c60951b 643THREADH=
b152bc66 644THREADSPEC=
2c60951b 645case "$THREADS" in
646 posix)
28a9c959 647 case "$host" in
648 *-*-cygwin*)
649 # Don't set THREADLIBS here. Cygwin doesn't have -lpthread.
650 ;;
b8f1ed38 651 *-*-freebsd[[1234]]*)
429f8d68 652 # Before FreeBSD 5, it didn't have -lpthread (or any library which
653 # merely adds pthread_* functions) but it does have a -pthread switch
654 # which is required at link-time to select -lc_r *instead* of -lc.
82fe2507 655 THREADLDFLAGS=-pthread
429f8d68 656 # Don't set THREADSPEC here as might be expected since -pthread is
657 # not processed when found within a spec file, it must come from
658 # the command line. For now, the user must provide the -pthread
659 # switch to link code compiled with gcj. In future, consider adding
660 # support for weak references to pthread_* functions ala gthr.h API.
f5827920 661 THREADSPEC='%{!pthread: %{!shared: %eUnder this configuration, the user must provide -pthread when linking.}}'
429f8d68 662 ;;
663 *-*-freebsd*)
664 # FreeBSD 5 implements a model much closer to other modern UNIX
665 # which support threads. However, it still does not support
666 # -lpthread.
82fe2507 667 THREADLDFLAGS=-pthread
429f8d68 668 THREADSPEC=-lc_r
669 ;;
90e5cba7 670 alpha*-dec-osf*)
671 THREADCXXFLAGS=-pthread
672 # boehm-gc needs some functions from librt, so link that too.
673 THREADLIBS='-lpthread -lrt'
674 THREADSPEC='-lpthread -lrt'
675 ;;
28a9c959 676 *)
677 THREADLIBS=-lpthread
678 THREADSPEC=-lpthread
679 ;;
680 esac
2c60951b 681 THREADH=posix-threads.h
682 # MIT pthreads doesn't seem to have the mutexattr functions.
683 # But for now we don't check for it. We just assume you aren't
684 # using MIT pthreads.
9a65690f 685 AC_DEFINE(HAVE_PTHREAD_MUTEXATTR_INIT, 1, [Define if using POSIX threads that have the mutexattr functions.])
3361983d 686
687 # If we're using the Boehm GC, then we happen to know that it
688 # defines _REENTRANT, so we don't bother. Eww.
689 if test "$GC" != boehm; then
690 AC_DEFINE(_REENTRANT, 1, [Required define if using POSIX threads])
691 fi
692 AC_DEFINE(_POSIX_PTHREAD_SEMANTICS, 1, [Required define if using POSIX threads])
2c60951b 693 ;;
694
f506f7e6 695 win32)
f506f7e6 696 THREADH=win32-threads.h
697 ;;
698
2c60951b 699 none)
2c60951b 700 THREADH=no-threads.h
701 ;;
702esac
d5fa04e9 703AC_CONFIG_LINKS(include/java-threads.h:include/$THREADH)
2c60951b 704AC_SUBST(THREADLIBS)
705AC_SUBST(THREADINCS)
706AC_SUBST(THREADDEPS)
b152bc66 707AC_SUBST(THREADSPEC)
82fe2507 708AC_SUBST(THREADLDFLAGS)
90e5cba7 709AC_SUBST(THREADCXXFLAGS)
e6312df0 710AM_CONDITIONAL(USING_POSIX_THREADS, test "$THREADS" = posix)
711AM_CONDITIONAL(USING_WIN32_THREADS, test "$THREADS" = win32)
712AM_CONDITIONAL(USING_NO_THREADS, test "$THREADS" = none)
2c60951b 713
b5dc84a6 714if test -d sysdep; then true; else mkdir sysdep; fi
d5fa04e9 715AC_CONFIG_LINKS(sysdep/locks.h:sysdep/$sysdeps_dir/locks.h)
cb0593ad 716
09980a67 717HASH_SYNC_SPEC=
718# Hash synchronization is only useful with posix threads right now.
d05e701d 719if test "$enable_hash_synchronization" = yes && test "$THREADS" != "none"; then
09980a67 720 HASH_SYNC_SPEC=-fhash-synchronization
d3ca31d6 721 AC_DEFINE(JV_HASH_SYNCHRONIZATION, 1, [Define if hash synchronization is in use])
09980a67 722fi
723AC_SUBST(HASH_SYNC_SPEC)
724
725
2c60951b 726AM_CONDITIONAL(USING_GCC, test "$GCC" = yes)
727
0165a03e 728# We're in the tree with gcc, and need to include some of its headers.
66a2e6b7 729GCC_UNWIND_INCLUDE='-I$(libgcj_basedir)/../gcc'
2c60951b 730
ea2855f6 731# Figure out where generated headers like libgcj-config.h get installed.
b5dc84a6 732gcc_version_trigger=${libgcj_basedir}/../gcc/version.c
b8f1ed38 733gcc_version_full=`grep version_string ${gcc_version_trigger} | sed -e 's/.*\"\([[^\"]]*\)\".*/\1/'`
734gcc_version=`echo ${gcc_version_full} | sed -e 's/\([[^ ]]*\) .*/\1/'`
56e89c85 735tool_include_dir='$(libdir)/gcc/$(target_noncanonical)/'${gcc_version}/include
ea2855f6 736AC_SUBST(tool_include_dir)
8d842e37 737AC_SUBST(gcc_version)
ea2855f6 738
f632ca0d 739if test "x${with_newlib}" = "xyes"; then
2c60951b 740 # We are being configured with a cross compiler. AC_REPLACE_FUNCS
741 # may not work correctly, because the compiler may not be able to
742 # link executables.
743
744 # We assume newlib. This lets us hard-code the functions we know
745 # we'll have.
9a65690f 746 AC_DEFINE(HAVE_MEMMOVE, 1, [Define if you have memmove.])
747 AC_DEFINE(HAVE_MEMCPY, 1, [Define if you have memcpy.])
748 AC_DEFINE(HAVE_STRERROR, 1, [Define if you have strerror.])
749 AC_DEFINE(HAVE_TIME, 1, [Define if you have time.])
750 AC_DEFINE(HAVE_GMTIME_R, 1, [Define if you have the 'gmtime_r' function])
751 AC_DEFINE(HAVE_LOCALTIME_R, 1, [Define if you have the 'localtime_r' function.])
81301f7e 752 AC_DEFINE(HAVE_USLEEP_DECL, 1, [Define if usleep is declared in <unistd.h>.])
b8f1ed38 753 # This is only for POSIX threads.
9a65690f 754 AC_DEFINE(HAVE_PTHREAD_MUTEXATTR_INIT, 1, [Define if using POSIX threads that have the mutexattr functions.])
b8f1ed38 755 # We also assume we are using gcc, which provides alloca.
2c60951b 756 AC_DEFINE(HAVE_ALLOCA)
757
b8f1ed38 758 # Assume we do not have getuid and friends.
9a65690f 759 AC_DEFINE(NO_GETUID, 1, [Define if getuid() and friends are missing.])
28440d3b 760 PLATFORMNET=NoNet
2c60951b 761else
2a8dfff3 762 AC_CHECK_FUNCS(strerror ioctl select fstat open fsync sleep opendir)
932359ed 763 AC_CHECK_FUNCS(gmtime_r localtime_r readdir_r getpwuid_r getcwd)
13487a5e 764 AC_CHECK_FUNCS(access stat mkdir rename rmdir unlink realpath utime chmod)
d3ca31d6 765 AC_CHECK_FUNCS(nl_langinfo setlocale)
2c60951b 766 AC_CHECK_FUNCS(inet_aton inet_addr, break)
ea3a6baa 767 AC_CHECK_FUNCS(inet_pton uname inet_ntoa)
fdce0b64 768 AC_CHECK_FUNCS(fork execvp pipe sigaction ftruncate)
15159a4e 769 AC_CHECK_HEADERS(execinfo.h unistd.h dlfcn.h)
26370fb1 770 AC_CHECK_FUNC(backtrace, [
771 case "$host" in
772 ia64-*-linux*)
773 # Has broken backtrace()
774 ;;
5f63cb3e 775 mips*-*-linux*)
776 # Has broken backtrace(), but we supply our own.
777 if test -d sysdep; then true; else mkdir -p sysdep; fi
e6312df0 778 supply_backtrace=yes
5f63cb3e 779 AC_DEFINE(HAVE_BACKTRACE, 1,
780 [Define if your platform has a working backtrace() function.])
781 ;;
26370fb1 782 *)
9a65690f 783 AC_DEFINE(HAVE_BACKTRACE, 1,
784 [Define if your platform has a working backtrace() function.])
26370fb1 785 ;;
786 esac
98ef79fb 787 ], [
788 case "$host" in
789 *mingw*)
790 # Has backtrace() defined in libgcj itself
9a65690f 791 AC_DEFINE(HAVE_BACKTRACE, 1,
792 [Define if your platform has a working backtrace() function.])
98ef79fb 793 ;;
794 esac
26370fb1 795 ])
796
7b4ea9e5 797 AC_CHECK_LIB(dl, dladdr, [
5f63cb3e 798 if test "x${disable_dladdr}" = "xyes"; then
799 #Broken dladdr().
800 true
801 else
802 AC_DEFINE(HAVE_DLADDR, 1, [Define if you have dladdr()])
803 fi
804 ])
f632ca0d 805 if test x"$build" = x"$host"; then
806 AC_CHECK_FILES(/proc/self/exe, [
9a65690f 807 AC_DEFINE(HAVE_PROC_SELF_EXE, 1, [Define if you have /proc/self/exe])])
f632ca0d 808 else
809 case $host in
810 *-linux*)
9a65690f 811 AC_DEFINE(HAVE_PROC_SELF_EXE, 1, [Define if you have /proc/self/exe])
f632ca0d 812 ;;
813 esac
814 fi
2c60951b 815
d3ca31d6 816 AM_ICONV
64f1dfea 817 AM_LC_MESSAGES
33a40528 818 AC_STRUCT_TIMEZONE
d3ca31d6 819
2c60951b 820 AC_CHECK_FUNCS(gethostbyname_r, [
9a65690f 821 AC_DEFINE(HAVE_GETHOSTBYNAME_R, 1,
822 [Define if you have the 'gethostbyname_r' function.])
2c60951b 823 # There are two different kinds of gethostbyname_r.
824 # We look for the one that returns `int'.
825 # Hopefully this check is robust enough.
826 AC_EGREP_HEADER(int.*gethostbyname_r, netdb.h, [
9a65690f 827 AC_DEFINE(GETHOSTBYNAME_R_RETURNS_INT, 1, [Define if gethostbyname_r returns 'int'.])])
98db1361 828
829 case " $GCINCS " in
830 *" -D_REENTRANT "*) ;;
831 *)
832 dnl On DU4.0, gethostbyname_r is only declared with -D_REENTRANT
833 AC_CACHE_CHECK([whether gethostbyname_r declaration requires -D_REENTRANT],
834 [libjava_cv_gethostbyname_r_needs_reentrant],
062bd84a 835 [ AC_LANG_PUSH(C++)
fe18a9ab 836 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <netdb.h>]],
837 [[gethostbyname_r("", 0, 0);]])],
98db1361 838 [libjava_cv_gethostbyname_r_needs_reentrant=no], [dnl
839 CPPFLAGS_SAVE="$CPPFLAGS"
840 CPPFLAGS="$CPPFLAGS -D_REENTRANT"
fe18a9ab 841 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <netdb.h>]], [[gethostbyname_r("", 0, 0);]])],
98db1361 842 [libjava_cv_gethostbyname_r_needs_reentrant=yes],
843 [libjava_cv_gethostbyname_r_needs_reentrant=fail])
844 CPPFLAGS="$CPPFLAGS_SAVE"
845 ])
062bd84a 846 AC_LANG_POP(C++)
98db1361 847 ])
848 if test "x$libjava_cv_gethostbyname_r_needs_reentrant" = xyes; then
3361983d 849 AC_DEFINE(_REENTRANT, 1, [Required define if using POSIX threads])
98db1361 850 fi
851 ;;
852 esac
853
854 AC_CACHE_CHECK([for struct hostent_data],
855 [libjava_cv_struct_hostent_data], [dnl
fe18a9ab 856 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
98db1361 857#if GETHOSTBYNAME_R_NEEDS_REENTRANT && !defined(_REENTRANT)
858# define _REENTRANT 1
859#endif
fe18a9ab 860#include <netdb.h>]], [[struct hostent_data data;]])],
98db1361 861 [libjava_cv_struct_hostent_data=yes],
862 [libjava_cv_struct_hostent_data=no])])
863 if test "x$libjava_cv_struct_hostent_data" = xyes; then
864 AC_DEFINE(HAVE_STRUCT_HOSTENT_DATA, 1,
865 [Define if struct hostent_data is defined in netdb.h])
866 fi
867 ])
2c60951b 868
429f8d68 869 # FIXME: libjava source code expects to find a prototype for
870 # gethostbyaddr_r in netdb.h. The outer check ensures that
871 # HAVE_GETHOSTBYADDR_R will not be defined if the prototype fails
872 # to exist where expected. (The root issue: AC_CHECK_FUNCS assumes C
873 # linkage check is enough, yet C++ code requires proper prototypes.)
874 AC_EGREP_HEADER(gethostbyaddr_r, netdb.h, [
2c60951b 875 AC_CHECK_FUNCS(gethostbyaddr_r, [
9a65690f 876 AC_DEFINE(HAVE_GETHOSTBYADDR_R, 1,
877 [Define if you have the 'gethostbyaddr_r' function.])
2c60951b 878 # There are two different kinds of gethostbyaddr_r.
879 # We look for the one that returns `int'.
880 # Hopefully this check is robust enough.
881 AC_EGREP_HEADER(int.*gethostbyaddr_r, netdb.h, [
9a65690f 882 AC_DEFINE(GETHOSTBYADDR_R_RETURNS_INT, 1,
883 [Define if gethostbyaddr_r returns 'int'.])])])])
2c60951b 884
885 AC_CHECK_FUNCS(gethostname, [
9a65690f 886 AC_DEFINE(HAVE_GETHOSTNAME, 1,
887 [Define if you have the 'gethostname' function.])
2c60951b 888 AC_EGREP_HEADER(gethostname, unistd.h, [
9a65690f 889 AC_DEFINE(HAVE_GETHOSTNAME_DECL, 1,
890 [Define if gethostname is declared in <unistd.h>.])])])
2c60951b 891
fa0e80a6 892 AC_CHECK_FUNCS(usleep, [
893 AC_EGREP_HEADER(usleep, unistd.h, [
9a65690f 894 AC_DEFINE(HAVE_USLEEP_DECL, 1,
895 [Define if usleep is declared in <unistd.h>.])])])
fa0e80a6 896
79afc37d 897 # Look for these functions in the thread library, but only bother
898 # if using POSIX threads.
899 if test "$THREADS" = posix; then
900 save_LIBS="$LIBS"
901 LIBS="$LIBS $THREADLIBS"
902 # Some POSIX thread systems don't have pthread_mutexattr_settype.
903 # E.g., Solaris.
904 AC_CHECK_FUNCS(pthread_mutexattr_settype pthread_mutexattr_setkind_np)
905
906 # Look for sched_yield. Up to Solaris 2.6, it is in libposix4, since
907 # Solaris 7 the name librt is preferred.
908 AC_CHECK_FUNCS(sched_yield, , [
909 AC_CHECK_LIB(rt, sched_yield, [
910 AC_DEFINE(HAVE_SCHED_YIELD)
911 THREADLIBS="$THREADLIBS -lrt"
263515a1 912 THREADSPEC="$THREADSPEC -lrt"], [
79afc37d 913 AC_CHECK_LIB(posix4, sched_yield, [
914 AC_DEFINE(HAVE_SCHED_YIELD)
915 THREADLIBS="$THREADLIBS -lposix4"
263515a1 916 THREADSPEC="$THREADSPEC -lposix4"])])])
79afc37d 917 LIBS="$save_LIBS"
918
919 # We can save a little space at runtime if the mutex has m_count
920 # or __m_count. This is a nice hack for Linux.
fe18a9ab 921 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <pthread.h>]], [[
79afc37d 922 extern pthread_mutex_t *mutex; int q = mutex->m_count;
fe18a9ab 923 ]])], AC_DEFINE(PTHREAD_MUTEX_HAVE_M_COUNT, 1,
9a65690f 924 [Define if pthread_mutex_t has m_count member.]), [
fe18a9ab 925 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <pthread.h>]], [[
79afc37d 926 extern pthread_mutex_t *mutex; int q = mutex->__m_count;
fe18a9ab 927 ]])], AC_DEFINE(PTHREAD_MUTEX_HAVE___M_COUNT, 1,
9a65690f 928 [Define if pthread_mutex_t has __m_count member.]))])
79afc37d 929 fi
2c60951b 930
931 # We require a way to get the time.
932 time_found=no
933 AC_CHECK_FUNCS(gettimeofday time ftime, time_found=yes)
934 if test "$time_found" = no; then
935 AC_MSG_ERROR([no function found to get the time])
936 fi
937
6c4352ac 938 AC_CHECK_FUNCS(memmove)
2c60951b 939
940 # We require memcpy.
941 memcpy_found=no
942 AC_CHECK_FUNCS(memcpy, memcpy_found=yes)
943 if test "$memcpy_found" = no; then
944 AC_MSG_ERROR([memcpy is required])
945 fi
946
ce958f0e 947 AC_CHECK_LIB(dl, dlopen, [
948 AC_DEFINE(HAVE_DLOPEN, 1, [Define if dlopen is available])])
59b13f6a 949
b152bc66 950 # Some library-finding code we stole from Tcl.
951 #--------------------------------------------------------------------
952 # Check for the existence of the -lsocket and -lnsl libraries.
953 # The order here is important, so that they end up in the right
954 # order in the command line generated by make. Here are some
955 # special considerations:
956 # 1. Use "connect" and "accept" to check for -lsocket, and
957 # "gethostbyname" to check for -lnsl.
958 # 2. Use each function name only once: can't redo a check because
959 # autoconf caches the results of the last check and won't redo it.
960 # 3. Use -lnsl and -lsocket only if they supply procedures that
961 # aren't already present in the normal libraries. This is because
962 # IRIX 5.2 has libraries, but they aren't needed and they're
963 # bogus: they goof up name resolution if used.
964 # 4. On some SVR4 systems, can't use -lsocket without -lnsl too.
965 # To get around this problem, check for both libraries together
966 # if -lsocket doesn't work by itself.
967 #--------------------------------------------------------------------
968
969 AC_CACHE_CHECK([for socket libraries], gcj_cv_lib_sockets,
970 [gcj_cv_lib_sockets=
971 gcj_checkBoth=0
972 unset ac_cv_func_connect
973 AC_CHECK_FUNC(connect, gcj_checkSocket=0, gcj_checkSocket=1)
974 if test "$gcj_checkSocket" = 1; then
975 unset ac_cv_func_connect
976 AC_CHECK_LIB(socket, main, gcj_cv_lib_sockets="-lsocket",
977 gcj_checkBoth=1)
978 fi
979 if test "$gcj_checkBoth" = 1; then
980 gcj_oldLibs=$LIBS
981 LIBS="$LIBS -lsocket -lnsl"
982 unset ac_cv_func_accept
983 AC_CHECK_FUNC(accept,
984 [gcj_checkNsl=0
985 gcj_cv_lib_sockets="-lsocket -lnsl"])
986 unset ac_cv_func_accept
987 LIBS=$gcj_oldLibs
988 fi
989 unset ac_cv_func_gethostbyname
990 gcj_oldLibs=$LIBS
991 LIBS="$LIBS $gcj_cv_lib_sockets"
992 AC_CHECK_FUNC(gethostbyname, ,
993 [AC_CHECK_LIB(nsl, main,
994 [gcj_cv_lib_sockets="$gcj_cv_lib_sockets -lnsl"])])
995 unset ac_cv_func_gethostbyname
996 LIBS=$gcj_oldLIBS
997 ])
998 SYSTEMSPEC="$SYSTEMSPEC $gcj_cv_lib_sockets"
999
1000 if test "$with_system_zlib" = yes; then
9d0a2dd5 1001 AC_CHECK_LIB(z, deflate, ZLIBSPEC=-lz, ZLIBSPEC=)
b152bc66 1002 fi
1003
f5699769 1004 # Test for Gtk stuff, if asked for.
1005 if test "$use_gtk_awt" = yes; then
c27fc770 1006 PKG_CHECK_MODULES(GTK, gtk+-2.0 >= 2.4)
bb366ae6 1007 AC_SUBST(GTK_CFLAGS)
1008 AC_SUBST(GTK_LIBS)
1009
c27fc770 1010 PKG_CHECK_MODULES(GLIB, glib-2.0 >= 2.4 gthread-2.0 >= 2.4)
196c888f 1011 AC_SUBST(GLIB_CFLAGS)
1012 AC_SUBST(GLIB_LIBS)
1013
bb366ae6 1014 PKG_CHECK_MODULES(LIBART, libart-2.0 >= 2.1)
1015 AC_SUBST(LIBART_CFLAGS)
1016 AC_SUBST(LIBART_LIBS)
f5699769 1017 fi
1018
ce4985da 1019 # On Solaris, and maybe other architectures, the Boehm collector
1020 # requires -ldl.
1021 if test "$GC" = boehm; then
1022 AC_CHECK_LIB(dl, main, SYSTEMSPEC="$SYSTEMSPEC -ldl")
1023 fi
df731bb1 1024fi
e6312df0 1025AM_CONDITIONAL(SUPPLY_BACKTRACE, test "$supply_backtrace" = yes)
ce4985da 1026
df731bb1 1027if test -z "${with_multisubdir}"; then
1028 builddotdot=.
1029else
b8f1ed38 1030 builddotdot=`echo ${with_multisubdir} | sed -e 's:[[^/]][[^/]]*:..:g'`
18985956 1031fi
1032
3328e66f 1033NATIVE=yes
1034
18985956 1035# Which gcj do we use?
1036which_gcj=default
1037built_gcc_dir="`cd ${builddotdot}/../../gcc && ${PWDCMD-pwd}`"
1038if test -n "${with_cross_host}"; then
1039 # We are being configured with a cross compiler. We can't
1040 # use ac_exeext, because that is for the target platform.
1041 NATIVE=no
1042 cross_host_exeext=
1043 case "${with_cross_host}" in
1044 *mingw* | *cygwin*)
1045 cross_host_exeext=.exe
1046 ;;
1047 esac
1048 if test -x "${built_gcc_dir}/gcj${cross_host_exeext}"; then
304f602d 1049 if test x"$build_noncanonical" = x"$with_cross_host"; then
18985956 1050 # Ordinary cross (host!=target and host=build)
1051 which_gcj=built
1052 else
1053 # Canadian cross (host!=target and host!=build)
1054 which_gcj=cross
1055 fi
1056 else
1057 which_gcj=cross
1058 fi
1059else
1060 # We are being configured with a native or crossed-native compiler
1061 if test -x "${built_gcc_dir}/gcj${ac_exeext}"; then
1062 if test x"$build" = x"$host"; then
1063 # True native build (host=target and host=build)
1064 which_gcj=built
1065 else
1066 # Crossed-native build (host=target and host!=build)
1067 which_gcj=cross
1068 fi
1069 else
1070 which_gcj=path
1071 fi
1072fi
1073case "${which_gcj}" in
1074 built)
1075 GCJ="$built_gcc_dir/gcj -B`${PWDCMD-pwd}`/ -B$built_gcc_dir/"
3d64df79 1076 GCJH='$(MULTIBUILDTOP)../$(COMPPATH)/gcc/gcjh'
f8d61150 1077 ZIP='$(MULTIBUILDTOP)../$(COMPPATH)/fastjar/fastjar'
18985956 1078 ;;
1079 cross)
18985956 1080 if test "x${with_newlib}" = "xyes"; then
1081 # FIXME (comment): Why is this needed?
1082 GCC_UNWIND_INCLUDE=
56e89c85 1083 GCJ="${target_noncanonical}-gcj"
18985956 1084 else
56e89c85 1085 GCJ="${target_noncanonical}-gcj -B`${PWDCMD-pwd}`/"
18985956 1086 fi
3d64df79 1087 ZIP=jar
1088 GCJH='$(target_noncanonical)-gcjh'
18985956 1089 ;;
1090 path)
3354d061 1091 GCJ="gcj -B`${PWDCMD-pwd}`/"
3328e66f 1092 ## In this case, gcj is found outside the build tree. However, zip is
1093 ## found in the build tree.
f8d61150 1094 ZIP='$(MULTIBUILDTOP)../$(COMPPATH)/fastjar/fastjar'
3d64df79 1095 GCJH=gcjh
18985956 1096 ;;
1097esac
2c60951b 1098
88a09153 1099AC_SUBST(GCJH)
1100AC_SUBST(ZIP)
1101
374d695e 1102# Create it, so that compile/link tests don't fail
1103test -f libgcj.spec || touch libgcj.spec
374d695e 1104
931e0b42 1105# We must search the source tree for java.lang, since we still don't
1106# have libgcj.jar nor java/lang/*.class
1107GCJ_SAVE_CPPFLAGS=$CPPFLAGS
3354d061 1108CPPFLAGS="$CPPFLAGS -I`${PWDCMD-pwd}` -I`cd $srcdir && ${PWDCMD-pwd}`"
931e0b42 1109
1110# Since some classes depend on this one, we need its source available
1111# before we can do any GCJ compilation test :-(
1112if test ! -f gnu/classpath/Configuration.java; then
1113 test -d gnu || mkdir gnu
1114 test -d gnu/classpath || mkdir gnu/classpath
f5699769 1115 sed -e 's,@LIBGCJDEBUG@,$LIBGCJDEBUG,' \
1116 -e 's,@TOOLKIT@,$TOOLKIT,' \
931e0b42 1117 < $srcdir/gnu/classpath/Configuration.java.in \
1118 > gnu/classpath/Configuration.java
1119 # We do not want to redirect the output of the grep below to /dev/null,
1120 # but we add /dev/null to the input list so that grep will print the
1121 # filename of Configuration.java in case it finds any matches.
1122 if grep @ gnu/classpath/Configuration.java /dev/null; then
9620285e 1123 AC_MSG_ERROR([configure.ac is missing the substitutions above])
931e0b42 1124 fi
1125fi
1126
374d695e 1127LT_AC_PROG_GCJ
1128
931e0b42 1129CPPFLAGS=$GCJ_SAVE_CPPFLAGS
1130
2a8dfff3 1131AC_COMPILE_CHECK_SIZEOF(void *)
02ddd4c0 1132
e8368dac 1133AC_C_BIGENDIAN_CROSS
1134
b152bc66 1135ZLIBS=
9d0a2dd5 1136SYS_ZLIBS=
0ccf4cda 1137ZINCS=
9d0a2dd5 1138
1139if test -z "$ZLIBSPEC"; then
1140 # Use zlib from the GCC tree.
0ccf4cda 1141 ZINCS='-I$(top_srcdir)/../zlib'
9d0a2dd5 1142 ZLIBS=../zlib/libzgcj_convenience.la
b152bc66 1143else
9d0a2dd5 1144 # System's zlib.
1145 SYS_ZLIBS="$ZLIBSPEC"
b152bc66 1146fi
1147AC_SUBST(ZLIBS)
9d0a2dd5 1148AC_SUBST(SYS_ZLIBS)
0ccf4cda 1149AC_SUBST(ZINCS)
d51d9b79 1150AC_SUBST(DIVIDESPEC)
1096416e 1151AC_SUBST(CHECKREFSPEC)
664e11b6 1152AC_SUBST(EXCEPTIONSPEC)
4988d4f9 1153AC_SUBST(IEEESPEC)
b152bc66 1154
88a09153 1155AM_CONDITIONAL(NATIVE, test "$NATIVE" = yes)
1fa5d7a0 1156AM_CONDITIONAL(NEEDS_DATA_START, test "$NEEDS_DATA_START" = yes && test "$NATIVE" = yes)
df4b504c 1157AC_SUBST(GCC_UNWIND_INCLUDE)
2c60951b 1158
ddc2ed1a 1159# Process the option "--enable-version-specific-runtime-libs"
1160# Calculate toolexeclibdir
1161case ${version_specific_libs} in
1162 yes)
1163 # Need the gcc compiler version to know where to install libraries
1164 # and header files if --enable-version-specific-runtime-libs option
1165 # is selected.
56e89c85 1166 includedir='${libdir}/gcc/${target_noncanonical}/'$gcc_version/include/
1167 toolexecdir='$(libdir)/gcc/$(target_noncanonical)'
ddc2ed1a 1168 toolexecmainlibdir='$(toolexecdir)/'${gcc_version}'$(MULTISUBDIR)'
1169 toolexeclibdir=$toolexecmainlibdir
1170 ;;
1171 no)
1172 if test -n "$with_cross_host" &&
1173 test x"$with_cross_host" != x"no"; then
1174 # Install a library built with a cross compiler in tooldir, not libdir.
56e89c85 1175 toolexecdir='$(exec_prefix)/$(target_noncanonical)'
ddc2ed1a 1176 toolexecmainlibdir='$(toolexecdir)/lib'
1177 else
56e89c85 1178 toolexecdir='$(libdir)/gcc-lib/$(target_noncanonical)'
ddc2ed1a 1179 toolexecmainlibdir='$(libdir)'
1180 fi
1181 multi_os_directory=`$CC -print-multi-os-directory`
1182 case $multi_os_directory in
1183 .) toolexeclibdir=$toolexecmainlibdir ;; # Avoid trailing /.
1184 *) toolexeclibdir=$toolexecmainlibdir/$multi_os_directory ;;
1185 esac
1186 ;;
777bb3dc 1187esac
2c90f017 1188AC_SUBST(toolexecdir)
1189AC_SUBST(toolexecmainlibdir)
1190AC_SUBST(toolexeclibdir)
1191
c6fb3b83 1192# Determine gcj version number.
b8f1ed38 1193gcjversion=`$GCJ -v 2>&1 | sed -n 's/^.*version \([[^ ]]*\).*$/\1/p'`
c6fb3b83 1194GCJVERSION=$gcjversion
1195AC_SUBST(GCJVERSION)
1196AC_DEFINE_UNQUOTED(GCJVERSION, "$GCJVERSION", [Short GCJ version ID])
1197
b8f1ed38 1198# We check for sys/filio.h because Solaris 2.5 defines FIONREAD there.
1199# On that system, sys/ioctl.h will not include sys/filio.h unless
1200# BSD_COMP is defined; just including sys/filio.h is simpler.
f53d042e 1201AC_CHECK_HEADERS(unistd.h bstring.h sys/time.h sys/types.h fcntl.h sys/ioctl.h sys/filio.h sys/stat.h sys/select.h sys/socket.h netinet/in.h arpa/inet.h netdb.h net/if.h pwd.h sys/config.h stdint.h langinfo.h locale.h)
b8f1ed38 1202# We avoid AC_HEADER_DIRENT since we really only care about dirent.h
1203# for now. If you change this, you also must update natFile.cc.
2c60951b 1204AC_CHECK_HEADERS(dirent.h)
ce958f0e 1205AC_CHECK_HEADERS(inttypes.h, [
1206 AC_DEFINE(HAVE_INTTYPES_H, 1, [Define if <inttypes.h> is available])
1207 AC_DEFINE(JV_HAVE_INTTYPES_H, 1, [Define if <inttypes.h> is available])
1208])
d1029084 1209AC_HEADER_SYS_WAIT
2c60951b 1210
751e2040 1211AC_CHECK_TYPE([ssize_t], [int])
2e49169d 1212
1213AC_MSG_CHECKING([for in_addr_t])
fe18a9ab 1214AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h>
2e49169d 1215#if STDC_HEADERS
1216#include <stdlib.h>
1217#include <stddef.h>
1218#endif
1219#if HAVE_NETINET_IN_H
1220#include <netinet/in.h>
fe18a9ab 1221#endif]], [[in_addr_t foo;]])],
9a65690f 1222 [AC_DEFINE(HAVE_IN_ADDR_T, 1,
1223 [Define to 1 if 'in_addr_t' is defined in sys/types.h or netinet/in.h.])
2e49169d 1224 AC_MSG_RESULT(yes)],
1225 [AC_MSG_RESULT(no)])
1226
1227AC_MSG_CHECKING([whether struct ip_mreq is in netinet/in.h])
fe18a9ab 1228AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <netinet/in.h>]], [[struct ip_mreq mreq;]])],
9a65690f 1229 [AC_DEFINE(HAVE_STRUCT_IP_MREQ, 1,
1230 [Define if struct ip_mreq is defined in netinet/in.h.])
2e49169d 1231 AC_MSG_RESULT(yes)],
1232 [AC_MSG_RESULT(no)])
751e2040 1233
2926d140 1234AC_MSG_CHECKING([whether struct ipv6_mreq is in netinet/in.h])
fe18a9ab 1235AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <netinet/in.h>]], [[struct ipv6_mreq mreq6;]])],
9a65690f 1236 [AC_DEFINE(HAVE_STRUCT_IPV6_MREQ, 1,
1237 [Define if struct ipv6_mreq is defined in netinet/in.h.])
2926d140 1238 AC_MSG_RESULT(yes)],
1239 [AC_MSG_RESULT(no)])
1240
2c60951b 1241AC_MSG_CHECKING([whether struct sockaddr_in6 is in netinet/in.h])
fe18a9ab 1242AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <netinet/in.h>]], [[struct sockaddr_in6 addr6;]])],
9a65690f 1243 [AC_DEFINE(HAVE_INET6, 1,
1244 [Define if inet6 structures are defined in netinet/in.h.])
2c60951b 1245 AC_MSG_RESULT(yes)],
1246 [AC_MSG_RESULT(no)])
1247
1248AC_MSG_CHECKING([for socklen_t in sys/socket.h])
fe18a9ab 1249AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#define _POSIX_PII_SOCKET
2926d140 1250#include <sys/types.h>
fe18a9ab 1251#include <sys/socket.h>]], [[socklen_t x = 5;]])],
9a65690f 1252 [AC_DEFINE(HAVE_SOCKLEN_T, 1, [Define it socklen_t typedef is in sys/socket.h.])
2c60951b 1253 AC_MSG_RESULT(yes)],
1254 [AC_MSG_RESULT(no)])
1255
1256AC_MSG_CHECKING([for tm_gmtoff in struct tm])
fe18a9ab 1257AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <time.h>]], [[struct tm tim; tim.tm_gmtoff = 0;]])],
9a65690f 1258 [AC_DEFINE(STRUCT_TM_HAS_GMTOFF, 1, [Define if struct tm has tm_gmtoff field.])
2c60951b 1259 AC_MSG_RESULT(yes)],
1260 [AC_MSG_RESULT(no)
1261 AC_MSG_CHECKING([for global timezone variable])
1262 dnl FIXME: we don't want a link check here because that won't work
1263 dnl when cross-compiling. So instead we make an assumption that
1264 dnl the header file will mention timezone if it exists.
ee12f7ca 1265 dnl Don't find the win32 function timezone
fe18a9ab 1266 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <time.h>]], [[void i(){long z2 = 2*timezone;}]])],
9a65690f 1267 [AC_DEFINE(HAVE_TIMEZONE, 1, [Define if global 'timezone' exists.])
2c60951b 1268 AC_MSG_RESULT(yes)],
ee12f7ca 1269 [AC_MSG_RESULT(no)
1270 AC_MSG_CHECKING([for global _timezone variable])
1271 dnl FIXME: As above, don't want link check
fe18a9ab 1272 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <time.h>]], [[long z2 = _timezone;]])],
9a65690f 1273 [AC_DEFINE(HAVE_UNDERSCORE_TIMEZONE, 1,
1274 [Define if your platform has the global _timezone variable.])
ee12f7ca 1275 AC_MSG_RESULT(yes)],
1276 [AC_MSG_RESULT(no)])])])
2c60951b 1277
1278AC_FUNC_ALLOCA
c3dac771 1279AC_FUNC_MMAP
2c60951b 1280
1281AC_CHECK_PROGS(PERL, perl, false)
1282
51acace4 1283SYSDEP_SOURCES=
a4fe931d 1284SIGNAL_HANDLER_AUX=
51acace4 1285
1286case "${host}" in
1287 i?86-*-linux*)
1288 SIGNAL_HANDLER=include/i386-signal.h
1289 ;;
d1c27e26 1290 sparc*-sun-solaris*)
51acace4 1291 SIGNAL_HANDLER=include/sparc-signal.h
1292 ;;
51c637df 1293# ia64-*)
1294# SYSDEP_SOURCES=sysdep/ia64.c
1295# test -d sysdep || mkdir sysdep
1296# ;;
7d054731 1297 hppa*-*-linux*)
1298 SIGNAL_HANDLER=include/pa-signal.h
1299 ;;
8ca5c49a 1300 ia64-*-linux*)
1301 SIGNAL_HANDLER=include/dwarf2-signal.h
1302 ;;
a4fe931d 1303 powerpc*-*-linux*)
01735ec5 1304 SIGNAL_HANDLER=include/powerpc-signal.h
69984bfd 1305 ;;
6b48665a 1306 alpha*-*-linux*)
1307 SIGNAL_HANDLER=include/dwarf2-signal.h
1308 ;;
34121701 1309 s390*-*-linux*)
1310 SIGNAL_HANDLER=include/s390-signal.h
1311 ;;
662f850f 1312 x86_64*-*-linux*)
4e1fff64 1313 SIGNAL_HANDLER=include/x86_64-signal.h
a4fe931d 1314 SIGNAL_HANDLER_AUX=include/i386-signal.h
662f850f 1315 ;;
d1c27e26 1316 sparc*-*-linux*)
1317 SIGNAL_HANDLER=include/dwarf2-signal.h
1318 ;;
e9a82df9 1319 sh*-*-linux*)
1320 SIGNAL_HANDLER=include/sh-signal.h
805e22b2 1321 ;;
fd8011b8 1322 *mingw*)
f506f7e6 1323 SIGNAL_HANDLER=include/win32-signal.h
1324 ;;
5f63cb3e 1325 mips*-*-linux*)
1326 SIGNAL_HANDLER=include/mips-signal.h
1327 ;;
60ea93bb 1328 *-*-darwin*)
1329 SIGNAL_HANDLER=include/darwin-signal.h
1330 ;;
51acace4 1331 *)
1332 SIGNAL_HANDLER=include/default-signal.h
1333 ;;
1334esac
1335
1336# If we're using sjlj exceptions, forget what we just learned.
6b48665a 1337if test "$enable_sjlj_exceptions" = yes; then
0b324007 1338 SIGNAL_HANDLER=include/default-signal.h
a4fe931d 1339 SIGNAL_HANDLER_AUX=
0b324007 1340fi
83041095 1341
02fff0c9 1342# Define here any compiler flags that you need in order to make backtrace() work.
1343BACKTRACESPEC=
1344case "${host}" in
ec240e23 1345 x86_64*-*-linux*|i?86-*)
02fff0c9 1346 BACKTRACESPEC=-fno-omit-frame-pointer
1347 ;;
1348esac
1349AC_SUBST(BACKTRACESPEC)
1350
51acace4 1351AC_SUBST(SYSDEP_SOURCES)
1352
a4fe931d 1353if test -z "$SIGNAL_HANDLER_AUX"; then
1354 SIGNAL_HANDLER_AUX=$SIGNAL_HANDLER
1355fi
1356
d5fa04e9 1357AC_CONFIG_LINKS(include/java-signal.h:$SIGNAL_HANDLER
1358 include/java-signal-aux.h:$SIGNAL_HANDLER_AUX)
83041095 1359
2c60951b 1360if test "${multilib}" = "yes"; then
1361 multilib_arg="--enable-multilib"
1362else
1363 multilib_arg=
1364fi
1365
766714ce 1366
e2d342df 1367
3354d061 1368here=`${PWDCMD-pwd}`
2c60951b 1369AC_SUBST(here)
1370
48e89162 1371# We get this from the environment.
1372AC_SUBST(GCJFLAGS)
e5fd56db 1373
062bd84a 1374AC_CONFIG_FILES([
1375Makefile
1376libgcj.pc
1377libgcj.spec
1378libgcj-test.spec
1379gnu/classpath/Configuration.java
1380gcj/Makefile
1381include/Makefile
1382testsuite/Makefile
1383])
1384
1385AC_CONFIG_COMMANDS([default],
38e8a8c6 1386[# Only add multilib support code if we just rebuilt top-level Makefile.
1387case " $CONFIG_FILES " in
1388 *" Makefile "*)
0b045cf7 1389 LD="${ORIGINAL_LD_FOR_MULTILIBS}"
38e8a8c6 1390 ac_file=Makefile . ${libgcj_basedir}/../config-ml.in
1391 ;;
1392esac
e5fd56db 1393],
2c60951b 1394srcdir=${srcdir}
1395host=${host}
1396target=${target}
1397with_multisubdir=${with_multisubdir}
1398ac_configure_args="${multilib_arg} ${ac_configure_args}"
1399CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
1400libgcj_basedir=${libgcj_basedir}
1401CC="${CC}"
1402CXX="${CXX}"
e4e6363f 1403ORIGINAL_LD_FOR_MULTILIBS="${ORIGINAL_LD_FOR_MULTILIBS}"
2c60951b 1404)
062bd84a 1405
1406AC_OUTPUT