OSDN Git Service

Remove V2 C++ library.
[pf3gnuchains/gcc-fork.git] / gcc / configure.in
1 # configure.in for GNU CC
2 # Process this file with autoconf to generate a configuration script.
3
4 # Copyright (C) 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
5
6 #This file is part of GNU CC.
7
8 #GNU CC is free software; you can redistribute it and/or modify
9 #it under the terms of the GNU General Public License as published by
10 #the Free Software Foundation; either version 2, or (at your option)
11 #any later version.
12
13 #GNU CC is distributed in the hope that it will be useful,
14 #but WITHOUT ANY WARRANTY; without even the implied warranty of
15 #MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16 #GNU General Public License for more details.
17
18 #You should have received a copy of the GNU General Public License
19 #along with GNU CC; see the file COPYING.  If not, write to
20 #the Free Software Foundation, 59 Temple Place - Suite 330,
21 #Boston, MA 02111-1307, USA.
22
23 # Initialization and defaults
24 AC_PREREQ(2.13)
25 AC_INIT(tree.c)
26 AC_CONFIG_HEADER(auto-host.h:config.in)
27
28 remove=rm
29 hard_link=ln
30 symbolic_link='ln -s'
31 copy=cp
32
33 # Check for bogus environment variables.
34 # Test if LIBRARY_PATH contains the notation for the current directory
35 # since this would lead to problems installing/building glibc.
36 # LIBRARY_PATH contains the current directory if one of the following
37 # is true:
38 # - one of the terminals (":" and ";") is the first or last sign
39 # - two terminals occur directly after each other
40 # - the path contains an element with a dot in it
41 AC_MSG_CHECKING(LIBRARY_PATH variable)
42 changequote(,)dnl
43 case ${LIBRARY_PATH} in
44   [:\;]* | *[:\;] | *[:\;][:\;]* |  *[:\;]. | .[:\;]*| . | *[:\;].[:\;]* )
45     library_path_setting="contains current directory"
46     ;;
47   *)
48     library_path_setting="ok"
49     ;;
50 esac
51 changequote([,])dnl
52 AC_MSG_RESULT($library_path_setting)
53 if test "$library_path_setting" != "ok"; then
54 AC_MSG_ERROR([
55 *** LIBRARY_PATH shouldn't contain the current directory when
56 *** building gcc. Please change the environment variable
57 *** and run configure again.])
58 fi
59
60 # Test if GCC_EXEC_PREFIX contains the notation for the current directory
61 # since this would lead to problems installing/building glibc.
62 # GCC_EXEC_PREFIX contains the current directory if one of the following
63 # is true:
64 # - one of the terminals (":" and ";") is the first or last sign
65 # - two terminals occur directly after each other
66 # - the path contains an element with a dot in it
67 AC_MSG_CHECKING(GCC_EXEC_PREFIX variable)
68 changequote(,)dnl
69 case ${GCC_EXEC_PREFIX} in
70   [:\;]* | *[:\;] | *[:\;][:\;]* |  *[:\;]. | .[:\;]*| . | *[:\;].[:\;]* )
71     gcc_exec_prefix_setting="contains current directory"
72     ;;
73   *)
74     gcc_exec_prefix_setting="ok"
75     ;;
76 esac
77 changequote([,])dnl
78 AC_MSG_RESULT($gcc_exec_prefix_setting)
79 if test "$gcc_exec_prefix_setting" != "ok"; then
80 AC_MSG_ERROR([
81 *** GCC_EXEC_PREFIX shouldn't contain the current directory when
82 *** building gcc. Please change the environment variable
83 *** and run configure again.])
84 fi
85
86 # Check for additional parameters
87
88 # With GNU ld
89 AC_ARG_WITH(gnu-ld,
90 [  --with-gnu-ld           arrange to work with GNU ld.],
91 gnu_ld_flag="$with_gnu_ld",
92 gnu_ld_flag=no)
93
94 # With pre-defined ld
95 AC_ARG_WITH(ld,
96 [  --with-ld               arrange to use the specified ld (full pathname).],
97 DEFAULT_LINKER="$with_ld")
98 if test x"${DEFAULT_LINKER+set}" = x"set"; then
99   if test ! -x "$DEFAULT_LINKER"; then
100     AC_MSG_WARN([cannot execute: $DEFAULT_LINKER: check --with-ld or env. var. DEFAULT_LINKER])
101   elif $DEFAULT_LINKER -v < /dev/null 2>&1 | grep GNU > /dev/null; then
102     gnu_ld_flag=yes
103   fi
104   AC_DEFINE_UNQUOTED(DEFAULT_LINKER,"$DEFAULT_LINKER",
105         [Define to enable the use of a default linker.])
106 fi
107
108 # With GNU as
109 AC_ARG_WITH(gnu-as,
110 [  --with-gnu-as           arrange to work with GNU as.],
111 gas_flag="$with_gnu_as",
112 gas_flag=no)
113
114 AC_ARG_WITH(as,
115 [  --with-as               arrange to use the specified as (full pathname).],
116 DEFAULT_ASSEMBLER="$with_as")
117 if test x"${DEFAULT_ASSEMBLER+set}" = x"set"; then
118   if test ! -x "$DEFAULT_ASSEMBLER"; then
119     AC_MSG_WARN([cannot execute: $DEFAULT_ASSEMBLER: check --with-as or env. var. DEFAULT_ASSEMBLER])
120   elif $DEFAULT_ASSEMBLER -v < /dev/null 2>&1 | grep GNU > /dev/null; then
121     gas_flag=yes
122   fi
123   AC_DEFINE_UNQUOTED(DEFAULT_ASSEMBLER,"$DEFAULT_ASSEMBLER",
124         [Define to enable the use of a default assembler.])
125 fi
126
127 # With stabs
128 AC_ARG_WITH(stabs,
129 [  --with-stabs            arrange to use stabs instead of host debug format.],
130 stabs="$with_stabs",
131 stabs=no)
132
133 # With ELF
134 AC_ARG_WITH(elf,
135 [  --with-elf              arrange to use ELF instead of host debug format.],
136 elf="$with_elf",
137 elf=no)
138
139 # Specify the local prefix
140 local_prefix=
141 AC_ARG_WITH(local-prefix,
142 [  --with-local-prefix=DIR specifies directory to put local include.],
143 [case "${withval}" in
144 yes)    AC_MSG_ERROR(bad value ${withval} given for local include directory prefix) ;;
145 no)     ;;
146 *)      local_prefix=$with_local_prefix ;;
147 esac])
148
149 # Default local prefix if it is empty
150 if test x$local_prefix = x; then
151         local_prefix=/usr/local
152 fi
153
154 # Don't set gcc_gxx_include_dir to gxx_include_dir since that's only
155 # passed in by the toplevel make and thus we'd get different behavior
156 # depending on where we built the sources.
157 gcc_gxx_include_dir=
158 # Specify the g++ header file directory
159 AC_ARG_WITH(gxx-include-dir,
160 [  --with-gxx-include-dir=DIR
161                           specifies directory to put g++ header files.],
162 [case "${withval}" in
163 yes)    AC_MSG_ERROR(bad value ${withval} given for g++ include directory) ;;
164 no)     ;;
165 *)      gcc_gxx_include_dir=$with_gxx_include_dir ;;
166 esac])
167
168 if test x${gcc_gxx_include_dir} = x; then
169   if test x${enable_version_specific_runtime_libs} = xyes; then
170     gcc_gxx_include_dir='${libsubdir}/include/g++'
171   else
172     topsrcdir=${srcdir}/.. . ${srcdir}/../config.if
173 changequote(<<, >>)dnl
174     gcc_gxx_include_dir="\$(libsubdir)/\$(unlibsubdir)/..\`echo \$(exec_prefix) | sed -e 's|^\$(prefix)||' -e 's|/[^/]*|/..|g'\`/include/"${libstdcxx_incdir}
175 changequote([, ])dnl
176   fi
177 fi
178
179 # Enable expensive internal checks
180 AC_ARG_ENABLE(checking,
181 [  --enable-checking[=LIST]
182                           enable expensive run-time checks.  With LIST,
183                           enable only specific categories of checks.
184                           Categories are: misc,tree,rtl,gc,gcac; default
185                           is misc,tree,gc],
186 [ac_checking=
187 ac_tree_checking=
188 ac_rtl_checking=
189 ac_gc_checking=
190 ac_gc_always_collect=
191 case "${enableval}" in
192 yes)    ac_checking=1 ; ac_tree_checking=1 ; ac_gc_checking=1 ;;
193 no)     ;;
194 *)      IFS="${IFS=     }"; ac_save_IFS="$IFS"; IFS="$IFS,"
195         set fnord $enableval; shift
196         IFS="$ac_save_IFS"
197         for check
198         do
199                 case $check in
200                 misc)   ac_checking=1 ;;
201                 tree)   ac_tree_checking=1 ;;
202                 rtl)    ac_rtl_checking=1 ;;
203                 gc)     ac_gc_checking=1 ;;
204                 gcac)   ac_gc_always_collect=1 ;;
205                 *)      AC_MSG_ERROR(unknown check category $check) ;;
206                 esac
207         done
208         ;;
209 esac
210 ], 
211 # Enable some checks by default for development versions of GCC
212 [ac_checking=1; ac_tree_checking=1; ac_gc_checking=1;])
213 if test x$ac_checking != x ; then
214   AC_DEFINE(ENABLE_CHECKING, 1,
215 [Define if you want more run-time sanity checks.  This one gets a grab
216    bag of miscellaneous but relatively cheap checks.])
217 fi
218 if test x$ac_tree_checking != x ; then
219   AC_DEFINE(ENABLE_TREE_CHECKING, 1,
220 [Define if you want all operations on trees (the basic data
221    structure of the front ends) to be checked for dynamic type safety
222    at runtime.  This is moderately expensive.])
223 fi
224 if test x$ac_rtl_checking != x ; then
225   AC_DEFINE(ENABLE_RTL_CHECKING, 1,
226 [Define if you want all operations on RTL (the basic data structure
227    of the optimizer and back end) to be checked for dynamic type safety
228    at runtime.  This is quite expensive.])
229 fi
230 if test x$ac_gc_checking != x ; then
231   AC_DEFINE(ENABLE_GC_CHECKING, 1,
232 [Define if you want the garbage collector to do object poisoning and
233    other memory allocation checks.  This is quite expensive.])
234 fi
235 if test x$ac_gc_always_collect != x ; then
236   AC_DEFINE(ENABLE_GC_ALWAYS_COLLECT, 1,
237 [Define if you want the garbage collector to operate in maximally
238    paranoid mode, validating the entire heap and collecting garbage at
239    every opportunity.  This is extremely expensive.])
240 fi
241
242
243 AC_ARG_ENABLE(cpp,
244 [  --disable-cpp           don't provide a user-visible C preprocessor.],
245 [], [enable_cpp=yes])
246
247 AC_ARG_WITH(cpp_install_dir,
248 [  --with-cpp-install-dir=DIR
249                           install the user visible C preprocessor in DIR
250                           (relative to PREFIX) as well as PREFIX/bin.],
251 [if test x$withval = xyes; then
252   AC_MSG_ERROR([option --with-cpp-install-dir requires an argument])
253 elif test x$withval != xno; then
254   cpp_install_dir=$withval
255 fi])
256
257 # Enable Multibyte Characters for C/C++
258 AC_ARG_ENABLE(c-mbchar,
259 [  --enable-c-mbchar       Enable multibyte characters for C and C++.],
260 if test x$enable_c_mbchar != xno; then
261   AC_DEFINE(MULTIBYTE_CHARS, 1,
262   [Define if you want the C and C++ compilers to support multibyte
263    character sets for source code.])
264 fi)
265   
266 # Enable threads
267 # Pass with no value to take the default
268 # Pass with a value to specify a thread package
269 AC_ARG_ENABLE(threads,
270 [  --enable-threads        enable thread usage for target GCC.
271   --enable-threads=LIB    use LIB thread package for target GCC.],,
272 enable_threads='')
273
274 enable_threads_flag=$enable_threads
275 # Check if a valid thread package
276 case x${enable_threads_flag} in
277         x | xno)
278                 # No threads
279                 target_thread_file='single'
280                 ;;
281         xyes)
282                 # default
283                 target_thread_file=''
284                 ;;
285         xdecosf1 | xirix | xmach | xos2 | xposix | xpthreads | xsingle | \
286         xsolaris | xwin32 | xdce | xvxworks | xaix)
287                 target_thread_file=$enable_threads_flag
288                 ;;
289         *)
290                 echo "$enable_threads is an unknown thread package" 1>&2
291                 exit 1
292                 ;;
293 esac
294
295 AC_ARG_ENABLE(objc-gc,
296 [  --enable-objc-gc       enable the use of Boehm's garbage collector with
297                           the GNU Objective-C runtime.],
298 if test x$enable_objc_gc = xno; then
299         objc_boehm_gc=''
300 else
301         objc_boehm_gc=1
302 fi,
303 objc_boehm_gc='')
304
305 AC_ARG_WITH(dwarf2,
306 [  --with-dwarf2          force the default debug format to be DWARF2.],
307 dwarf2="$with_dwarf2",
308 dwarf2=no)
309
310 AC_ARG_ENABLE(shared,
311 [  --disable-shared       don't provide a shared libgcc.],
312 [], [enable_shared=yes])
313 AC_SUBST(enable_shared)
314
315 # Determine the host, build, and target systems
316 AC_CANONICAL_SYSTEM
317
318 # Find the native compiler
319 AC_PROG_CC
320 AC_PROG_CC_C_O
321 # autoconf is lame and doesn't give us any substitution variable for this.
322 if eval "test \"`echo '$ac_cv_prog_cc_'${ac_cc}_c_o`\" = no"; then
323   NO_MINUS_C_MINUS_O=yes
324 else
325   OUTPUT_OPTION='-o $@'
326 fi
327 AC_SUBST(NO_MINUS_C_MINUS_O)
328 AC_SUBST(OUTPUT_OPTION)
329
330 gcc_AC_C_LONG_DOUBLE
331
332 AC_CACHE_CHECK(whether ${CC-cc} accepts -Wno-long-long,
333 ac_cv_prog_cc_no_long_long,
334 [save_CFLAGS="$CFLAGS"
335 CFLAGS="-Wno-long-long"
336 AC_TRY_COMPILE(,,ac_cv_prog_cc_no_long_long=yes,
337                ac_cv_prog_cc_no_long_long=no)
338 CFLAGS="$save_CFLAGS"])
339 strict1_warn=
340 if test $ac_cv_prog_cc_no_long_long = yes; then
341   strict1_warn="-pedantic -Wno-long-long"
342 fi
343 AC_SUBST(strict1_warn)
344
345 # If the native compiler is GCC, we can enable warnings even in stage1.  
346 # That's useful for people building cross-compilers, or just running a
347 # quick `make'.
348 warn_cflags=
349 if test "x$GCC" = "xyes"; then
350   warn_cflags='$(GCC_WARN_CFLAGS)'
351 fi
352 AC_SUBST(warn_cflags)
353
354 # Stage specific cflags for build.
355 stage1_cflags=
356 case $build in
357 vax-*-*)
358   if test x$GCC = xyes
359   then
360     stage1_cflags="-Wa,-J"
361   else
362     stage1_cflags="-J"
363   fi
364   ;;
365 esac
366 AC_SUBST(stage1_cflags)
367
368 AC_PROG_MAKE_SET
369
370 AC_MSG_CHECKING([whether a default assembler was specified])
371 if test x"${DEFAULT_ASSEMBLER+set}" = x"set"; then
372     if test x"$gas_flag" = x"no"; then
373         AC_MSG_RESULT([yes ($DEFAULT_ASSEMBLER)])
374     else
375         AC_MSG_RESULT([yes ($DEFAULT_ASSEMBLER - GNU as)])
376     fi
377 else
378     AC_MSG_RESULT(no)
379 fi
380
381 AC_MSG_CHECKING([whether a default linker was specified])
382 if test x"${DEFAULT_LINKER+set}" = x"set"; then
383     if test x"$gnu_ld_flag" = x"no"; then
384         AC_MSG_RESULT([yes ($DEFAULT_LINKER)])
385     else
386         AC_MSG_RESULT([yes ($DEFAULT_LINKER - GNU ld)])
387     fi
388 else
389     AC_MSG_RESULT(no)
390 fi
391
392 AC_MSG_CHECKING(for GNU C library)
393 AC_CACHE_VAL(gcc_cv_glibc,
394 [AC_TRY_COMPILE(
395   [#include <features.h>],[
396 #if ! (defined __GLIBC__ || defined __GNU_LIBRARY__)
397 #error Not a GNU C library system
398 #endif], 
399   [gcc_cv_glibc=yes], 
400   gcc_cv_glibc=no)])
401 AC_MSG_RESULT($gcc_cv_glibc)
402 if test $gcc_cv_glibc = yes; then
403   AC_DEFINE(_GNU_SOURCE, 1, [Always define this when using the GNU C Library])
404 fi
405
406 AC_C_INLINE
407
408 # Find some useful tools
409 AC_PROG_AWK
410 gcc_AC_PROG_LN
411 gcc_AC_PROG_LN_S
412 gcc_AC_C_VOLATILE
413 AC_PROG_RANLIB
414 gcc_AC_PROG_INSTALL
415
416 AC_HEADER_STDC
417 AC_HEADER_TIME
418 gcc_AC_HEADER_STRING
419 AC_HEADER_SYS_WAIT
420 AC_CHECK_HEADERS(limits.h stddef.h string.h strings.h stdlib.h time.h \
421                  fcntl.h unistd.h stab.h sys/file.h sys/time.h \
422                  sys/resource.h sys/param.h sys/times.h sys/stat.h \
423                  direct.h malloc.h langinfo.h iconv.h)
424
425 # Check for thread headers.
426 AC_CHECK_HEADER(thread.h, [have_thread_h=yes], [have_thread_h=])
427 AC_CHECK_HEADER(pthread.h, [have_pthread_h=yes], [have_pthread_h=])
428
429 # See if GNAT has been installed
430 AC_CHECK_PROG(gnat, gnatbind, yes, no)
431
432 # See if we have the mktemp command.
433 AC_CHECK_PROG(have_mktemp_command, mktemp, yes, no)
434
435 # Do we have a single-tree copy of texinfo?
436 if test -f $srcdir/../texinfo/Makefile.in; then
437   MAKEINFO='$(objdir)/../texinfo/makeinfo/makeinfo'
438   gcc_cv_prog_makeinfo_modern=yes
439   AC_MSG_RESULT([Using makeinfo from the unified source tree.])
440 else
441   # See if makeinfo has been installed and is modern enough
442   # that we can use it.
443   gcc_AC_CHECK_PROG_VER(MAKEINFO, makeinfo, --version,
444   [GNU texinfo.* \([0-9][0-9.]*\)],
445   [4.*])
446 fi
447
448 if test $gcc_cv_prog_makeinfo_modern = no; then
449   AC_MSG_WARN([
450 *** Makeinfo is missing or too old.
451 *** Info documentation will not be built.])
452   BUILD_INFO=
453 else
454   BUILD_INFO=info               AC_SUBST(BUILD_INFO)
455 fi
456
457 # Is pod2man recent enough to regenerate manpages?
458 AC_MSG_CHECKING([for recent Pod::Man])
459 if perl -e 'use 1.10 Pod::Man' >/dev/null 2>&1; then
460   AC_MSG_RESULT(yes)
461   GENERATED_MANPAGES=generated-manpages         AC_SUBST(GENERATED_MANPAGES)
462 else
463   AC_MSG_RESULT(no)
464   GENERATED_MANPAGES=
465 fi
466
467 # How about lex?
468 dnl Don't use AC_PROG_LEX; we insist on flex.
469 dnl LEXLIB is not useful in gcc.
470 if test -f $srcdir/../flex/skel.c; then
471   FLEX='$(objdir)/../flex/flex'
472 else
473   AC_CHECK_PROG(FLEX, flex, flex, false)
474 fi
475
476 # Bison?
477 # The -L switch is so bison can find its skeleton file.
478 if test -f $srcdir/../bison/bison.simple; then
479   BISON='$(objdir)/../bison/bison -L $(srcdir)/../bison/'
480 else
481   AC_CHECK_PROG(BISON, bison, bison, false)
482 fi
483
484 # See if the stage1 system preprocessor understands the ANSI C
485 # preprocessor stringification operator.
486 AC_C_STRINGIZE
487
488 # Use <inttypes.h> only if it exists,
489 # doesn't clash with <sys/types.h>, and declares intmax_t.
490 AC_MSG_CHECKING(for inttypes.h)
491 AC_CACHE_VAL(gcc_cv_header_inttypes_h,
492 [AC_TRY_COMPILE(
493   [#include <sys/types.h>
494 #include <inttypes.h>],
495   [intmax_t i = -1;],
496   [gcc_cv_header_inttypes_h=yes],
497   gcc_cv_header_inttypes_h=no)])
498 AC_MSG_RESULT($gcc_cv_header_inttypes_h)
499 if test $gcc_cv_header_inttypes_h = yes; then
500   AC_DEFINE(HAVE_INTTYPES_H, 1,
501         [Define if you have a working <inttypes.h> header file.])
502 fi
503
504 #
505 # Determine if enumerated bitfields are unsigned.   ISO C says they can 
506 # be either signed or unsigned.
507 #
508 AC_CACHE_CHECK(for unsigned enumerated bitfields, gcc_cv_enum_bf_unsigned,
509 [AC_TRY_RUN(#include <stdlib.h>
510 enum t { BLAH = 128 } ;
511 struct s_t { enum t member : 8; } s ;
512 int main(void)
513 {            
514         s.member = BLAH;
515         if (s.member < 0) exit(1);
516         exit(0);
517
518 }, gcc_cv_enum_bf_unsigned=yes, gcc_cv_enum_bf_unsigned=no, gcc_cv_enum_bf_unsigned=yes)])
519 if test $gcc_cv_enum_bf_unsigned = yes; then
520   AC_DEFINE(ENUM_BITFIELDS_ARE_UNSIGNED, 1,
521     [Define if enumerated bitfields are treated as unsigned values.])
522 fi
523
524 AC_CHECK_FUNCS(strtoul bsearch putenv popen bcopy \
525         strchr strrchr kill getrlimit setrlimit atoll atoq \
526         sysconf isascii gettimeofday strsignal putc_unlocked fputc_unlocked \
527         fputs_unlocked getrusage iconv nl_langinfo)
528
529 AC_CHECK_TYPE(ssize_t, int)
530
531 # Try to determine the array type of the second argument of getgroups
532 # for the target system (int or gid_t).
533 AC_TYPE_GETGROUPS
534 if test "${target}" = "${build}"; then
535   TARGET_GETGROUPS_T=$ac_cv_type_getgroups
536 else
537   case "${target}" in
538         # This condition may need some tweaking.  It should include all
539         # targets where the array type of the second argument of getgroups
540         # is int and the type of gid_t is not equivalent to int.
541         *-*-sunos* | *-*-ultrix*)
542                 TARGET_GETGROUPS_T=int
543                 ;;
544         *)
545                 TARGET_GETGROUPS_T=gid_t
546                 ;;
547   esac
548 fi
549 AC_SUBST(TARGET_GETGROUPS_T)
550
551 gcc_AC_FUNC_VFPRINTF_DOPRNT
552 gcc_AC_FUNC_STRSTR
553 gcc_AC_FUNC_PRINTF_PTR
554
555 case "${host}" in
556 *-*-uwin*)
557   AC_MSG_ERROR([
558 *** UWIN may not be used as a host platform because
559 *** linking with posix.dll is not allowed by the GNU GPL])
560   ;;
561 esac
562 AC_FUNC_VFORK
563 AC_FUNC_MMAP_ANYWHERE
564 AC_FUNC_MMAP_FILE
565
566 # We will need to find libiberty.h and ansidecl.h
567 saved_CFLAGS="$CFLAGS"
568 CFLAGS="$CFLAGS -I${srcdir} -I${srcdir}/../include"
569 gcc_AC_CHECK_DECLS(bcopy \
570         getenv atol sbrk abort atof getcwd getwd \
571         strsignal putc_unlocked fputs_unlocked strstr environ \
572         malloc realloc calloc free basename getopt, , ,[
573 #include "gansidecl.h"
574 #include "system.h"])
575
576 gcc_AC_CHECK_DECLS(getrlimit setrlimit getrusage, , ,[
577 #include "gansidecl.h"
578 #include "system.h"
579 #ifdef HAVE_SYS_RESOURCE_H
580 #include <sys/resource.h>
581 #endif
582 ])
583
584 # Restore CFLAGS from before the gcc_AC_NEED_DECLARATIONS tests.
585 CFLAGS="$saved_CFLAGS"
586
587 # mkdir takes a single argument on some systems. 
588 gcc_AC_FUNC_MKDIR_TAKES_ONE_ARG
589
590 # File extensions
591 manext='.1'
592 objext='.o'
593 AC_SUBST(manext)
594 AC_SUBST(objext)
595
596 build_xm_file=
597 build_xm_defines=
598 build_install_headers_dir=install-headers-tar
599 build_exeext=
600 host_xm_file=
601 host_xm_defines=
602 host_xmake_file=
603 host_truncate_target=
604 host_exeext=
605
606 # Decode the host machine, then the target machine.
607 # For the host machine, we save the xm_file variable as host_xm_file;
608 # then we decode the target machine and forget everything else
609 # that came from the host machine.
610 for machine in $build $host $target; do
611         . ${srcdir}/config.gcc
612 done
613
614 extra_objs="${host_extra_objs} ${extra_objs}"
615
616 # Default the target-machine variables that were not explicitly set.
617 if test x"$tm_file" = x
618 then tm_file=$cpu_type/$cpu_type.h; fi
619
620 if test x"$extra_headers" = x
621 then extra_headers=; fi
622
623 if test x"$xm_file" = x
624 then xm_file=$cpu_type/xm-$cpu_type.h; fi
625
626 if test x$md_file = x
627 then md_file=$cpu_type/$cpu_type.md; fi
628
629 if test x$out_file = x
630 then out_file=$cpu_type/$cpu_type.c; fi
631
632 if test x"$tmake_file" = x
633 then tmake_file=$cpu_type/t-$cpu_type
634 fi
635
636 if test x"$dwarf2" = xyes
637 then tm_file="$tm_file tm-dwarf2.h"
638 fi
639
640 if test x$float_format = x
641 then float_format=i64
642 fi
643
644 if test $float_format = none
645 then float_h_file=Makefile.in
646 else float_h_file=float-$float_format.h
647 fi
648
649 # Handle cpp installation.
650 if test x$enable_cpp != xno
651 then
652   tmake_file="$tmake_file t-install-cpp"
653 fi
654
655 # Say what files are being used for the output code and MD file.
656 echo "Using \`$srcdir/config/$out_file' to output insns."
657 echo "Using \`$srcdir/config/$md_file' as machine description file."
658
659 count=a
660 for f in $tm_file; do
661         count=${count}x
662 done
663 if test $count = ax; then
664         echo "Using \`$srcdir/config/$tm_file' as target machine macro file."
665 else
666         echo "Using the following target machine macro files:"
667         for f in $tm_file; do
668                 echo "  $srcdir/config/$f"
669         done
670 fi
671
672 count=a
673 for f in $host_xm_file; do
674         count=${count}x
675 done
676 if test $count = ax; then
677         echo "Using \`$srcdir/config/$host_xm_file' as host machine macro file."
678 else
679         echo "Using the following host machine macro files:"
680         for f in $host_xm_file; do
681                 echo "  $srcdir/config/$f"
682         done
683 fi
684
685 if test "$host_xm_file" != "$build_xm_file"; then
686         count=a
687         for f in $build_xm_file; do
688                 count=${count}x
689         done
690         if test $count = ax; then
691                 echo "Using \`$srcdir/config/$build_xm_file' as build machine macro file."
692         else
693                 echo "Using the following build machine macro files:"
694                 for f in $build_xm_file; do
695                         echo "  $srcdir/config/$f"
696                 done
697         fi
698 fi
699
700 if test x$thread_file = x; then
701         if test x$target_thread_file != x; then
702                 thread_file=$target_thread_file
703         else
704                 thread_file='single'
705         fi
706 fi
707
708 # Set up the header files.
709 # $links is the list of header files to create.
710 # $vars is the list of shell variables with file names to include.
711 # auto-host.h is the file containing items generated by autoconf and is
712 # the first file included by config.h.
713 null_defines=
714 host_xm_file="auto-host.h gansidecl.h ${host_xm_file} defaults.h hwint.h"
715
716 # If host=build, it is correct to have hconfig include auto-host.h
717 # as well.  If host!=build, we are in error and need to do more 
718 # work to find out the build config parameters.
719 if test x$host = x$build
720 then
721         build_xm_file="auto-host.h gansidecl.h ${build_xm_file} defaults.h hwint.h"
722 else
723         # We create a subdir, then run autoconf in the subdir.
724         # To prevent recursion we set host and build for the new
725         # invocation of configure to the build for this invocation
726         # of configure. 
727         tempdir=build.$$
728         rm -rf $tempdir
729         mkdir $tempdir
730         cd $tempdir
731         case ${srcdir} in
732         /* | [A-Za-z]:[\\/]* ) realsrcdir=${srcdir};;
733         *) realsrcdir=../${srcdir};;
734         esac
735         CC=${CC_FOR_BUILD} ${realsrcdir}/configure \
736                 --target=$target --host=$build --build=$build
737
738         # We just finished tests for the build machine, so rename
739         # the file auto-build.h in the gcc directory.
740         mv auto-host.h ../auto-build.h
741         cd ..
742         rm -rf $tempdir
743         build_xm_file="auto-build.h gansidecl.h ${build_xm_file} defaults.h hwint.h"
744 fi
745
746 xm_file="gansidecl.h ${xm_file} defaults.h"
747 tm_file="gansidecl.h ${tm_file} defaults.h"
748
749 vars="host_xm_file tm_file tm_p_file xm_file build_xm_file"
750 links="config.h tm.h tm_p.h tconfig.h hconfig.h"
751 defines="host_xm_defines null_defines null_defines xm_defines build_xm_defines"
752
753 rm -f config.bak
754 if test -f config.status; then mv -f config.status config.bak; fi
755
756 # Make the links.
757 while test -n "$vars"
758 do
759         set $vars; var=$1; shift; vars=$*
760         set $links; link=$1; shift; links=$*
761         set $defines; define=$1; shift; defines=$*
762
763         rm -f $link
764         # Make sure the file is created, even if it is empty.
765         echo >$link
766
767         # Define TARGET_CPU_DEFAULT if the system wants one.
768         # This substitutes for lots of *.h files.
769         if test "$target_cpu_default" != "" -a $link = tm.h
770         then
771                 echo "#define TARGET_CPU_DEFAULT ($target_cpu_default)" >>$link
772         fi
773
774         for file in `eval echo '$'$var`; do
775                 case $file in
776                 auto-host.h | auto-build.h )
777                         ;;
778                 *)
779                         echo '#ifdef IN_GCC' >>$link
780                         ;;
781                 esac
782                 echo "#include \"$file\"" >>$link
783                 case $file in
784                 auto-host.h | auto-build.h )
785                         ;;
786                 *)
787                         echo '#endif' >>$link
788                         ;;
789                 esac
790         done
791
792         for def in `eval echo '$'$define`; do
793                 echo "#ifndef $def" >>$link
794                 echo "#define $def" >>$link
795                 echo "#endif" >>$link
796         done
797
798         if test $link = tm.h
799         then
800                 # Include insn-codes.h last, because it includes machmode.h,
801                 # and we want EXTRA_CC_MODES to be taken into account.
802                 echo "#ifndef GENERATOR_FILE" >>$link
803                 echo "#include \"insn-codes.h\"" >>$link
804                 echo "#endif" >>$link
805         fi
806 done
807
808 # Truncate the target if necessary
809 if test x$host_truncate_target != x; then
810         target=`echo $target | sed -e 's/\(..............\).*/\1/'`
811 fi
812
813 # Get the version trigger filename from the toplevel
814 if test "${with_gcc_version_trigger+set}" = set; then
815         gcc_version_trigger=$with_gcc_version_trigger
816 else
817         gcc_version_trigger=${srcdir}/version.c
818 fi
819 changequote(,)dnl
820 gcc_version_full=`grep version_string ${gcc_version_trigger} | sed -e 's/.*\"\([^\"]*\)\".*/\1/'`
821 gcc_version=`echo ${gcc_version_full} | sed -e 's/\([^ ]*\) .*/\1/'`
822
823 # Compile in configure arguments.
824 if test -f configargs.h ; then
825         # Being re-configured.
826         gcc_config_arguments=`grep configuration_arguments configargs.h | sed -e 's/.*\"\([^\"]*\)\".*/\1/'`
827         gcc_config_arguments="$gcc_config_arguments : (reconfigured) $TOPLEVEL_CONFIGURE_ARGUMENTS"
828 else
829         gcc_config_arguments="$TOPLEVEL_CONFIGURE_ARGUMENTS"
830 fi
831 cat > configargs.h <<EOF
832 /* Generated automatically. */
833 static const char configuration_arguments[] = "$gcc_config_arguments";
834 EOF
835 changequote([,])dnl
836
837 # Internationalization
838 PACKAGE=gcc
839 VERSION="$gcc_version"
840 AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE",
841         [Define to the name of the distribution.])
842 AC_DEFINE_UNQUOTED(VERSION, "$VERSION",
843         [Define to the version of the distribution.])
844 AC_SUBST(PACKAGE)
845 AC_SUBST(VERSION)
846
847 ALL_LINGUAS="sv"
848
849 # Enable NLS support by default
850 AC_ARG_ENABLE(nls,
851   [  --enable-nls            use Native Language Support (default)],
852   , enable_nls=yes)
853
854 # if cross compiling, disable NLS support.
855 # It's not worth the trouble, at least for now.
856
857 if test "${build}" != "${host}" && test "x$enable_nls" = "xyes"; then
858   AC_MSG_WARN(Disabling NLS support for canadian cross compiler.)
859   enable_nls=no
860 fi
861
862 # if NLS is enabled, also enable check in po subdir
863 if test $enable_nls = yes; then
864   CHECK_PO=check-po
865 else
866   CHECK_PO=""
867 fi
868
869 AC_SUBST(CHECK_PO)
870
871 AM_GNU_GETTEXT
872 XGETTEXT="AWK='$AWK' \$(SHELL) \$(top_srcdir)/exgettext $XGETTEXT"
873
874 # Windows32 Registry support for specifying GCC installation paths.
875 AC_ARG_ENABLE(win32-registry,
876 [  --disable-win32-registry
877                           Disable lookup of installation paths in the
878                          Registry on Windows hosts.
879   --enable-win32-registry Enable registry lookup (default).
880   --enable-win32-registry=KEY
881                           Use KEY instead of GCC version as the last portion
882                          of the registry key.],,)
883
884 AC_MSG_CHECKING(whether windows registry support is requested)
885 if test x$enable_win32_registry != xno; then
886   AC_DEFINE(ENABLE_WIN32_REGISTRY, 1,
887 [Define to 1 if installation paths should be looked up in Windows32
888    Registry. Ignored on non windows32 hosts.])
889   AC_MSG_RESULT(yes)
890 else
891   AC_MSG_RESULT(no)
892 fi
893
894 # Check if user specified a different registry key.
895 case x${enable_win32_registry} in
896 x | xyes)
897   # default.
898   gcc_cv_win32_registry_key="$VERSION"
899   ;;
900 xno)
901   # no registry lookup.
902   gcc_cv_win32_registry_key=''
903   ;;
904 *)
905   # user-specified key.
906   gcc_cv_win32_registry_key="$enable_win32_registry"
907   ;;
908 esac
909
910 if test x$enable_win32_registry != xno; then
911   AC_MSG_CHECKING(registry key on windows hosts)
912   AC_DEFINE_UNQUOTED(WIN32_REGISTRY_KEY, "$gcc_cv_win32_registry_key",
913         [Define to be the last portion of registry key on windows hosts.])
914   AC_MSG_RESULT($gcc_cv_win32_registry_key)
915 fi
916
917 # Get an absolute path to the GCC top-level source directory
918 holddir=`pwd`
919 cd $srcdir
920 topdir=`pwd`
921 cd $holddir
922
923 # Conditionalize the makefile for this host machine.
924 # Make-host contains the concatenation of all host makefile fragments
925 # [there can be more than one].  This file is built by configure.frag.
926 host_overrides=Make-host
927 dep_host_xmake_file=
928 for f in .. ${host_xmake_file}
929 do
930         if test -f ${srcdir}/config/$f
931         then
932                 dep_host_xmake_file="${dep_host_xmake_file} ${srcdir}/config/$f"
933         fi
934 done
935
936 # Conditionalize the makefile for this target machine.
937 # Make-target contains the concatenation of all host makefile fragments
938 # [there can be more than one].  This file is built by configure.frag.
939 target_overrides=Make-target
940 dep_tmake_file=
941 for f in .. ${tmake_file}
942 do
943         if test -f ${srcdir}/config/$f
944         then
945                 dep_tmake_file="${dep_tmake_file} ${srcdir}/config/$f"
946         fi
947 done
948
949 # If the host doesn't support symlinks, modify CC in
950 # FLAGS_TO_PASS so CC="stage1/xgcc -Bstage1/" works.
951 # Otherwise, we can use "CC=$(CC)".
952 rm -f symtest.tem
953 if $symbolic_link $srcdir/gcc.c symtest.tem 2>/dev/null
954 then
955         cc_set_by_configure="\$(CC)"
956         quoted_cc_set_by_configure="\$(CC)"
957         stage_prefix_set_by_configure="\$(STAGE_PREFIX)"
958 else
959         rm -f symtest.tem
960         if cp -p $srcdir/gcc.c symtest.tem 2>/dev/null
961         then
962                 symbolic_link="cp -p"
963         else
964                 symbolic_link="cp"
965         fi
966         cc_set_by_configure="\`case '\$(CC)' in stage*) echo '\$(CC)' | sed -e 's|stage|../stage|g';; *) echo '\$(CC)';; esac\`"
967         quoted_cc_set_by_configure="\\\`case '\\\$(CC)' in stage*) echo '\\\$(CC)' | sed -e 's|stage|../stage|g';; *) echo '\\\$(CC)';; esac\\\`"
968         stage_prefix_set_by_configure="\`case '\$(STAGE_PREFIX)' in stage*) echo '\$(STAGE_PREFIX)' | sed -e 's|stage|../stage|g';; *) echo '\$(STAGE_PREFIX)';; esac\`"
969 fi
970 rm -f symtest.tem
971
972 out_object_file=`basename $out_file .c`.o
973
974 tm_file_list=
975 for f in $tm_file; do
976   case $f in
977     gansidecl.h | defaults.h )
978        tm_file_list="${tm_file_list} $f" ;;
979     *) tm_file_list="${tm_file_list} \$(srcdir)/config/$f" ;;
980   esac
981 done
982
983 host_xm_file_list=
984 for f in $host_xm_file; do
985   case $f in
986     auto-host.h | gansidecl.h | defaults.h | hwint.h )
987        host_xm_file_list="${host_xm_file_list} $f" ;;
988     *) host_xm_file_list="${host_xm_file_list} \$(srcdir)/config/$f" ;;
989   esac
990 done
991
992 build_xm_file_list=
993 for f in $build_xm_file; do
994   case $f in
995     auto-build.h | auto-host.h | gansidecl.h | defaults.h | hwint.h )
996        build_xm_file_list="${build_xm_file_list} $f" ;;
997     *) build_xm_file_list="${build_xm_file_list} \$(srcdir)/config/$f" ;;
998   esac
999 done
1000
1001 # Define macro CROSS_COMPILE in compilation
1002 # if this is a cross-compiler.
1003 # Also use all.cross instead of all.internal
1004 # and add cross-make to Makefile.
1005 cross_overrides="/dev/null"
1006 if test x$host != x$target
1007 then
1008         cross_defines="CROSS=-DCROSS_COMPILE"
1009         cross_overrides="${topdir}/cross-make"
1010 fi
1011
1012 # If this is a cross-compiler that does not
1013 # have its own set of headers then define
1014 # inhibit_libc
1015
1016 # If this is using newlib, then define inhibit_libc in
1017 # LIBGCC2_CFLAGS.  This will cause __eprintf to be left out of
1018 # libgcc.a, but that's OK because newlib should have its own version of
1019 # assert.h.
1020 inhibit_libc=
1021 if [test x$host != x$target] && [test x$with_headers = x]; then
1022        inhibit_libc=-Dinhibit_libc
1023 else
1024        if [test x$with_newlib = xyes]; then
1025                inhibit_libc=-Dinhibit_libc
1026        fi
1027 fi
1028 AC_SUBST(inhibit_libc)
1029
1030 # When building gcc with a cross-compiler, we need to fix a few things.
1031 # This must come after cross-make as we want all.build to override
1032 # all.cross.
1033 build_overrides="/dev/null"
1034 if test x$build != x$host
1035 then
1036         build_overrides="${topdir}/build-make"
1037 fi
1038
1039 # Expand extra_headers to include complete path.
1040 # This substitutes for lots of t-* files.
1041 extra_headers_list=
1042 if test "x$extra_headers" = x
1043 then true
1044 else
1045         # Prepend ${srcdir}/ginclude/ to every entry in extra_headers.
1046         for file in $extra_headers;
1047         do
1048                 extra_headers_list="${extra_headers_list} \$(srcdir)/ginclude/${file}"
1049         done
1050 fi
1051
1052 if test x$use_collect2 = xno; then
1053         use_collect2=
1054 fi
1055
1056 # Add a definition of USE_COLLECT2 if system wants one.
1057 # Also tell toplev.c what to do.
1058 # This substitutes for lots of t-* files.
1059 if test x$use_collect2 = x
1060 then
1061         will_use_collect2=
1062         maybe_use_collect2=
1063 else
1064         will_use_collect2="collect2"
1065         maybe_use_collect2="-DUSE_COLLECT2"
1066 fi
1067
1068 # If we have gas in the build tree, make a link to it.
1069 if test -f ../gas/Makefile; then
1070         rm -f as; $symbolic_link ../gas/as-new$host_exeext as$host_exeext 2>/dev/null
1071 fi
1072
1073 # If we have nm in the build tree, make a link to it.
1074 if test -f ../binutils/Makefile; then
1075         rm -f nm; $symbolic_link ../binutils/nm-new$host_exeext nm$host_exeext 2>/dev/null
1076 fi
1077
1078 # If we have ld in the build tree, make a link to it.
1079 if test -f ../ld/Makefile; then
1080 #       if test x$use_collect2 = x; then
1081 #               rm -f ld; $symbolic_link ../ld/ld-new$host_exeext ld$host_exeext 2>/dev/null
1082 #       else
1083                 rm -f collect-ld; $symbolic_link ../ld/ld-new$host_exeext collect-ld$host_exeext 2>/dev/null
1084 #       fi
1085 fi
1086
1087 # Figure out what assembler we will be using.
1088 AC_MSG_CHECKING(what assembler to use)
1089 gcc_cv_as=
1090 gcc_cv_gas_major_version=
1091 gcc_cv_gas_minor_version=
1092 gcc_cv_as_gas_srcdir=`echo $srcdir | sed -e 's,/gcc$,,'`/gas
1093 if test -x "$DEFAULT_ASSEMBLER"; then
1094         gcc_cv_as="$DEFAULT_ASSEMBLER"
1095 elif test -x "$AS"; then
1096         gcc_cv_as="$AS"
1097 elif test -x as$host_exeext; then
1098         # Build using assembler in the current directory.
1099         gcc_cv_as=./as$host_exeext
1100 elif test -f $gcc_cv_as_gas_srcdir/configure.in -a -f ../gas/Makefile; then
1101         # Single tree build which includes gas.
1102         for f in $gcc_cv_as_gas_srcdir/configure $gcc_cv_as_gas_srcdir/configure.in $gcc_cv_as_gas_srcdir/Makefile.in
1103         do
1104 changequote(,)dnl
1105                 gcc_cv_gas_version=`grep '^VERSION=[0-9]*\.[0-9]*' $f`
1106 changequote([,])dnl
1107                 if test x$gcc_cv_gas_version != x; then
1108                         break
1109                 fi
1110         done
1111 changequote(,)dnl
1112         gcc_cv_gas_major_version=`expr "$gcc_cv_gas_version" : "VERSION=\([0-9]*\)"`
1113         gcc_cv_gas_minor_version=`expr "$gcc_cv_gas_version" : "VERSION=[0-9]*\.\([0-9]*\)"`
1114 changequote([,])dnl
1115 fi
1116
1117 if test "x$gcc_cv_as" = x -a x$host = x$target; then
1118         # Native build.
1119         # Search the same directories that the installed compiler will
1120         # search.  Else we may find the wrong assembler and lose.  If we
1121         # do not find a suitable assembler binary, then try the user's
1122         # path.
1123         #
1124         # Also note we have to check MD_EXEC_PREFIX before checking the
1125         # user's path.  Unfortunately, there is no good way to get at the
1126         # value of MD_EXEC_PREFIX here.  So we do a brute force search
1127         # through all the known MD_EXEC_PREFIX values.  Ugh.  This needs
1128         # to be fixed as part of the make/configure rewrite too.
1129
1130         if test "x$exec_prefix" = xNONE; then
1131                 if test "x$prefix" = xNONE; then
1132                         test_prefix=/usr/local
1133                 else
1134                         test_prefix=$prefix
1135                 fi
1136         else
1137                 test_prefix=$exec_prefix
1138         fi
1139
1140         # If the loop below does not find an assembler, then use whatever
1141         # one we can find in the users's path.
1142         # user's path.
1143         as=as$host_exeext
1144
1145         test_dirs="$test_prefix/lib/gcc-lib/$target/$gcc_version \
1146                    $test_prefix/lib/gcc-lib/$target \
1147                    /usr/lib/gcc/$target/$gcc_version \
1148                    /usr/lib/gcc/$target \
1149                    $test_prefix/$target/bin/$target/$gcc_version \
1150                    $test_prefix/$target/bin \
1151                    /usr/libexec \
1152                    /usr/ccs/gcc \
1153                    /usr/ccs/bin \
1154                    /udk/usr/ccs/bin \
1155                    /bsd43/usr/lib/cmplrs/cc \
1156                    /usr/cross64/usr/bin \
1157                    /usr/lib/cmplrs/cc \
1158                    /sysv/usr/lib/cmplrs/cc \
1159                    /svr4/usr/lib/cmplrs/cc \
1160                    /usr/bin"
1161
1162         for dir in $test_dirs; do
1163                 if test -f $dir/as$host_exeext; then
1164                         gcc_cv_as=$dir/as$host_exeext
1165                         break;
1166                 fi
1167         done
1168 fi
1169 if test x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x; then
1170   AC_MSG_RESULT("newly built gas")
1171 else
1172   AC_MSG_RESULT($gcc_cv_as)
1173 fi
1174
1175 # Figure out what nm we will be using.
1176 AC_MSG_CHECKING(what nm to use)
1177 if test -x nm$host_exeext; then
1178         gcc_cv_nm=./nm$host_exeext
1179 elif test x$host = x$target; then
1180         # Native build.
1181         gcc_cv_nm=nm$host_exeext
1182 fi
1183 AC_MSG_RESULT($gcc_cv_nm)
1184
1185 # Figure out what assembler alignment features are present.
1186 AC_MSG_CHECKING(assembler alignment features)
1187 gcc_cv_as_alignment_features=none
1188 if test x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x; then
1189         # Gas version 2.6 and later support for .balign and .p2align.
1190         # bytes to skip when using .p2align.
1191         if test "$gcc_cv_gas_major_version" -eq 2 -a "$gcc_cv_gas_minor_version" -ge 6 -o "$gcc_cv_gas_major_version" -gt 2; then
1192                 gcc_cv_as_alignment_features=".balign and .p2align"
1193                 AC_DEFINE(HAVE_GAS_BALIGN_AND_P2ALIGN)
1194         fi
1195         # Gas version 2.8 and later support specifying the maximum
1196         # bytes to skip when using .p2align.
1197         if test "$gcc_cv_gas_major_version" -eq 2 -a "$gcc_cv_gas_minor_version" -ge 8 -o "$gcc_cv_gas_major_version" -gt 2; then
1198                 gcc_cv_as_alignment_features=".p2align including maximum skip"
1199                 AC_DEFINE(HAVE_GAS_MAX_SKIP_P2ALIGN)
1200         fi
1201 elif test x$gcc_cv_as != x; then
1202         # Check if we have .balign and .p2align
1203         echo ".balign  4" > conftest.s
1204         echo ".p2align  2" >> conftest.s
1205         if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1; then
1206                 gcc_cv_as_alignment_features=".balign and .p2align"
1207                 AC_DEFINE(HAVE_GAS_BALIGN_AND_P2ALIGN)
1208         fi
1209         rm -f conftest.s conftest.o
1210         # Check if specifying the maximum bytes to skip when
1211         # using .p2align is supported.
1212         echo ".p2align 4,,7" > conftest.s
1213         if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1; then
1214                 gcc_cv_as_alignment_features=".p2align including maximum skip"
1215                 AC_DEFINE(HAVE_GAS_MAX_SKIP_P2ALIGN)
1216         fi
1217         rm -f conftest.s conftest.o
1218 fi
1219 AC_MSG_RESULT($gcc_cv_as_alignment_features)
1220
1221 AC_MSG_CHECKING(assembler subsection support)
1222 gcc_cv_as_subsections=no
1223 if test x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x; then
1224   if test "$gcc_cv_gas_major_version" -eq 2 -a "$gcc_cv_gas_minor_version" -ge 9 -o "$gcc_cv_gas_major_version" -gt 2 && grep 'obj_format = elf' ../gas/Makefile > /dev/null; then
1225     gcc_cv_as_subsections="working .subsection -1"
1226   fi
1227 elif test x$gcc_cv_as != x; then
1228         # Check if we have .subsection
1229         echo ".subsection 1" > conftest.s
1230         if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1; then
1231                 gcc_cv_as_subsections=".subsection"
1232                 if test x$gcc_cv_nm != x; then
1233                         cat > conftest.s <<EOF
1234 conftest_label1: .word 0
1235 .subsection -1
1236 conftest_label2: .word 0
1237 .previous
1238 EOF
1239                         if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1; then
1240                                 $gcc_cv_nm conftest.o | grep conftest_label1 > conftest.nm1
1241                                 $gcc_cv_nm conftest.o | grep conftest_label2 | sed -e 's/label2/label1/' > conftest.nm2
1242                                 if cmp conftest.nm1 conftest.nm2 > /dev/null 2>&1; then
1243                                         :
1244                                 else
1245                                         gcc_cv_as_subsections="working .subsection -1"
1246                                 fi
1247                         fi
1248                 fi
1249         fi
1250         rm -f conftest.s conftest.o conftest.nm1 conftest.nm2
1251 fi
1252 if test x"$gcc_cv_as_subsections" = x"working .subsection -1"; then
1253         AC_DEFINE(HAVE_GAS_SUBSECTION_ORDERING, 1,
1254 [Define if your assembler supports .subsection and .subsection -1 starts
1255    emitting at the beginning of your section.])
1256 fi
1257 AC_MSG_RESULT($gcc_cv_as_subsections)
1258
1259 AC_MSG_CHECKING(assembler weak support)
1260 gcc_cv_as_weak=no
1261 if test x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x; then
1262   if test "$gcc_cv_gas_major_version" -eq 2 -a "$gcc_cv_gas_minor_version" -ge 2 -o "$gcc_cv_gas_major_version" -gt 2; then
1263     gcc_cv_as_weak="yes"
1264   fi
1265 elif test x$gcc_cv_as != x; then
1266         # Check if we have .weak
1267         echo "  .weak foobar" > conftest.s
1268         if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1; then
1269                 gcc_cv_as_weak="yes"
1270         fi
1271         rm -f conftest.s conftest.o conftest.nm1 conftest.nm2
1272 fi
1273 if test x"$gcc_cv_as_weak" = xyes; then
1274         AC_DEFINE(HAVE_GAS_WEAK, 1, [Define if your assembler supports .weak.])
1275 fi
1276 AC_MSG_RESULT($gcc_cv_as_weak)
1277
1278 AC_MSG_CHECKING(assembler hidden support)
1279 gcc_cv_as_hidden=no
1280 if test x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x; then
1281   if test "$gcc_cv_gas_major_version" -eq 2 -a "$gcc_cv_gas_minor_version" -ge 10 -o "$gcc_cv_gas_major_version" -gt 2 && grep 'obj_format = elf' ../gas/Makefile > /dev/null; then
1282     gcc_cv_as_hidden="yes"
1283   fi
1284 elif test x$gcc_cv_as != x; then
1285         # Check if we have .hidden
1286         echo "  .hidden foobar" > conftest.s
1287         echo "foobar:" >> conftest.s
1288         if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1; then
1289                 gcc_cv_as_hidden="yes"
1290         fi
1291         rm -f conftest.s conftest.o conftest.nm1 conftest.nm2
1292 fi
1293 if test x"$gcc_cv_as_hidden" = xyes; then
1294         AC_DEFINE(HAVE_GAS_HIDDEN, 1,
1295                 [Define if your assembler supports .hidden.])
1296 fi
1297 AC_MSG_RESULT($gcc_cv_as_hidden)
1298
1299 case "$target" in 
1300   sparc*-*-*)
1301     AC_CACHE_CHECK([assembler .register pseudo-op support],
1302         gcc_cv_as_register_pseudo_op, [
1303         gcc_cv_as_register_pseudo_op=unknown
1304         if test x$gcc_cv_as != x; then
1305             # Check if we have .register
1306             echo ".register %g2, #scratch" > conftest.s
1307             if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1; then
1308                 gcc_cv_as_register_pseudo_op=yes
1309             else
1310                 gcc_cv_as_register_pseudo_op=no
1311             fi
1312             rm -f conftest.s conftest.o
1313         fi
1314     ])
1315     if test "x$gcc_cv_as_register_pseudo_op" = xyes; then
1316         AC_DEFINE(HAVE_AS_REGISTER_PSEUDO_OP, 1,
1317                 [Define if your assembler supports .register.])
1318     fi
1319
1320     AC_CACHE_CHECK([assembler supports -relax],
1321         gcc_cv_as_relax_opt, [
1322         gcc_cv_as_relax_opt=unknown
1323         if test x$gcc_cv_as != x; then
1324             # Check if gas supports -relax
1325             echo ".text" > conftest.s
1326             if $gcc_cv_as -relax -o conftest.o conftest.s > /dev/null 2>&1; then
1327                 gcc_cv_as_relax_opt=yes
1328             else
1329                 gcc_cv_as_relax_opt=no
1330             fi
1331             rm -f conftest.s conftest.o
1332         fi
1333     ])
1334     if test "x$gcc_cv_as_relax_opt" = xyes; then
1335         AC_DEFINE(HAVE_AS_RELAX_OPTION, 1,
1336                 [Define if your assembler supports -relax option.])
1337     fi
1338
1339     case "$tm_file" in
1340     *64*)
1341         AC_CACHE_CHECK([for 64 bit support in assembler ($gcc_cv_as)],
1342             gcc_cv_as_flags64, [
1343                 if test -n "$gcc_cv_as"; then
1344                     echo ".xword foo" > conftest.s
1345                     gcc_cv_as_flags64=no
1346                     for flag in "-xarch=v9" "-64 -Av9"; do
1347                         if $gcc_cv_as $flag -o conftest.o conftest.s \
1348                             > /dev/null 2>&1; then
1349                             gcc_cv_as_flags64=$flag
1350                             break
1351                         fi
1352                     done
1353                     rm -f conftest.s conftest.o
1354                 else
1355                     if test "$gas" = yes; then
1356                         gcc_cv_as_flags64="-64 -Av9"
1357                     else
1358                         gcc_cv_as_flags64="-xarch=v9"
1359                     fi
1360                 fi
1361         ])
1362         if test "x$gcc_cv_as_flags64" = xno; then
1363 changequote(, )
1364             tmake_file=`echo " $tmake_file " | sed -e 's, sparc/t-sol2-64 , ,' -e 's,^ ,,' -e 's, $,,'`
1365             dep_tmake_file=`echo " $dep_tmake_file " | sed -e 's, [^ ]*/config/sparc/t-sol2-64 , ,' -e 's,^ ,,' -e 's, $,,'`
1366 changequote([, ])
1367         else
1368             AC_DEFINE_UNQUOTED(AS_SPARC64_FLAG, "$gcc_cv_as_flags64",
1369                         [Define if the assembler supports 64bit sparc.])
1370         fi
1371         ;;
1372     *) gcc_cv_as_flags64=${gcc_cv_as_flags64-no}
1373         ;;
1374     esac
1375
1376     if test "x$gcc_cv_as_flags64" != xno; then
1377         AC_CACHE_CHECK([for assembler offsetable %lo() support],
1378             gcc_cv_as_offsetable_lo10, [
1379             gcc_cv_as_offsetable_lo10=unknown
1380             if test "x$gcc_cv_as" != x; then
1381                 # Check if assembler has offsetable %lo()
1382                 echo "or %g1, %lo(ab) + 12, %g1" > conftest.s
1383                 echo "or %g1, %lo(ab + 12), %g1" > conftest1.s
1384                 if $gcc_cv_as $gcc_cv_as_flags64 -o conftest.o conftest.s \
1385                         > /dev/null 2>&1 &&
1386                    $gcc_cv_as $gcc_cv_as_flags64 -o conftest1.o conftest1.s \
1387                         > /dev/null 2>&1; then
1388                     if cmp conftest.o conftest1.o > /dev/null 2>&1; then
1389                         gcc_cv_as_offsetable_lo10=no
1390                     else
1391                         gcc_cv_as_offsetable_lo10=yes
1392                     fi
1393                 else
1394                     gcc_cv_as_offsetable_lo10=no
1395                 fi
1396                 rm -f conftest.s conftest.o conftest1.s conftest1.o
1397             fi
1398         ])
1399         if test "x$gcc_cv_as_offsetable_lo10" = xyes; then
1400             AC_DEFINE(HAVE_AS_OFFSETABLE_LO10, 1,
1401                 [Define if your assembler supports offsetable %lo().])
1402         fi
1403     fi
1404     ;;
1405
1406 changequote(,)dnl
1407   i[34567]86-*-*)
1408 changequote([,])dnl
1409     AC_MSG_CHECKING(assembler instructions)
1410     gcc_cv_as_instructions=
1411     if test x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x; then
1412       if test "$gcc_cv_gas_major_version" -eq 2 -a "$gcc_cv_gas_minor_version" -ge 9 -o "$gcc_cv_gas_major_version" -gt 2; then
1413         gcc_cv_as_instructions="filds fists"
1414       fi
1415     elif test x$gcc_cv_as != x; then
1416         set "filds fists" "filds mem; fists mem"
1417         while test $# -gt 0
1418         do
1419                 echo "$2" > conftest.s
1420                 if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1; then
1421                         gcc_cv_as_instructions=${gcc_cv_as_instructions}$1" "
1422                 fi
1423                 shift 2
1424         done
1425         rm -f conftest.s conftest.o
1426     fi
1427     if test x"$gcc_cv_as_instructions" != x; then
1428         AC_DEFINE_UNQUOTED(HAVE_GAS_`echo "$gcc_cv_as_instructions" | sed -e 's/ $//' | tr '[a-z ]' '[A-Z_]'`)
1429     fi
1430     AC_MSG_RESULT($gcc_cv_as_instructions)
1431     ;;
1432 esac
1433
1434 AC_MSG_CHECKING(assembler dwarf2 debug_line support)
1435 gcc_cv_as_dwarf2_debug_line=no
1436 # ??? Not all targets support dwarf2 debug_line, even within a version
1437 # of gas.  Moreover, we need to emit a valid instruction to trigger any
1438 # info to the output file.  So, as supported targets are added to gas 2.11,
1439 # add some instruction here to (also) show we expect this might work.
1440 # ??? Once 2.11 is released, probably need to add first known working
1441 # version to the per-target configury.
1442 case "$target" in
1443   i?86*-*-* | mips*-*-* | alpha*-*-* | powerpc*-*-* | sparc*-*-*)
1444     insn="nop"
1445     ;;
1446   ia64*-*-*)
1447     insn="nop 0"
1448     ;;
1449   esac
1450 if test x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x;
1451 then
1452   if test "$gcc_cv_gas_major_version" -eq 2 \
1453         -a "$gcc_cv_gas_minor_version" -ge 11 \
1454         -o "$gcc_cv_gas_major_version" -gt 2 \
1455      && grep 'obj_format = elf' ../gas/Makefile > /dev/null \
1456      && test x"$insn" != x ; then
1457     gcc_cv_as_dwarf2_debug_line="yes"
1458   fi
1459 elif test x$gcc_cv_as != x -a x"$insn" != x ; then
1460         echo '  .file 0 "conftest.s"' > conftest.s
1461         echo '  .loc 0 3 0' >> conftest.s
1462         echo "  $insn" >> conftest.s
1463         if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1 \
1464            && grep debug_line conftest.o > /dev/null 2>&1 ; then
1465                 gcc_cv_as_dwarf2_debug_line="yes"
1466         fi
1467         rm -f conftest.s conftest.o conftest.nm1 conftest.nm2
1468 fi
1469 if test x"$gcc_cv_as_dwarf2_debug_line" = xyes; then
1470         AC_DEFINE(HAVE_AS_DWARF2_DEBUG_LINE, 1,
1471           [Define if your assembler supports dwarf2 .file/.loc directives.])
1472 fi
1473 AC_MSG_RESULT($gcc_cv_as_dwarf2_debug_line)
1474
1475 # Figure out what language subdirectories are present.
1476 # Look if the user specified --enable-languages="..."; if not, use
1477 # the environment variable $LANGUAGES if defined. $LANGUAGES might
1478 # go away some day.
1479 if test x"${enable_languages+set}" != xset; then
1480         if test x"${LANGUAGES+set}" = xset; then
1481                 enable_languages="`echo ${LANGUAGES} | tr ' ' ','`"
1482         else
1483                 enable_languages=all
1484         fi
1485 else
1486         if test x"${enable_languages}" = x; then
1487                 AC_MSG_ERROR([--enable-languages needs at least one argument])
1488         fi
1489 fi
1490 subdirs=
1491 for lang in ${srcdir}/*/config-lang.in ..
1492 do
1493         case $lang in
1494         ..) ;;
1495         # The odd quoting in the next line works around
1496         # an apparent bug in bash 1.12 on linux.
1497 changequote(,)dnl
1498         ${srcdir}/[*]/config-lang.in) ;;
1499         *)
1500           lang_alias=`sed -n -e 's,^language=['"'"'"'"]\(.*\)["'"'"'"'].*$,\1,p' -e 's,^language=\([^   ]*\).*$,\1,p' $lang`
1501           this_lang_libs=`sed -n -e 's,^target_libs=['"'"'"'"]\(.*\)["'"'"'"'].*$,\1,p' -e 's,^target_libs=\([^         ]*\).*$,\1,p' $lang`
1502           build_by_default=`sed -n -e 's,^build_by_default=['"'"'"'"]\(.*\)["'"'"'"'].*$,\1,p' -e 's,^build_by_default=\([^     ]*\).*$,\1,p' $lang`
1503           if test "x$lang_alias" = x
1504           then
1505                 echo "$lang doesn't set \$language." 1>&2
1506                 exit 1
1507           fi
1508           case ${build_by_default},${enable_languages}, in
1509           *,$lang_alias,*) add_this_lang=yes ;;
1510           no,*) add_this_lang=no ;;
1511           *,all,*) add_this_lang=yes ;;
1512           *) add_this_lang=no ;;
1513           esac
1514           if test x"${add_this_lang}" = xyes; then
1515                 case $lang in
1516                     ${srcdir}/ada/config-lang.in)
1517                         if test x$gnat = xyes ; then
1518                                 subdirs="$subdirs `echo $lang | sed -e 's,^.*/\([^/]*\)/config-lang.in$,\1,'`"
1519                         fi
1520                         ;;
1521                     *)
1522                         subdirs="$subdirs `echo $lang | sed -e 's,^.*/\([^/]*\)/config-lang.in$,\1,'`"
1523                         ;;
1524                 esac
1525           fi
1526           ;;
1527 changequote([,])dnl
1528         esac
1529 done
1530
1531 # Make gthr-default.h if we have a thread file.
1532 gthread_flags=
1533 if test $thread_file != single; then
1534     rm -f gthr-default.h
1535     echo "#include \"gthr-${thread_file}.h\"" > gthr-default.h
1536     gthread_flags=-DHAVE_GTHR_DEFAULT
1537 fi
1538 AC_SUBST(gthread_flags)
1539
1540 # Find out what GC implementation we want, or may, use.
1541 AC_ARG_WITH(gc,
1542 [  --with-gc={simple,page} Choose the garbage collection mechanism to use
1543                            with the compiler.],
1544 [case "$withval" in
1545   simple | page)
1546     GGC=ggc-$withval
1547     ;;
1548   *)
1549     AC_MSG_ERROR([$withval is an invalid option to --with-gc])
1550     ;;
1551 esac],
1552 [GGC=ggc-page])
1553 AC_SUBST(GGC)
1554 echo "Using $GGC for garbage collection."
1555
1556 # Use the system's zlib library.
1557 zlibdir=-L../zlib
1558 zlibinc="-I\$(srcdir)/../zlib"
1559 AC_ARG_WITH(system-zlib,
1560 [  --with-system-zlib      use installed libz],
1561 zlibdir=
1562 zlibinc=
1563 )
1564 AC_SUBST(zlibdir)
1565 AC_SUBST(zlibinc)
1566
1567 # Build a new-abi (c++) system
1568 AC_ARG_ENABLE(new-gxx-abi,
1569 [  --enable-new-gxx-abi
1570                           select the new abi for g++. You must select an ABI
1571                           at configuration time, so that the correct runtime
1572                           support is built. You cannot mix ABIs.],
1573    ,
1574   enable_new_gxx_abi=yes)
1575
1576 if test x$enable_new_gxx_abi = xyes; then
1577   AC_DEFINE(ENABLE_NEW_GXX_ABI, 1,
1578             [Define if you want to always select the new-abi for g++.])
1579   GXX_ABI_FLAG='-fnew-abi'
1580 else
1581   GXX_ABI_FLAG=
1582 fi
1583 AC_SUBST(GXX_ABI_FLAG)
1584
1585 AC_DEFINE_UNQUOTED(ENABLE_STD_NAMESPACE, 1,
1586   [Define to 1 if you want to enable namespaces (-fhonor-std) by default.])
1587
1588 dnl Very limited version of automake's enable-maintainer-mode
1589
1590 AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
1591   dnl maintainer-mode is disabled by default
1592   AC_ARG_ENABLE(maintainer-mode,
1593 [  --enable-maintainer-mode enable make rules and dependencies not useful
1594                           (and sometimes confusing) to the casual installer],
1595       maintainer_mode=$enableval,
1596       maintainer_mode=no)
1597
1598 AC_MSG_RESULT($maintainer_mode)
1599
1600 if test "$maintainer_mode" = "yes"; then
1601   MAINT=''
1602 else
1603   MAINT='#'
1604 fi
1605 AC_SUBST(MAINT)dnl
1606
1607 # Make empty files to contain the specs and options for each language.
1608 # Then add #include lines to for a compiler that has specs and/or options.
1609
1610 lang_specs_files=
1611 lang_options_files=
1612 lang_tree_files=
1613 rm -f specs.h options.h gencheck.h
1614 touch specs.h options.h gencheck.h
1615 for subdir in . $subdirs
1616 do
1617         if test -f $srcdir/$subdir/lang-specs.h; then
1618                 echo "#include \"$subdir/lang-specs.h\"" >>specs.h
1619                 lang_specs_files="$lang_specs_files $srcdir/$subdir/lang-specs.h"
1620         fi
1621         if test -f $srcdir/$subdir/lang-options.h; then
1622                 echo "#include \"$subdir/lang-options.h\"" >>options.h
1623                 lang_options_files="$lang_options_files $srcdir/$subdir/lang-options.h"
1624         fi
1625         if test -f $srcdir/$subdir/$subdir-tree.def; then
1626                 echo "#include \"$subdir/$subdir-tree.def\"" >>gencheck.h
1627                 lang_tree_files="$lang_tree_files $srcdir/$subdir/$subdir-tree.def"
1628         fi
1629 done
1630
1631 # These (without "all_") are set in each config-lang.in.
1632 # `language' must be a single word so is spelled singularly.
1633 all_languages=
1634 all_boot_languages=
1635 all_compilers=
1636 all_stagestuff=
1637 all_diff_excludes=
1638 all_outputs='Makefile intl/Makefile po/Makefile.in fixinc/Makefile gccbug mklibgcc'
1639 # List of language makefile fragments.
1640 all_lang_makefiles=
1641 all_headers=
1642 all_lib2funcs=
1643
1644 # Add the language fragments.
1645 # Languages are added via two mechanisms.  Some information must be
1646 # recorded in makefile variables, these are defined in config-lang.in.
1647 # We accumulate them and plug them into the main Makefile.
1648 # The other mechanism is a set of hooks for each of the main targets
1649 # like `clean', `install', etc.
1650
1651 language_fragments="Make-lang"
1652 language_hooks="Make-hooks"
1653
1654 for s in .. $subdirs
1655 do
1656         if test $s != ".."
1657         then
1658                 language=
1659                 boot_language=
1660                 compilers=
1661                 stagestuff=
1662                 diff_excludes=
1663                 headers=
1664                 outputs=
1665                 lib2funcs=
1666                 . ${srcdir}/$s/config-lang.in
1667                 if test "x$language" = x
1668                 then
1669                         echo "${srcdir}/$s/config-lang.in doesn't set \$language." 1>&2
1670                         exit 1
1671                 fi
1672                 all_lang_makefiles="$all_lang_makefiles ${srcdir}/$s/Make-lang.in"
1673                 if test -f ${srcdir}/$s/Makefile.in
1674                 then all_lang_makefiles="$all_lang_makefiles ${srcdir}/$s/Makefile.in"
1675                 fi
1676                 all_languages="$all_languages $language"
1677                 if test "x$boot_language" = xyes
1678                 then
1679                         all_boot_languages="$all_boot_languages $language"
1680                 fi
1681                 all_compilers="$all_compilers $compilers"
1682                 all_stagestuff="$all_stagestuff $stagestuff"
1683                 all_diff_excludes="$all_diff_excludes $diff_excludes"
1684                 all_headers="$all_headers $headers"
1685                 all_outputs="$all_outputs $outputs"
1686                 all_lib2funcs="$all_lib2funcs $lib2funcs"
1687         fi
1688 done
1689
1690 # Since we can't use `::' targets, we link each language in
1691 # with a set of hooks, reached indirectly via lang.${target}.
1692
1693 rm -f Make-hooks
1694 touch Make-hooks
1695 target_list="all.build all.cross start.encap rest.encap \
1696         info dvi \
1697         install-normal install-common install-info install-man \
1698         uninstall \
1699         mostlyclean clean distclean extraclean maintainer-clean \
1700         stage1 stage2 stage3 stage4"
1701 for t in $target_list
1702 do
1703         x=
1704         for lang in .. $all_languages
1705         do
1706                 if test $lang != ".."; then
1707                         x="$x $lang.$t"
1708                 fi
1709         done
1710         echo "lang.$t: $x" >> Make-hooks
1711 done
1712
1713 # If we're not building in srcdir, create .gdbinit.
1714
1715 if test ! -f Makefile.in; then
1716         echo "dir ." > .gdbinit
1717         echo "dir ${srcdir}" >> .gdbinit
1718         if test x$gdb_needs_out_file_path = xyes
1719         then
1720                 echo "dir ${srcdir}/config/"`dirname ${out_file}` >> .gdbinit
1721         fi
1722         if test "x$subdirs" != x; then
1723                 for s in $subdirs
1724                 do
1725                         echo "dir ${srcdir}/$s" >> .gdbinit
1726                 done
1727         fi
1728         echo "source ${srcdir}/.gdbinit" >> .gdbinit
1729 fi
1730
1731 # Define variables host_canonical and build_canonical
1732 # because some Cygnus local changes in the Makefile depend on them.
1733 build_canonical=${build}
1734 host_canonical=${host}
1735 target_subdir=
1736 if test "${host}" != "${target}" ; then
1737     target_subdir=${target}/
1738 fi
1739 AC_SUBST(build_canonical)
1740 AC_SUBST(host_canonical)
1741 AC_SUBST(target_subdir)
1742         
1743 # If $(exec_prefix) exists and is not the same as $(prefix), then compute an
1744 # absolute path for gcc_tooldir based on inserting the number of up-directory
1745 # movements required to get from $(exec_prefix) to $(prefix) into the basic
1746 # $(libsubdir)/@(unlibsubdir) based path.
1747 # Don't set gcc_tooldir to tooldir since that's only passed in by the toplevel
1748 # make and thus we'd get different behavior depending on where we built the
1749 # sources.
1750 if test x$exec_prefix = xNONE -o x$exec_prefix = x$prefix; then
1751     gcc_tooldir='$(libsubdir)/$(unlibsubdir)/../$(target_alias)'
1752 else
1753 changequote(<<, >>)dnl
1754 # An explanation of the sed strings:
1755 #  -e 's|^\$(prefix)||'   matches and eliminates 'prefix' from 'exec_prefix'
1756 #  -e 's|/$||'            match a trailing forward slash and eliminates it
1757 #  -e 's|^[^/]|/|'        forces the string to start with a forward slash (*)
1758 #  -e 's|/[^/]*|../|g'    replaces each occurance of /<directory> with ../
1759 #
1760 # (*) Note this pattern overwrites the first character of the string
1761 # with a forward slash if one is not already present.  This is not a
1762 # problem because the exact names of the sub-directories concerned is
1763 # unimportant, just the number of them matters.
1764 #
1765 # The practical upshot of these patterns is like this:
1766 #
1767 #  prefix     exec_prefix        result
1768 #  ------     -----------        ------
1769 #   /foo        /foo/bar          ../
1770 #   /foo/       /foo/bar          ../
1771 #   /foo        /foo/bar/         ../
1772 #   /foo/       /foo/bar/         ../
1773 #   /foo        /foo/bar/ugg      ../../
1774 #
1775     dollar='$$'
1776     gcc_tooldir="\$(libsubdir)/\$(unlibsubdir)/\`echo \$(exec_prefix) | sed -e 's|^\$(prefix)||' -e 's|/\$(dollar)||' -e 's|^[^/]|/|' -e 's|/[^/]*|../|g'\`\$(target_alias)"
1777 changequote([, ])dnl
1778 fi
1779 AC_SUBST(gcc_tooldir)
1780 AC_SUBST(dollar)
1781
1782 # Find a directory in which to install a shared libgcc.
1783
1784 AC_ARG_ENABLE(version-specific-runtime-libs,
1785 [  --enable-version-specific-runtime-libs    Specify that runtime libraries shou
1786 ld be installed in a compiler-specific directory ])
1787
1788 AC_ARG_WITH(slibdir,
1789 [  --with-slibdir=DIR      shared libraries in DIR [LIBDIR]],
1790 slibdir="$with_slibdir",
1791 if test "${enable_version_specific_runtime_libs+set}" = set; then
1792   slibdir='$(libsubdir)'
1793 elif test "$host" != "$target"; then
1794   slibdir='$(build_tooldir)/lib'
1795 else
1796   slibdir='$(libdir)'
1797 fi)
1798 AC_SUBST(slibdir)
1799
1800 # Nothing to do for FLOAT_H, float_format already handled.
1801 objdir=`pwd`
1802 AC_SUBST(objdir)
1803
1804 # Process the language and host/target makefile fragments.
1805 ${CONFIG_SHELL-/bin/sh} $srcdir/configure.frag $srcdir "$subdirs" "$dep_host_xmake_file" "$dep_tmake_file"
1806
1807 # Substitute configuration variables
1808 AC_SUBST(subdirs)
1809 AC_SUBST(all_boot_languages)
1810 AC_SUBST(all_compilers)
1811 AC_SUBST(all_diff_excludes)
1812 AC_SUBST(all_headers)
1813 AC_SUBST(all_lang_makefiles)
1814 AC_SUBST(all_languages)
1815 AC_SUBST(all_lib2funcs)
1816 AC_SUBST(all_stagestuff)
1817 AC_SUBST(build_exeext)
1818 AC_SUBST(build_install_headers_dir)
1819 AC_SUBST(build_xm_file_list)
1820 AC_SUBST(cc_set_by_configure)
1821 AC_SUBST(quoted_cc_set_by_configure)
1822 AC_SUBST(cpp_install_dir)
1823 AC_SUBST(dep_host_xmake_file)
1824 AC_SUBST(dep_tmake_file)
1825 AC_SUBST(extra_c_flags)
1826 AC_SUBST(extra_headers_list)
1827 AC_SUBST(extra_objs)
1828 AC_SUBST(extra_parts)
1829 AC_SUBST(extra_passes)
1830 AC_SUBST(extra_programs)
1831 AC_SUBST(float_h_file)
1832 AC_SUBST(gcc_config_arguments)
1833 AC_SUBST(gcc_gxx_include_dir)
1834 AC_SUBST(libstdcxx_incdir)
1835 AC_SUBST(gcc_version)
1836 AC_SUBST(gcc_version_full)
1837 AC_SUBST(gcc_version_trigger)
1838 AC_SUBST(host_exeext)
1839 AC_SUBST(host_extra_gcc_objs)
1840 AC_SUBST(host_xm_file_list)
1841 AC_SUBST(install)
1842 AC_SUBST(lang_options_files)
1843 AC_SUBST(lang_specs_files)
1844 AC_SUBST(lang_tree_files)
1845 AC_SUBST(local_prefix)
1846 AC_SUBST(maybe_use_collect2)
1847 AC_SUBST(md_file)
1848 AC_SUBST(objc_boehm_gc)
1849 AC_SUBST(out_file)
1850 AC_SUBST(out_object_file)
1851 AC_SUBST(stage_prefix_set_by_configure)
1852 AC_SUBST(symbolic_link)
1853 AC_SUBST(thread_file)
1854 AC_SUBST(tm_file_list)
1855 AC_SUBST(will_use_collect2)
1856 AC_SUBST(c_target_objs)
1857 AC_SUBST(cxx_target_objs)
1858
1859
1860 AC_SUBST_FILE(target_overrides)
1861 AC_SUBST_FILE(host_overrides)
1862 AC_SUBST(cross_defines)
1863 AC_SUBST_FILE(cross_overrides)
1864 AC_SUBST_FILE(build_overrides)
1865 AC_SUBST_FILE(language_fragments)
1866 AC_SUBST_FILE(language_hooks)
1867
1868 # Echo that links are built
1869 if test x$host = x$target
1870 then
1871         str1="native "
1872 else
1873         str1="cross-"
1874         str2=" from $host"
1875 fi
1876
1877 if test x$host != x$build
1878 then
1879         str3=" on a $build system"
1880 fi
1881
1882 if test "x$str2" != x || test "x$str3" != x
1883 then
1884         str4=
1885 fi
1886
1887 echo "Links are now set up to build a ${str1}compiler for ${target}$str4" 1>&2
1888
1889 if test "x$str2" != x || test "x$str3" != x
1890 then
1891         echo " ${str2}${str3}." 1>&2
1892 fi
1893
1894 # Truncate the target if necessary
1895 if test x$host_truncate_target != x; then
1896         target=`echo $target | sed -e 's/\(..............\).*/\1/'`
1897 fi
1898
1899 # Configure the subdirectories
1900 # AC_CONFIG_SUBDIRS($subdirs)
1901
1902 # Create the Makefile
1903 # and configure language subdirectories
1904 AC_OUTPUT($all_outputs,
1905 [
1906 case x$CONFIG_HEADERS in
1907 xauto-host.h:config.in)
1908 echo > cstamp-h ;;
1909 esac
1910 # If the host supports symlinks, point stage[1234] at ../stage[1234] so
1911 # bootstrapping and the installation procedure can still use
1912 # CC="stage1/xgcc -Bstage1/".  If the host doesn't support symlinks,
1913 # FLAGS_TO_PASS has been modified to solve the problem there.
1914 # This is virtually a duplicate of what happens in configure.lang; we do
1915 # an extra check to make sure this only happens if ln -s can be used.
1916 if test "$symbolic_link" = "ln -s"; then
1917  for d in .. ${subdirs} ; do
1918    if test $d != ..; then
1919         STARTDIR=`pwd`
1920         cd $d
1921         for t in stage1 stage2 stage3 stage4 include
1922         do
1923                 rm -f $t
1924                 $symbolic_link ../$t $t 2>/dev/null
1925         done
1926         cd $STARTDIR
1927    fi
1928  done
1929 else true ; fi
1930 # Avoid having to add intl to our include paths.
1931 if test -f intl/libintl.h; then
1932   echo creating libintl.h
1933   echo '#include "intl/libintl.h"' >libintl.h
1934 fi
1935 ],
1936 [
1937 host='${host}'
1938 build='${build}'
1939 target='${target}'
1940 target_alias='${target_alias}'
1941 srcdir='${srcdir}'
1942 subdirs='${subdirs}'
1943 symbolic_link='${symbolic_link}'
1944 program_transform_set='${program_transform_set}'
1945 program_transform_name='${program_transform_name}'
1946 dep_host_xmake_file='${dep_host_xmake_file}'
1947 host_xmake_file='${host_xmake_file}'
1948 dep_tmake_file='${dep_tmake_file}'
1949 tmake_file='${tmake_file}'
1950 thread_file='${thread_file}'
1951 gcc_config_arguments='${gcc_config_arguments}'
1952 gcc_version='${gcc_version}'
1953 gcc_version_full='${gcc_version_full}'
1954 gcc_version_trigger='${gcc_version_trigger}'
1955 local_prefix='${local_prefix}'
1956 build_install_headers_dir='${build_install_headers_dir}'
1957 build_exeext='${build_exeext}'
1958 host_exeext='${host_exeext}'
1959 out_file='${out_file}'
1960 gdb_needs_out_file_path='${gdb_needs_out_file_path}'
1961 SET_MAKE='${SET_MAKE}'
1962 target_list='${target_list}'
1963 target_overrides='${target_overrides}'
1964 host_overrides='${host_overrides}'
1965 cross_defines='${cross_defines}'
1966 cross_overrides='${cross_overrides}'
1967 build_overrides='${build_overrides}'
1968 cpp_install_dir='${cpp_install_dir}'
1969 ])