* configure.in (noconfigdirs) [mmix-*-*]: Disable libgloss and gdb.
[deliverable/binutils-gdb.git] / configure.in
1 #! /bin/bash
2 ##############################################################################
3
4 ## This file is a shell script fragment that supplies the information
5 ## necessary to tailor a template configure script into the configure
6 ## script appropriate for this directory. For more information, check
7 ## any existing configure script.
8
9 ## Be warned, there are two types of configure.in files. There are those
10 ## used by Autoconf, which are macros which are expanded into a configure
11 ## script by autoconf. The other sort, of which this is one, is executed
12 ## by Cygnus configure.
13
14 ## For more information on these two systems, check out the documentation
15 ## for 'Autoconf' (autoconf.texi) and 'Configure' (configure.texi).
16
17 # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998,
18 # 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
19 #
20 # This file is free software; you can redistribute it and/or modify it
21 # under the terms of the GNU General Public License as published by
22 # the Free Software Foundation; either version 2 of the License, or
23 # (at your option) any later version.
24 #
25 # This program is distributed in the hope that it will be useful, but
26 # WITHOUT ANY WARRANTY; without even the implied warranty of
27 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
28 # General Public License for more details.
29 #
30 # You should have received a copy of the GNU General Public License
31 # along with this program; if not, write to the Free Software
32 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
33
34 ##############################################################################
35
36 extra_host_args=
37 # Define the trigger file to make sure configure will re-run whenever
38 # the gcc version number changes.
39 if [ "${with_gcc_version_trigger+set}" = set ]; then
40 gcc_version_trigger="$with_gcc_version_trigger"
41 gcc_version=`grep version_string ${with_gcc_version_trigger} | sed -e 's/.*\"\([^ \"]*\)[ \"].*/\1/'`
42 else
43 # If gcc's sources are available, define the trigger file.
44 if [ -f ${topsrcdir}/gcc/version.c ] ; then
45 gcc_version_trigger=${topsrcdir}/gcc/version.c
46 gcc_version=`grep version_string ${gcc_version_trigger} | sed -e 's/.*\"\([^ \"]*\)[ \"].*/\1/'`
47 case "$arguments" in
48 *--with-gcc-version-trigger=$gcc_version_trigger* )
49 ;;
50 * )
51 # Add to all subconfigure arguments: build, host, and target.
52 arguments="--with-gcc-version-trigger=$gcc_version_trigger $arguments"
53 ;;
54 esac
55 # This will be redundant when we start all subconfigures from the Makefile.
56 extra_host_args="--with-gcc-version-trigger=$gcc_version_trigger $extra_host_args"
57 fi
58 fi
59
60 ### To add a new directory to the tree, first choose whether it is a target
61 ### or a host dependent tool. Then put it into the appropriate list
62 ### (library or tools, host or target), doing a dependency sort.
63
64 # Subdirs will be configured in the order listed in build_configdirs,
65 # configdirs, or target_configdirs; see the serialization section below.
66
67 # Dependency sorting is only needed when *configuration* must be done in
68 # a particular order. In all cases a dependency should be specified in
69 # the Makefile, whether or not it's implicitly specified here.
70
71 # Double entries in build_configdirs, configdirs, or target_configdirs may
72 # cause circular dependencies and break everything horribly.
73
74 # these libraries are used by various programs built for the host environment
75 #
76 host_libs="intl mmalloc libiberty opcodes bfd readline db tcl tk itcl tix libgui zlib"
77
78 libstdcxx_version="target-libstdc++-v3"
79
80 # these tools are built for the host environment
81 # Note, the powerpc-eabi build depends on sim occurring before gdb in order to
82 # know that we are building the simulator.
83 # binutils, gas and ld appear in that order because it makes sense to run
84 # "make check" in that particular order.
85 host_tools="texinfo byacc flex bison binutils gas ld gcc sid sim gdb make patch prms send-pr gprof etc expect dejagnu ash bash bzip2 m4 autoconf automake libtool grep diff rcs fileutils shellutils time textutils wdiff find uudecode hello tar gzip indent recode release sed utils guile perl gawk findutils snavigator gettext zip fastjar"
86
87 # libgcj represents the runtime libraries only used by gcj.
88 libgcj="target-libffi \
89 target-boehm-gc \
90 target-zlib \
91 target-qthreads \
92 target-libjava"
93
94 # these libraries are built for the target environment, and are built after
95 # the host libraries and the host tools (which may be a cross compiler)
96 #
97 target_libs="target-libiberty \
98 target-libgloss \
99 target-newlib \
100 ${libstdcxx_version} \
101 target-libf2c \
102 ${libgcj}
103 target-libobjc"
104
105 # these tools are built using the target libs, and are intended to run only
106 # in the target environment
107 #
108 # note: any program that *uses* libraries that are in the "target_libs"
109 # list belongs in this list. those programs are also very likely
110 # candidates for the "native_only" list which follows
111 #
112 target_tools="target-examples target-groff target-gperf target-rda"
113
114 ################################################################################
115
116 ## All tools belong in one of the four categories, and are assigned above
117 ## We assign ${configdirs} this way to remove all embedded newlines. This
118 ## is important because configure will choke if they ever get through.
119 ## ${configdirs} is directories we build using the host tools.
120 ## ${target_configdirs} is directories we build using the target tools.
121 #
122 configdirs=`echo ${host_libs} ${host_tools}`
123 target_configdirs=`echo ${target_libs} ${target_tools}`
124
125 ################################################################################
126
127 srctrigger=move-if-change
128 srcname="gnu development package"
129
130 # This gets set non-empty for some net releases of packages.
131 appdirs=""
132
133 # per-host:
134
135 # There is no longer anything interesting in the per-host section.
136
137 # per-target:
138
139 # Define is_cross_compiler to save on calls to 'test'.
140 is_cross_compiler=
141 if test x"${host}" = x"${target}" ; then
142 is_cross_compiler=no
143 else
144 is_cross_compiler=yes
145 fi
146
147 # We always want to use the same name for this directory, so that dejagnu
148 # can reliably find it.
149 target_subdir=${target_alias}
150
151 if test ! -d ${target_subdir} ; then
152 if mkdir ${target_subdir} ; then true
153 else
154 echo "'*** could not make ${PWD=`${PWDCMD-pwd}`}/${target_subdir}" 1>&2
155 exit 1
156 fi
157 fi
158
159 build_subdir=${build_alias}
160
161 if test x"${build_alias}" != x"${host}" ; then
162 if test ! -d ${build_subdir} ; then
163 if mkdir ${build_subdir} ; then true
164 else
165 echo "'*** could not make ${PWD=`${PWDCMD-pwd}`}/${build_subdir}" 1>&2
166 exit 1
167 fi
168 fi
169 fi
170
171 # Skipdirs are removed silently.
172 skipdirs=
173 # Noconfigdirs are removed loudly.
174 noconfigdirs=""
175
176 use_gnu_ld=
177 # Make sure we don't let GNU ld be added if we didn't want it.
178 if test x$with_gnu_ld = xno ; then
179 use_gnu_ld=no
180 noconfigdirs="$noconfigdirs ld"
181 fi
182
183 use_gnu_as=
184 # Make sure we don't let GNU as be added if we didn't want it.
185 if test x$with_gnu_as = xno ; then
186 use_gnu_as=no
187 noconfigdirs="$noconfigdirs gas"
188 fi
189
190 # some tools are so dependent upon X11 that if we're not building with X,
191 # it's not even worth trying to configure, much less build, that tool.
192
193 case ${with_x} in
194 yes | "") ;; # the default value for this tree is that X11 is available
195 no)
196 skipdirs="${skipdirs} tk tix itcl libgui"
197 # We won't be able to build gdbtk without X.
198 enable_gdbtk=no
199 ;;
200 *) echo "*** bad value \"${with_x}\" for -with-x flag; ignored" 1>&2 ;;
201 esac
202
203 # Some tools are only suitable for building in a "native" situation.
204 # Remove these if host!=target.
205 native_only="autoconf automake libtool fileutils find gawk gettext grep gzip hello indent m4 rcs recode sed shellutils tar textutils uudecode wdiff gprof target-groff guile perl time ash bash bzip2 prms snavigator gnuserv target-gperf"
206
207 # Similarly, some are only suitable for cross toolchains.
208 # Remove these if host=target.
209 cross_only="target-libgloss target-newlib target-opcodes"
210
211 case $is_cross_compiler in
212 no) skipdirs="${skipdirs} ${cross_only}" ;;
213 yes) skipdirs="${skipdirs} ${native_only}" ;;
214 esac
215
216 # If both --with-headers and --with-libs are specified, default to
217 # --without-newlib.
218 if test x"${with_headers}" != x && test x"${with_libs}" != x ; then
219 if test x"${with_newlib}" = x ; then
220 with_newlib=no
221 fi
222 fi
223
224 # Recognize --with-newlib/--without-newlib.
225 case ${with_newlib} in
226 no) skipdirs="${skipdirs} target-newlib" ;;
227 yes) skipdirs=`echo " ${skipdirs} " | sed -e 's/ target-newlib / /'` ;;
228 esac
229
230 # Configure extra directories which are host specific
231
232 case "${host}" in
233 *-cygwin*)
234 configdirs="$configdirs libtermcap" ;;
235 esac
236
237 # Remove more programs from consideration, based on the host or
238 # target this usually means that a port of the program doesn't
239 # exist yet.
240
241 case "${host}" in
242 hppa*64*-*-*)
243 noconfigdirs="$noconfigdirs byacc"
244 ;;
245 i[3456]86-*-vsta)
246 noconfigdirs="tcl expect dejagnu make texinfo bison patch flex byacc send-pr gprof uudecode dejagnu diff guile perl itcl tix db snavigator gnuserv gettext"
247 ;;
248 i[3456]86-*-go32* | i[3456]86-*-msdosdjgpp*)
249 noconfigdirs="tcl tk expect dejagnu send-pr uudecode guile itcl tix db snavigator gnuserv libffi"
250 ;;
251 i[3456]86-*-mingw32*)
252 # noconfigdirs="tcl tk expect dejagnu make texinfo bison patch flex byacc send-pr uudecode dejagnu diff guile perl itcl tix db snavigator gnuserv"
253 noconfigdirs="expect dejagnu autoconf automake send-pr rcs guile perl texinfo libtool"
254 ;;
255 i[3456]86-*-beos*)
256 noconfigdirs="$noconfigdirs tk itcl tix libgui gdb"
257 ;;
258 *-*-cygwin*)
259 noconfigdirs="autoconf automake send-pr rcs guile perl"
260 ;;
261 *-*-netbsd*)
262 noconfigdirs="rcs"
263 ;;
264 ppc*-*-pe)
265 noconfigdirs="patch diff make tk tcl expect dejagnu autoconf automake texinfo bison send-pr gprof rcs guile perl itcl tix db snavigator gnuserv"
266 ;;
267 powerpc-*-beos*)
268 noconfigdirs="$noconfigdirs tk itcl tix libgui gdb dejagnu readline"
269 ;;
270 *-*-darwin*)
271 noconfigdirs="$noconfigdirs tk itcl tix libgui"
272 ;;
273 esac
274
275 # Save it here so that, even in case of --enable-libgcj, if the Java
276 # front-end isn't enabled, we still get libgcj disabled.
277 libgcj_saved=$libgcj
278 case $enable_libgcj in
279 yes)
280 # If we reset it here, it won't get added to noconfigdirs in the
281 # target-specific build rules, so it will be forcibly enabled
282 # (unless the Java language itself isn't enabled).
283 libgcj=
284 ;;
285 no)
286 # Make sure we get it printed in the list of not supported target libs.
287 noconfigdirs="$noconfigdirs ${libgcj}"
288 ;;
289 esac
290
291 case "${target}" in
292 *-*-chorusos)
293 noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj}"
294 ;;
295 *-*-freebsd[12] | *-*-freebsd[12].* | *-*-freebsd*aout*)
296 noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj}"
297 ;;
298 *-*-netbsd*)
299 # Skip some stuff on all NetBSD configurations.
300 noconfigdirs="$noconfigdirs target-newlib target-libiberty target-libgloss"
301
302 # Skip some stuff that's unsupported on some NetBSD configurations.
303 case "${target}" in
304 i*86-*-netbsdelf*) ;;
305 *)
306 noconfigdirs="$noconfigdirs ${libgcj}"
307 ;;
308 esac
309 ;;
310 *-*-netware)
311 noconfigdirs="$noconfigdirs ${libstdcxx_version} target-newlib target-libiberty target-libgloss ${libgcj}"
312 ;;
313 *-*-rtems*)
314 noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
315 case ${target} in
316 h8300*-*-* | h8500-*-*)
317 noconfigdirs="$noconfigdirs target-libf2c"
318 ;;
319 *) ;;
320 esac
321 ;;
322 *-*-vxworks*)
323 noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj}"
324 ;;
325 alpha*-dec-osf*)
326 # ld works, but does not support shared libraries.
327 # newlib is not 64 bit ready. I'm not sure about fileutils.
328 # gas doesn't generate exception information.
329 noconfigdirs="$noconfigdirs gas ld fileutils target-newlib target-libgloss"
330 ;;
331 alpha*-*-*vms*)
332 noconfigdirs="$noconfigdirs gdb ld target-newlib target-libgloss ${libgcj}"
333 ;;
334 alpha*-*-linux*)
335 # newlib is not 64 bit ready
336 noconfigdirs="$noconfigdirs target-newlib target-libgloss"
337 ;;
338 alpha*-*-freebsd*)
339 noconfigdirs="$noconfigdirs target-newlib target-libgloss"
340 ;;
341 alpha*-*-*)
342 # newlib is not 64 bit ready
343 noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj}"
344 ;;
345 sh-*-linux*)
346 noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss"
347 ;;
348 sh*-*-pe|mips*-*-pe|*arm-wince-pe)
349 noconfigdirs="$noconfigdirs ${libgcj}"
350 noconfigdirs="$noconfigdirs target-examples"
351 noconfigdirs="$noconfigdirs target-libiberty texinfo send-pr"
352 noconfigdirs="$noconfigdirs tcl tix tk itcl libgui sim"
353 noconfigdirs="$noconfigdirs expect dejagnu"
354 # the C++ libraries don't build on top of CE's C libraries
355 noconfigdirs="$noconfigdirs ${libstdcxx_version}"
356 noconfigdirs="$noconfigdirs target-newlib"
357 case "${host}" in
358 *-*-cygwin*) ;; # keep gdb and readline
359 *) noconfigdirs="$noconfigdirs gdb readline ${libstdcxx_version}"
360 ;;
361 esac
362 ;;
363 arc-*-*)
364 noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
365 ;;
366 arm-*-coff | strongarm-*-coff | xscale-*-coff)
367 noconfigdirs="$noconfigdirs ${libgcj}"
368 ;;
369 arm-*-elf* | strongarm-*-elf* | xscale-*-elf*)
370 noconfigdirs="$noconfigdirs target-libffi target-qthreads"
371 ;;
372 arm-*-pe*)
373 noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
374 ;;
375 arm-*-oabi*)
376 noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
377 ;;
378 thumb-*-coff)
379 noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
380 ;;
381 thumb-*-elf)
382 noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
383 ;;
384 thumb-*-oabi)
385 noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
386 ;;
387 thumb-*-pe)
388 noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
389 ;;
390 arm-*-riscix*)
391 noconfigdirs="$noconfigdirs ld target-libgloss ${libgcj}"
392 ;;
393 avr-*-*)
394 noconfigdirs="$noconfigdirs target-libiberty ${libstdcxx_version} ${libgcj}"
395 ;;
396 c4x-*-* | tic4x-*-*)
397 noconfigdirs="$noconfigdirs ${libstdcxx_version} target-libgloss ${libgcj}"
398 ;;
399 c54x*-*-* | tic54x-*-*)
400 noconfigdirs="$noconfigdirs ${libstdcxx_version} target-libgloss ${libgcj} gcc gdb newlib"
401 ;;
402 cris-*-*)
403 noconfigdirs="$noconfigdirs ${libgcj}"
404 ;;
405 d10v-*-*)
406 noconfigdirs="$noconfigdirs ${libstdcxx_version} target-libgloss ${libgcj}"
407 ;;
408 d30v-*-*)
409 noconfigdirs="$noconfigdirs ${libgcj}"
410 ;;
411 fr30-*-elf*)
412 noconfigdirs="$noconfigdirs ${libgcj}"
413 ;;
414 frv-*-*)
415 noconfigdirs="$noconfigdirs ${libgcj}"
416 ;;
417 h8300*-*-*)
418 noconfigdirs="$noconfigdirs target-libgloss"
419 ;;
420 h8500-*-*)
421 noconfigdirs="$noconfigdirs ${libstdcxx_version} target-libgloss ${libgcj} target-libf2c"
422 ;;
423 hppa*64*-*-linux* | parisc*64*-*-linux*)
424 # In this case, it's because the hppa64-linux target is for
425 # the kernel only at this point and has no libc, and thus no
426 # headers, crt*.o, etc., all of which are needed by these.
427 noconfigdirs="$noconfigdirs target-zlib"
428 ;;
429 hppa*-*-*elf* | \
430 parisc*-*-linux* | hppa*-*-linux* | \
431 hppa*-*-lites* | \
432 hppa*-*-openbsd* | \
433 hppa*64*-*-*)
434 noconfigdirs="$noconfigdirs ${libgcj}"
435 # Do configure ld/binutils/gas for this case.
436 ;;
437 hppa*-*-*)
438 # According to Alexandre Oliva <aoliva@redhat.com>, libjava won't
439 # build on HP-UX 10.20.
440 noconfigdirs="$noconfigdirs ld shellutils ${libgcj}"
441 ;;
442 ia64*-*-elf*)
443 # No gdb support yet.
444 noconfigdirs="$noconfigdirs tix readline mmalloc libgui itcl gdb"
445 ;;
446 ia64*-**-hpux*)
447 # No gdb or ld support yet.
448 noconfigdirs="$noconfigdirs tix readline mmalloc libgui itcl gdb ld"
449 ;;
450 i[3456]86-*-coff | i[3456]86-*-elf)
451 noconfigdirs="$noconfigdirs ${libgcj}"
452 ;;
453 i[34567]86-*-freebsd*)
454 noconfigdirs="$noconfigdirs target-newlib target-libgloss"
455 ;;
456 i[3456]86-*-linux*)
457 # The GCC port for glibc1 has no MD_FALLBACK_FRAME_STATE_FOR, so let's
458 # not build java stuff by default.
459 case "${target}" in
460 *-*-*libc1*)
461 noconfigdirs="$noconfigdirs ${libgcj}";;
462 esac
463
464 # This section makes it possible to build newlib natively on linux.
465 # If we are using a cross compiler then don't configure newlib.
466 if test x${is_cross_compiler} != xno ; then
467 noconfigdirs="$noconfigdirs target-newlib"
468 fi
469 noconfigdirs="$noconfigdirs target-libgloss"
470 # If we are not using a cross compiler, do configure newlib.
471 # Note however, that newlib will only be configured in this situation
472 # if the --with-newlib option has been given, because otherwise
473 # 'target-newlib' will appear in skipdirs.
474 ;;
475 i[3456]86-*-mingw32*)
476 target_configdirs="$target_configdirs target-mingw"
477 noconfigdirs="$noconfigdirs expect target-libgloss ${libgcj}"
478
479 # Can't build gdb for mingw32 if not native.
480 case "${host}" in
481 i[3456]86-*-mingw32) ;; # keep gdb tcl tk expect etc.
482 *) noconfigdirs="$noconfigdirs gdb tcl tk expect itcl tix db snavigator gnuserv"
483 ;;
484 esac
485 ;;
486 *-*-cygwin*)
487 target_configdirs="$target_configdirs target-libtermcap target-winsup"
488 noconfigdirs="$noconfigdirs target-gperf target-libgloss ${libgcj}"
489 # always build newlib.
490 skipdirs=`echo " ${skipdirs} " | sed -e 's/ target-newlib / /'`
491
492 # Can't build gdb for Cygwin if not native.
493 case "${host}" in
494 *-*-cygwin*) ;; # keep gdb tcl tk expect etc.
495 *) noconfigdirs="$noconfigdirs gdb tcl tk expect itcl tix libgui db snavigator gnuserv"
496 ;;
497 esac
498 ;;
499 i[3456]86-*-pe)
500 noconfigdirs="$noconfigdirs ${libstdcxx_version} target-libgloss ${libgcj}"
501 ;;
502 i[3456]86-*-sco3.2v5*)
503 # The linker does not yet know about weak symbols in COFF,
504 # and is not configured to handle mixed ELF and COFF.
505 noconfigdirs="$noconfigdirs ld target-libgloss ${libgcj}"
506 ;;
507 i[3456]86-*-sco*)
508 noconfigdirs="$noconfigdirs gprof target-libgloss ${libgcj}"
509 ;;
510 i[3456]86-*-solaris2*)
511 noconfigdirs="$noconfigdirs target-libgloss"
512 ;;
513 i[3456]86-*-sysv4*)
514 noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
515 ;;
516 i[3456]86-*-beos*)
517 noconfigdirs="$noconfigdirs gdb target-newlib target-libgloss ${libgcj}"
518 ;;
519 m68hc11-*-*|m6811-*-*|m68hc12-*-*|m6812-*-*)
520 noconfigdirs="$noconfigdirs target-libiberty ${libstdcxx_version} ${libgcj}"
521 ;;
522 m68k-*-elf*)
523 noconfigdirs="$noconfigdirs ${libgcj}"
524 ;;
525 m68k-*-coff*)
526 noconfigdirs="$noconfigdirs ${libgcj}"
527 ;;
528 mcore-*-pe*)
529 # The EPOC C++ environment does not support exceptions or rtti,
530 # and so building libstdc++-v3 tends not to always work.
531 noconfigdirs="$noconfigdirs target-libstdc++-v3"
532 ;;
533 mmix-*-*)
534 noconfigdirs="$noconfigdirs ${libgcj} gdb libgloss"
535 ;;
536 mn10200-*-*)
537 noconfigdirs="$noconfigdirs ${libgcj}"
538 ;;
539 mn10300-*-*)
540 noconfigdirs="$noconfigdirs ${libgcj}"
541 ;;
542 powerpc-*-aix*)
543 # copied from rs6000-*-* entry
544 noconfigdirs="$noconfigdirs gprof target-libgloss ${libgcj}"
545 ;;
546 powerpc*-*-winnt* | powerpc*-*-pe* | ppc*-*-pe)
547 target_configdirs="$target_configdirs target-winsup"
548 noconfigdirs="$noconfigdirs gdb tcl tk make expect target-libgloss itcl tix db snavigator gnuserv ${libgcj}"
549 # always build newlib.
550 skipdirs=`echo " ${skipdirs} " | sed -e 's/ target-newlib / /'`
551 ;;
552 # This is temporary until we can link against shared libraries
553 powerpcle-*-solaris*)
554 noconfigdirs="$noconfigdirs gdb sim make tcl tk expect itcl tix db snavigator gnuserv ${libgcj}"
555 ;;
556 powerpc-*-beos*)
557 noconfigdirs="$noconfigdirs gdb target-newlib target-libgloss ${libgcj}"
558 ;;
559 powerpc-*-darwin*)
560 noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes gdb gprof ${libgcj}"
561 ;;
562 powerpc-*-eabi)
563 noconfigdirs="$noconfigdirs ${libgcj}"
564 ;;
565 powerpc64*-*-linux*)
566 noconfigdirs="$noconfigdirs target-newlib target-libgloss"
567 # not yet ported.
568 noconfigdirs="$noconfigdirs target-libffi"
569 ;;
570 rs6000-*-lynxos*)
571 noconfigdirs="$noconfigdirs target-newlib gprof ${libgcj}"
572 ;;
573 rs6000-*-aix*)
574 noconfigdirs="$noconfigdirs gprof ${libgcj}"
575 ;;
576 rs6000-*-*)
577 noconfigdirs="$noconfigdirs gprof ${libgcj}"
578 ;;
579 m68k-apollo-*)
580 noconfigdirs="$noconfigdirs ld binutils gprof target-libgloss ${libgcj}"
581 ;;
582 mips*-*-irix5*)
583 # The GNU linker does not support shared libraries.
584 noconfigdirs="$noconfigdirs ld gprof target-libgloss ${libgcj}"
585 ;;
586 mips*-*-irix6*)
587 # The GNU assembler does not support IRIX 6.
588 # Linking libjava exceeds command-line length limits on at least
589 # IRIX 6.2, but not on IRIX 6.5.
590 # Also, boehm-gc won't build on IRIX 6.5, according to Jeffrey Oldham
591 # <oldham@codesourcery.com>
592 noconfigdirs="$noconfigdirs gas gprof target-libgloss ${libgcj}"
593 ;;
594 mips*-dec-bsd*)
595 noconfigdirs="$noconfigdirs gprof target-libgloss ${libgcj}"
596 ;;
597 mips*-*-bsd*)
598 noconfigdirs="$noconfigdirs gprof target-libgloss ${libgcj}"
599 ;;
600 mipstx39-*-*)
601 noconfigdirs="$noconfigdirs gprof ${libgcj}" # same as generic mips
602 ;;
603 mips*-*-linux*)
604 noconfigdirs="$noconfigdirs target-newlib target-libgloss"
605 ;;
606 mips*-*-*)
607 noconfigdirs="$noconfigdirs gprof ${libgcj}"
608 ;;
609 romp-*-*)
610 noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes target-libgloss ${libgcj}"
611 ;;
612 sh-*-*)
613 case "${host}" in
614 i[3456]86-*-vsta) ;; # don't add gprof back in
615 i[3456]86-*-go32*) ;; # don't add gprof back in
616 i[3456]86-*-msdosdjgpp*) ;; # don't add gprof back in
617 *) skipdirs=`echo " ${skipdirs} " | sed -e 's/ gprof / /'` ;;
618 esac
619 noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
620 ;;
621 sh64-*-*)
622 noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
623 ;;
624 sparc-*-elf*)
625 noconfigdirs="$noconfigdirs ${libgcj}"
626 ;;
627 sparc64-*-elf*)
628 noconfigdirs="$noconfigdirs ${libgcj}"
629 ;;
630 sparclite-*-*)
631 noconfigdirs="$noconfigdirs ${libgcj}"
632 ;;
633 sparc-*-sunos4*)
634 noconfigdirs="$noconfigdirs ${libgcj}"
635 if test x${is_cross_compiler} != xno ; then
636 noconfigdirs="$noconfigdirs gdb target-newlib target-libgloss"
637 else
638 use_gnu_ld=no
639 fi
640 ;;
641 sparc-*-solaris* | sparc64-*-solaris* | sparcv9-*-solaris*)
642 ;;
643 v810-*-*)
644 noconfigdirs="$noconfigdirs bfd binutils gas gcc gdb ld ${libstdcxx_version} opcodes target-libgloss ${libgcj}"
645 ;;
646 v850-*-*)
647 noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
648 ;;
649 v850e-*-*)
650 noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
651 ;;
652 v850ea-*-*)
653 noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
654 ;;
655 vax-*-vms)
656 noconfigdirs="$noconfigdirs bfd binutils gdb ld target-newlib opcodes target-libgloss ${libgcj}"
657 ;;
658 vax-*-*)
659 noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj}"
660 ;;
661 ip2k-*-*)
662 noconfigdirs="$noconfigdirs target-libiberty ${libstdcxx_version} ${libgcj}"
663 ;;
664 *-*-linux*)
665 noconfigdirs="$noconfigdirs target-newlib target-libgloss"
666 ;;
667 *-*-lynxos*)
668 noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj}"
669 ;;
670 *-*-*)
671 noconfigdirs="$noconfigdirs ${libgcj}"
672 ;;
673 esac
674
675 # If we aren't building newlib, then don't build libgloss, since libgloss
676 # depends upon some newlib header files.
677 case "${noconfigdirs}" in
678 *target-libgloss*) ;;
679 *target-newlib*) noconfigdirs="$noconfigdirs target-libgloss" ;;
680 esac
681
682 # Figure out what language subdirectories are present.
683 # Look if the user specified --enable-languages="..."; if not, use
684 # the environment variable $LANGUAGES if defined. $LANGUAGES might
685 # go away some day.
686 # NB: embedded tabs in this IF block -- do not untabify
687 if test x"${enable_languages+set}" != xset; then
688 if test x"${LANGUAGES+set}" = xset; then
689 enable_languages="${LANGUAGES}"
690 echo configure.in: warning: setting LANGUAGES is deprecated, use --enable-languages instead 1>&2
691 else
692 enable_languages=all
693 fi
694 else
695 if test x"${enable_languages}" = x ||
696 test x"${enable_languages}" = xyes;
697 then
698 echo configure.in: --enable-languages needs at least one language argument 1>&2
699 exit 1
700 fi
701 fi
702 enable_languages=`echo "${enable_languages}" | sed -e 's/[ ,][ ,]*/,/g' -e 's/,$//'`
703
704 # First scan to see if an enabled language requires some other language.
705 # We assume that a given config-lang.in will list all the language
706 # front ends it requires, even if some are required indirectly.
707 for lang in ${srcdir}/gcc/*/config-lang.in ..
708 do
709 case $lang in
710 ..)
711 ;;
712 # The odd quoting in the next line works around
713 # an apparent bug in bash 1.12 on linux.
714 ${srcdir}/gcc/[*]/config-lang.in)
715 ;;
716 *)
717 lang_alias=`sed -n -e 's,^language=['"'"'"'"]\(.*\)["'"'"'"'].*$,\1,p' -e 's,^language=\([^ ]*\).*$,\1,p' $lang`
718 this_lang_requires=`sed -n -e 's,^lang_requires=['"'"'"'"]\(.*\)["'"'"'"'].*$,\1,p' -e 's,^lang_requires=\([^ ]*\).*$,\1,p' $lang`
719 for other in $this_lang_requires
720 do
721 case ,${enable_languages}, in
722 *,$other,*)
723 ;;
724 *,all,*)
725 ;;
726 *,$lang_alias,*)
727 echo " \`$other' language required by \`$lang_alias'; enabling" 1>&2
728 enable_languages="$enable_languages,$other"
729 ;;
730 esac
731 done
732 ;;
733 esac
734 done
735
736 subdirs=
737 for lang in ${srcdir}/gcc/*/config-lang.in ..
738 do
739 case $lang in
740 ..) ;;
741 # The odd quoting in the next line works around
742 # an apparent bug in bash 1.12 on linux.
743 ${srcdir}/gcc/[*]/config-lang.in) ;;
744 *)
745 lang_alias=`sed -n -e 's,^language=['"'"'"'"]\(.*\)["'"'"'"'].*$,\1,p' -e 's,^language=\([^ ]*\).*$,\1,p' $lang`
746 this_lang_libs=`sed -n -e 's,^target_libs=['"'"'"'"]\(.*\)["'"'"'"'].*$,\1,p' -e 's,^target_libs=\([^ ]*\).*$,\1,p' $lang`
747 this_lang_dirs=`sed -n -e 's,^lang_dirs=['"'"'"'"]\(.*\)["'"'"'"'].*$,\1,p' -e 's,^lang_dirs=\([^ ]*\).*$,\1,p' $lang`
748 build_by_default=`sed -n -e 's,^build_by_default=['"'"'"'"]\(.*\)["'"'"'"'].*$,\1,p' -e 's,^build_by_default=\([^ ]*\).*$,\1,p' $lang`
749 if test "x$lang_alias" = x
750 then
751 echo "$lang doesn't set \$language." 1>&2
752 exit 1
753 fi
754 case ${build_by_default},${enable_languages}, in
755 *,$lang_alias,*) add_this_lang=yes ;;
756 no,*) add_this_lang=no ;;
757 *,all,*) add_this_lang=yes ;;
758 *) add_this_lang=no ;;
759 esac
760 if test x"${add_this_lang}" = xyes; then
761 eval target_libs='"$target_libs "'\"$this_lang_libs\"
762 else
763 eval noconfigdirs='"$noconfigdirs "'\"$this_lang_libs $this_lang_dirs\"
764 fi
765 ;;
766 esac
767 done
768
769 # Remove the entries in $skipdirs and $noconfigdirs from $configdirs and
770 # $target_configdirs.
771 # If we have the source for $noconfigdirs entries, add them to $notsupp.
772
773 notsupp=""
774 for dir in . $skipdirs $noconfigdirs ; do
775 dirname=`echo $dir | sed -e s/target-//g`
776 if test $dir != . && echo " ${configdirs} " | grep " ${dir} " >/dev/null 2>&1; then
777 configdirs=`echo " ${configdirs} " | sed -e "s/ ${dir} / /"`
778 if test -r $srcdir/$dirname/configure ; then
779 if echo " ${skipdirs} " | grep " ${dir} " >/dev/null 2>&1; then
780 true
781 else
782 notsupp="$notsupp $dir"
783 fi
784 fi
785 fi
786 if test $dir != . && echo " ${target_configdirs} " | grep " ${dir} " >/dev/null 2>&1; then
787 target_configdirs=`echo " ${target_configdirs} " | sed -e "s/ ${dir} / /"`
788 if test -r $srcdir/$dirname/configure ; then
789 if echo " ${skipdirs} " | grep " ${dir} " >/dev/null 2>&1; then
790 true
791 else
792 notsupp="$notsupp $dir"
793 fi
794 fi
795 fi
796 done
797
798 # Sometimes the tools are distributed with libiberty but with no other
799 # libraries. In that case, we don't want to build target-libiberty.
800 if test -n "${target_configdirs}" ; then
801 others=
802 for i in `echo ${target_configdirs} | sed -e s/target-//g` ; do
803 if test "$i" != "libiberty" ; then
804 if test -r $srcdir/$i/configure ; then
805 others=yes;
806 break;
807 fi
808 fi
809 done
810 if test -z "${others}" ; then
811 target_configdirs=
812 fi
813 fi
814
815 # Deconfigure all subdirectories, in case we are changing the
816 # configuration from one where a subdirectory is supported to one where it
817 # is not.
818 if test -z "${norecursion}" && test -n "${configdirs}" ; then
819 for i in `echo ${configdirs} | sed -e s/target-//g` ; do
820 rm -f $i/Makefile
821 done
822 fi
823 if test -z "${norecursion}" && test -n "${target_configdirs}" ; then
824 for i in `echo ${target_configdirs} | sed -e s/target-//g` ; do
825 rm -f ${target_subdir}/$i/Makefile
826 done
827 fi
828
829 # Quietly strip out all directories which aren't configurable in this tree.
830 # This relies on all configurable subdirectories being autoconfiscated, which
831 # is now the case.
832 configdirs_all="$configdirs"
833 configdirs=
834 for i in ${configdirs_all} ; do
835 if test -f ${srcdir}/$i/configure ; then
836 configdirs="${configdirs} $i"
837 fi
838 done
839 target_configdirs_all="$target_configdirs"
840 target_configdirs=
841 for i in ${target_configdirs_all} ; do
842 j=`echo $i | sed -e s/target-//g`
843 if test -f ${srcdir}/$j/configure ; then
844 target_configdirs="${target_configdirs} $i"
845 fi
846 done
847
848 # Produce a warning message for the subdirs we can't configure.
849 # This isn't especially interesting in the Cygnus tree, but in the individual
850 # FSF releases, it's important to let people know when their machine isn't
851 # supported by the one or two programs in a package.
852
853 if test -n "${notsupp}" && test -z "${norecursion}" ; then
854 # If $appdirs is non-empty, at least one of those directories must still
855 # be configured, or we error out. (E.g., if the gas release supports a
856 # specified target in some subdirs but not the gas subdir, we shouldn't
857 # pretend that all is well.)
858 if test -n "$appdirs" ; then
859 for dir in $appdirs ; do
860 if test -r $dir/Makefile.in ; then
861 if echo " ${configdirs} " | grep " ${dir} " >/dev/null 2>&1; then
862 appdirs=""
863 break
864 fi
865 if echo " ${target_configdirs} " | grep " ${dir} " >/dev/null 2>&1; then
866 appdirs=""
867 break
868 fi
869 fi
870 done
871 if test -n "$appdirs" ; then
872 echo "*** This configuration is not supported by this package." 1>&2
873 exit 1
874 fi
875 fi
876 # Okay, some application will build, or we don't care to check. Still
877 # notify of subdirs not getting built.
878 echo "*** This configuration is not supported in the following subdirectories:" 1>&2
879 echo " ${notsupp}" 1>&2
880 echo " (Any other directories should still work fine.)" 1>&2
881 fi
882
883 case "$host" in
884 *msdosdjgpp*)
885 enable_gdbtk=no ;;
886 esac
887
888 copy_dirs=
889
890 # Handle --with-headers=XXX. If the value is not "yes", the contents of
891 # the named directory are copied to $(tooldir)/sys-include.
892 if test x"${with_headers}" != x ; then
893 if test x${is_cross_compiler} = xno ; then
894 echo 1>&2 '***' --with-headers is only supported when cross compiling
895 exit 1
896 fi
897 if test x"${with_headers}" != xyes ; then
898 case "${exec_prefixoption}" in
899 "") x=${prefix} ;;
900 *) x=${exec_prefix} ;;
901 esac
902 copy_dirs="${copy_dirs} ${with_headers} $x/${target_alias}/sys-include"
903 fi
904 fi
905
906 # Handle --with-libs=XXX. If the value is not "yes", the contents of
907 # the name directories are copied to $(tooldir)/lib. Multiple directories
908 # are permitted.
909 if test x"${with_libs}" != x ; then
910 if test x${is_cross_compiler} = xno ; then
911 echo 1>&2 '***' --with-libs is only supported when cross compiling
912 exit 1
913 fi
914 if test x"${with_libs}" != xyes ; then
915 # Copy the libraries in reverse order, so that files in the first named
916 # library override files in subsequent libraries.
917 case "${exec_prefixoption}" in
918 "") x=${prefix} ;;
919 *) x=${exec_prefix} ;;
920 esac
921 for l in ${with_libs}; do
922 copy_dirs="$l $x/${target_alias}/lib ${copy_dirs}"
923 done
924 fi
925 fi
926
927 # Handle ${copy_dirs}
928 set fnord ${copy_dirs}
929 shift
930 while test $# != 0 ; do
931 if test -f $2/COPIED && test x"`cat $2/COPIED`" = x"$1" ; then
932 :
933 else
934 echo Copying $1 to $2
935
936 # Use the install script to create the directory and all required
937 # parent directories.
938 if test -d $2 ; then
939 :
940 else
941 echo >config.temp
942 ${srcdir}/install-sh -c -m 644 config.temp $2/COPIED
943 fi
944
945 # Copy the directory, assuming we have tar.
946 # FIXME: Should we use B in the second tar? Not all systems support it.
947 (cd $1; tar -cf - .) | (cd $2; tar -xpf -)
948
949 # It is the responsibility of the user to correctly adjust all
950 # symlinks. If somebody can figure out how to handle them correctly
951 # here, feel free to add the code.
952
953 echo $1 > $2/COPIED
954 fi
955 shift; shift
956 done
957
958 # Work in distributions that contain no compiler tools, like Autoconf.
959 tentative_cc=""
960 if test -d ${srcdir}/config ; then
961 case "${host}" in
962 m68k-hp-hpux*)
963 # Avoid "too much defining" errors from HPUX compiler.
964 tentative_cc="cc -Wp,-H256000"
965 host_makefile_frag="config/mh-hp300"
966 ;;
967 m68k-apollo-sysv*)
968 tentative_cc="cc -A ansi -A runtype,any -A systype,any -U__STDC__ -DUSG"
969 host_makefile_frag="config/mh-apollo68"
970 ;;
971 m68k-apollo-bsd*)
972 #None of the Apollo compilers can compile gas or binutils. The preprocessor
973 # chokes on bfd, the compiler won't let you assign integers to enums, and
974 # other problems. Defining CC to gcc is a questionable way to say "don't use
975 # the apollo compiler" (the preferred version of GCC could be called cc,
976 # or whatever), but I'm not sure leaving CC as cc is any better...
977 #CC=cc -A ansi -A runtype,any -A systype,any -U__STDC__ -DNO_STDARG
978 tentative_cc=gcc
979 host_makefile_frag="config/mh-a68bsd"
980 ;;
981 m88k-dg-dgux*)
982 tentative_cc="gcc -Wall -ansi -D__using_DGUX"
983 host_makefile_frag="config/mh-dgux"
984 ;;
985 m88k-harris-cxux*)
986 # Under CX/UX, we want to tell the compiler to use ANSI mode.
987 tentative_cc="cc -Xa"
988 host_makefile_frag="config/mh-cxux"
989 ;;
990 m88k-motorola-sysv*)
991 host_makefile_frag="config/mh-delta88"
992 ;;
993 mips*-dec-ultrix*)
994 tentative_cc="cc -Wf,-XNg1000"
995 host_makefile_frag="config/mh-decstation"
996 ;;
997 mips*-nec-sysv4*)
998 # The C compiler on NEC MIPS SVR4 needs bigger tables.
999 tentative_cc="cc -ZXNd=5000 -ZXNg=1000"
1000 host_makefile_frag="config/mh-necv4"
1001 ;;
1002 mips*-sgi-irix6*)
1003 host_makefile_frag="config/mh-irix6"
1004 ;;
1005 mips*-sgi-irix5*)
1006 host_makefile_frag="config/mh-irix5"
1007 ;;
1008 mips*-sgi-irix4*)
1009 # Tell compiler to use K&R C. We can't compile under the SGI Ansi
1010 # environment. Also bump switch table size so that cp-parse will
1011 # compile. Bump string length limit so linker builds.
1012 tentative_cc="cc -cckr -Wf,-XNg1500 -Wf,-XNk1000 -Wf,-XNh2000 -Wf,-XNl8192"
1013 ;;
1014 mips*-sgi-irix3*)
1015 host_makefile_frag="config/mh-sysv"
1016 ;;
1017 mips*-*-sysv4*)
1018 host_makefile_frag="config/mh-sysv4"
1019 ;;
1020 mips*-*-sysv*)
1021 # This is for a MIPS running RISC/os 4.52C.
1022
1023 # This is needed for GDB, but needs to be in the top-level make because
1024 # if a library is compiled with the bsd headers and gets linked with the
1025 # sysv system libraries all hell can break loose (e.g. a jmp_buf might be
1026 # a different size).
1027 # ptrace(2) apparently has problems in the BSD environment. No workaround is
1028 # known except to select the sysv environment. Could we use /proc instead?
1029 # These "sysv environments" and "bsd environments" often end up being a pain.
1030 #
1031 # This is not part of CFLAGS because perhaps not all C compilers have this
1032 # option.
1033 tentative_cc="cc -systype sysv"
1034 host_makefile_frag="config/mh-riscos"
1035 ;;
1036 i370-ibm-opened*)
1037 tentative_cc="c89"
1038 host_makefile_frag="config/mh-openedition"
1039 ;;
1040 i[3456]86-*-sysv5*)
1041 host_makefile_frag="config/mh-sysv5"
1042 ;;
1043 i[3456]86-*-dgux*)
1044 tentative_cc="gcc -Wall -ansi -D__using_DGUX"
1045 host_makefile_frag="config/mh-dgux386"
1046 ;;
1047 i[3456]86-ncr-sysv4.3*)
1048 # The MetaWare compiler will generate a copyright message unless you
1049 # turn it off by adding the -Hnocopyr flag.
1050 tentative_cc="cc -Hnocopyr"
1051 host_makefile_frag="config/mh-ncrsvr43"
1052 ;;
1053 i[3456]86-ncr-sysv4*)
1054 # for an NCR 3000 (i486/SVR4) system.
1055 # The NCR 3000 ships with a MetaWare compiler installed as /bin/cc.
1056 # This compiler not only emits obnoxious copyright messages every time
1057 # you run it, but it chokes and dies on a whole bunch of GNU source
1058 # files. Default to using the AT&T compiler installed in /usr/ccs/ATT/cc.
1059 tentative_cc="/usr/ccs/ATT/cc"
1060 host_makefile_frag="config/mh-ncr3000"
1061 ;;
1062 i[3456]86-*-sco3.2v5*)
1063 host_makefile_frag="config/mh-sysv"
1064 ;;
1065 i[3456]86-*-sco*)
1066 # The native C compiler botches some simple uses of const. Unfortunately,
1067 # it doesn't defined anything like "__sco__" for us to test for in ansidecl.h.
1068 tentative_cc="cc -Dconst="
1069 host_makefile_frag="config/mh-sco"
1070 ;;
1071 i[3456]86-*-udk*)
1072 host_makefile_frag="config/mh-sysv5"
1073 ;;
1074 i[3456]86-*-isc*)
1075 host_makefile_frag="config/mh-sysv"
1076 ;;
1077 i[3456]86-*-solaris2*)
1078 host_makefile_frag="config/mh-sysv4"
1079 ;;
1080 i[3456]86-*-aix*)
1081 host_makefile_frag="config/mh-aix386"
1082 ;;
1083 i[3456]86-*-msdosdjgpp*)
1084 host_makefile_frag="config/mh-djgpp"
1085 ;;
1086 *-cygwin*)
1087 host_makefile_frag="config/mh-cygwin"
1088 ;;
1089 *-mingw32*)
1090 host_makefile_frag="config/mh-mingw32"
1091 ;;
1092 *-interix*)
1093 host_makefile_frag="config/mh-interix"
1094 ;;
1095 vax-*-ultrix2*)
1096 # The old BSD pcc isn't up to compiling parts of gdb so use gcc
1097 tentative_cc=gcc
1098 ;;
1099 *-*-solaris2*)
1100 host_makefile_frag="config/mh-solaris"
1101 ;;
1102 m68k-sun-sunos*)
1103 # Sun's C compiler needs the -J flag to be able to compile cp-parse.c
1104 # without overflowing the jump tables (-J says to use a 32 bit table)
1105 tentative_cc="cc -J"
1106 ;;
1107 *-hp-hpux[78]*)
1108 tentative_cc="cc -Wp,-H256000"
1109 host_makefile_frag="config/mh-hpux8"
1110 ;;
1111 *-hp-hpux*)
1112 tentative_cc="cc -Wp,-H256000"
1113 host_makefile_frag="config/mh-hpux"
1114 ;;
1115 *-*-hiux*)
1116 tentative_cc="cc -Wp,-H256000"
1117 host_makefile_frag="config/mh-hpux"
1118 ;;
1119 rs6000-*-lynxos*)
1120 # /bin/cc is less than useful for our purposes. Always use GCC
1121 tentative_cc="/usr/cygnus/progressive/bin/gcc"
1122 host_makefile_frag="config/mh-lynxrs6k"
1123 ;;
1124 *-*-lynxos*)
1125 # /bin/cc is less than useful for our purposes. Always use GCC
1126 tentative_cc="/bin/gcc"
1127 ;;
1128 *-*-sysv4*)
1129 host_makefile_frag="config/mh-sysv4"
1130 ;;
1131 *-*-sysv*)
1132 host_makefile_frag="config/mh-sysv"
1133 ;;
1134 esac
1135 fi
1136
1137 rm -f mh-frag
1138 if test -n "${host_makefile_frag}" ; then
1139 for f in ${host_makefile_frag}
1140 do
1141 cat ${srcdir}/$f >> mh-frag
1142 done
1143 host_makefile_frag=mh-frag
1144 fi
1145
1146 extra_arflags_for_target=
1147 extra_nmflags_for_target=
1148 case "${target}" in
1149 i[3456]86-*-netware*)
1150 target_makefile_frag="config/mt-netware"
1151 ;;
1152 powerpc-*-netware*)
1153 target_makefile_frag="config/mt-netware"
1154 ;;
1155 *-*-linux*)
1156 target_makefile_frag="config/mt-linux"
1157 ;;
1158 *-*-aix4.[3456789]* | *-*-aix[56789].*)
1159 # nm and ar from AIX 4.3 and above require -X32_64 flag to all ar and nm
1160 # commands to handle both 32-bit and 64-bit objects. These flags are
1161 # harmless if we're using GNU nm or ar.
1162 extra_arflags_for_target=" -X32_64"
1163 extra_nmflags_for_target=" -B -X32_64"
1164 ;;
1165 mips*-*-pe | sh*-*-pe | *arm-wince-pe)
1166 target_makefile_frag="config/mt-wince"
1167 ;;
1168 esac
1169
1170 alphaieee_frag=
1171 case $target in
1172 alpha*-*-*)
1173 # This just makes sure to use the -mieee option to build target libs.
1174 # This should probably be set individually by each library.
1175 alphaieee_frag="config/mt-alphaieee"
1176 ;;
1177 esac
1178
1179 # If --enable-target-optspace always use -Os instead of -O2 to build
1180 # the target libraries, similarly if it is not specified, use -Os
1181 # on selected platforms.
1182 ospace_frag=
1183 case "${enable_target_optspace}:${target}" in
1184 yes:*)
1185 ospace_frag="config/mt-ospace"
1186 ;;
1187 :d30v-*)
1188 ospace_frag="config/mt-d30v"
1189 ;;
1190 :m32r-* | :d10v-* | :fr30-*)
1191 ospace_frag="config/mt-ospace"
1192 ;;
1193 no:* | :*)
1194 ;;
1195 *)
1196 echo "*** bad value \"${enable_target_optspace}\" for --enable-target-optspace flag; ignored" 1>&2
1197 ;;
1198 esac
1199
1200 rm -f mt-frag
1201 if test -n "${target_makefile_frag}${alphaieee_frag}${ospace_frag}" ; then
1202 for f in ${target_makefile_frag} ${alphaieee_frag} ${ospace_frag}
1203 do
1204 cat ${srcdir}/$f >> mt-frag
1205 done
1206 target_makefile_frag=mt-frag
1207 fi
1208
1209 # Set with_gnu_as and with_gnu_ld as appropriate.
1210 #
1211 # This is done by determining whether or not the appropriate directory
1212 # is available, and by checking whether or not specific configurations
1213 # have requested that this magic not happen.
1214 #
1215 # The command line options always override the explicit settings in
1216 # configure.in, and the settings in configure.in override this magic.
1217 #
1218 # If the default for a toolchain is to use GNU as and ld, and you don't
1219 # want to do that, then you should use the --without-gnu-as and
1220 # --without-gnu-ld options for the configure script.
1221
1222 if test x${use_gnu_as} = x &&
1223 echo " ${configdirs} " | grep " gas " > /dev/null 2>&1 ; then
1224 with_gnu_as=yes
1225 extra_host_args="$extra_host_args --with-gnu-as"
1226 fi
1227
1228 if test x${use_gnu_ld} = x &&
1229 echo " ${configdirs} " | grep " ld " > /dev/null 2>&1 ; then
1230 with_gnu_ld=yes
1231 extra_host_args="$extra_host_args --with-gnu-ld"
1232 fi
1233
1234 # If using newlib, add --with-newlib to the extra_host_args so that gcc/configure
1235 # can detect this case.
1236
1237 if test x${with_newlib} != xno && echo " ${target_configdirs} " | grep " target-newlib " > /dev/null 2>&1 ; then
1238 with_newlib=yes
1239 extra_host_args="$extra_host_args --with-newlib"
1240 fi
1241
1242 # We default to --with-shared on platforms where -fpic is meaningless.
1243 # Well, we don't yet, but we will.
1244 if false && test "${host}" = "${target}" && test x${enable_shared} = x ; then
1245 case "${target}" in
1246 alpha*-dec-osf*) enable_shared=yes ;;
1247 alpha*-*-linux*) enable_shared=yes ;;
1248 mips-sgi-irix5*) enable_shared=yes ;;
1249 *) enable_shared=no ;;
1250 esac
1251 fi
1252
1253 case "${enable_shared}" in
1254 yes) shared=yes ;;
1255 no) shared=no ;;
1256 "") shared=no ;;
1257 *) shared=yes ;;
1258 esac
1259
1260
1261 # Default to using --with-stabs for certain targets.
1262 if test x${with_stabs} = x ; then
1263 case "${target}" in
1264 mips*-*-irix6*o32)
1265 with_stabs=yes;
1266 extra_host_args="${extra_host_args} --with-stabs"
1267 ;;
1268 mips*-*-irix6*)
1269 ;;
1270 mips*-*-* | alpha*-*-osf*)
1271 with_stabs=yes;
1272 extra_host_args="${extra_host_args} --with-stabs"
1273 ;;
1274 esac
1275 fi
1276
1277 # hpux11 in 64bit mode has libraries in a weird place. Arrange to find
1278 # them automatically.
1279 case "${host}" in
1280 hppa*64*-*-hpux11*)
1281 extra_host_args="$extra_host_args -x-libraries=/usr/lib/pa20_64 -x-includes=/usr/X11R6/include"
1282 ;;
1283 esac
1284
1285 # This will go away when we start subconfigures from the Makefile.
1286 withoptions="${withoptions} ${extra_host_args}"
1287
1288 # If we aren't going to be using gcc, see if we can extract a definition
1289 # of CC from the fragment.
1290 # Actually, use the 'pre-extracted' version above.
1291 if test -z "${CC}" && test "${build}" = "${host}" ; then
1292 IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}:"
1293 found=
1294 for dir in $PATH; do
1295 test -z "$dir" && dir=.
1296 if test -f $dir/gcc; then
1297 found=yes
1298 break
1299 fi
1300 done
1301 IFS="$save_ifs"
1302 if test -z "${found}" && test -n "${tentative_cc}" ; then
1303 CC=$tentative_cc
1304 fi
1305 fi
1306
1307 # post-target:
1308
1309 # Make sure that the compiler is able to generate an executable. If it
1310 # can't, we are probably in trouble. We don't care whether we can run the
1311 # executable--we might be using a cross compiler--we only care whether it
1312 # can be created. At this point the main configure script has set CC.
1313 we_are_ok=no
1314 echo "int main () { return 0; }" > conftest.c
1315 ${CC} -o conftest ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} conftest.c
1316 if test $? = 0 ; then
1317 if test -s conftest || test -s conftest.exe ; then
1318 we_are_ok=yes
1319 fi
1320 fi
1321 case $we_are_ok in
1322 no)
1323 echo 1>&2 "*** The command '${CC} -o conftest ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} conftest.c' failed."
1324 echo 1>&2 "*** You must set the environment variable CC to a working compiler."
1325 rm -f conftest*
1326 exit 1
1327 ;;
1328 esac
1329 rm -f conftest*
1330
1331 # The Solaris /usr/ucb/cc compiler does not appear to work.
1332 case "${host}" in
1333 sparc-sun-solaris2*)
1334 CCBASE="`echo ${CC-cc} | sed 's/ .*$//'`"
1335 if test "`type $CCBASE | sed 's/^[^/]*//'`" = "/usr/ucb/cc" ; then
1336 could_use=
1337 test -d /opt/SUNWspro/bin && could_use="/opt/SUNWspro/bin"
1338 if test -d /opt/cygnus/bin ; then
1339 if test "$could_use" = "" ; then
1340 could_use="/opt/cygnus/bin"
1341 else
1342 could_use="$could_use or /opt/cygnus/bin"
1343 fi
1344 fi
1345 if test "$could_use" = "" ; then
1346 echo "Warning: compilation may fail because you're using"
1347 echo "/usr/ucb/cc. You should change your PATH or CC "
1348 echo "variable and rerun configure."
1349 else
1350 echo "Warning: compilation may fail because you're using"
1351 echo "/usr/ucb/cc, when you should use the C compiler from"
1352 echo "$could_use. You should change your"
1353 echo "PATH or CC variable and rerun configure."
1354 fi
1355 fi
1356 ;;
1357 esac
1358
1359 # If --enable-shared was set, we must set LD_LIBRARY_PATH so that the
1360 # binutils tools will find libbfd.so.
1361 if test "${shared}" = "yes" ; then
1362 SET_LIB_PATH="\$(REALLY_SET_LIB_PATH)"
1363 else
1364 SET_LIB_PATH=
1365 fi
1366 sed -e "s/@SET_LIB_PATH@/${SET_LIB_PATH}/" Makefile > Makefile.tem
1367 rm -f Makefile
1368 mv -f Makefile.tem Makefile
1369
1370
1371 case "${host}" in
1372 *-*-hpux*) RPATH_ENVVAR=SHLIB_PATH ;;
1373 *) RPATH_ENVVAR=LD_LIBRARY_PATH ;;
1374 esac
1375 sed -e "s/@RPATH_ENVVAR@/${RPATH_ENVVAR}/" Makefile > Makefile.tem
1376 rm -f Makefile
1377 mv -f Makefile.tem Makefile
1378
1379 # Record target_configdirs and the configure arguments for target and
1380 # build configuration in Makefile.
1381 target_configdirs=`echo "${target_configdirs}" | sed -e 's/target-//g'`
1382
1383 # This is the final value for target_configdirs. configdirs already
1384 # has its final value. It's time to create some lists of valid targets.
1385
1386 all_build_modules=
1387 configure_build_modules=
1388 # Only make build modules if build != host.
1389 # This should be done more generally, but at the moment it doesn't matter.
1390 if test ${host_alias} != ${build_alias} ; then
1391 all_build_modules=all-build-libiberty
1392 configure_build_modules=configure-build-libiberty
1393 fi
1394
1395 all_host_modules=
1396 check_host_modules=
1397 install_host_modules=
1398 configure_host_modules=
1399 for module in ${configdirs} ; do
1400 all_host_modules="${all_host_modules} all-${module}"
1401 check_host_modules="${check_host_modules} check-${module}"
1402 install_host_modules="${install_host_modules} install-${module}"
1403 configure_host_modules="${configure_host_modules} configure-${module}"
1404 done
1405 install_host_modules_nogcc=`echo "${install_host_modules}" | sed -e 's/install-gcc//g'`
1406
1407 all_target_modules=
1408 check_target_modules=
1409 install_target_modules=
1410 configure_target_modules=
1411 for module in ${target_configdirs} ; do
1412 all_target_modules="${all_target_modules} all-target-${module}"
1413 check_target_modules="${check_target_modules} check-target-${module}"
1414 install_target_modules="${install_target_modules} install-target-${module}"
1415 configure_target_modules="${configure_target_modules} configure-target-${module}"
1416 done
1417
1418 # Determine whether gdb needs tk/tcl or not.
1419 # Use 'maybe' since enable_gdbtk might be true even if tk isn't available
1420 # and in that case we want gdb to be built without tk. Ugh!
1421 # In fact I believe gdb is the *only* package directly dependent on tk,
1422 # so we should be able to put the 'maybe's in unconditionally and
1423 # leave out the maybe dependencies when enable_gdbtk is false. I'm not
1424 # 100% sure that that's safe though.
1425 case "$enable_gdbtk" in
1426 no)
1427 GDB_TK="" ;;
1428 *)
1429 GDB_TK="maybe-all-tcl maybe-all-tk maybe-all-itcl maybe-all-tix maybe-all-libgui" ;;
1430 esac
1431
1432 # Create the 'maybe dependencies'. This uses a temporary file.
1433 rm -f maybedep.tmp
1434 for item in ${all_build_modules} ${all_host_modules} ${all_target_modules} \
1435 ${install_host_modules} ${install_target_modules} \
1436 ${configure_build_modules} ${configure_host_modules} ${configure_target_modules} \
1437 ; do
1438 echo "maybe-${item}: ${item}" >> maybedep.tmp
1439 done
1440 sed -e '/@maybe_dependencies@/r maybedep.tmp' \
1441 -e 's/@maybe_dependencies@//' Makefile > Makefile.tem
1442 rm -f Makefile
1443 mv -f Makefile.tem Makefile
1444 rm -f maybedep.tmp
1445
1446 # Create the serialization dependencies. This uses a temporary file.
1447
1448 # These force 'configure's to be done one at a time, to avoid problems
1449 # with contention over a shared config.cache.
1450 rm -f serdep.tmp
1451 olditem=
1452 for item in ${build_configdirs} ; do
1453 case ${olditem} in
1454 "") ;;
1455 *) echo "\$(BUILD_SUBDIR)/${item}/Makefile: \$(BUILD_SUBDIR)/${olditem}/Makefile" >> serdep.tmp ;;
1456 esac
1457 olditem=${item}
1458 done
1459 olditem=
1460 for item in ${configdirs} ; do
1461 case ${olditem} in
1462 "") ;;
1463 *) echo "${item}/Makefile: ${olditem}/Makefile" >> serdep.tmp ;;
1464 esac
1465 olditem=${item}
1466 done
1467 olditem=
1468 for item in ${target_configdirs} ; do
1469 case ${olditem} in
1470 "") ;;
1471 *) echo "\$(TARGET_SUBDIR)/${item}/Makefile: \$(TARGET_SUBDIR)/${olditem}/Makefile" >> serdep.tmp ;;
1472 esac
1473 olditem=${item}
1474 done
1475 sed -e '/@serialization_dependencies@/r serdep.tmp' \
1476 -e 's/@serialization_dependencies@//' Makefile > Makefile.tem
1477 rm -f Makefile
1478 mv -f Makefile.tem Makefile
1479 rm -f serdep.tmp
1480
1481 # Base args. Strip norecursion, cache-file, srcdir, host, build, target.
1482 # These are the ones we might not want to pass down to subconfigures.
1483 baseargs=`echo "${arguments}" | \
1484 sed -e 's/--no[^ ]*//' \
1485 -e 's/--cache[a-z-]*=[^ ]*//' \
1486 -e 's/--sr[a-z-]*=[^ ]*//' \
1487 -e 's/--ho[a-z-]*=[^ ]*//' \
1488 -e 's/--bu[a-z-]*=[^ ]*//' \
1489 -e 's/--ta[a-z-]*=[^ ]*//'`
1490
1491 # For the build-side libraries, we just need to pretend we're native,
1492 # and not use the same cache file. Multilibs are neither needed nor
1493 # desired.
1494 buildargs="--cache-file=../config.cache --build=${build_alias} --host=${build_alias} ${baseargs}"
1495
1496 # For host modules, accept cache file option, or specification as blank.
1497 case "${cache_file}" in
1498 "") # empty
1499 cache_file_option="" ;;
1500 /* | [A-Za-z]:[\\/]* ) # absolute path
1501 cache_file_option="--cache-file=${cache_file}" ;;
1502 *) # relative path
1503 cache_file_option="--cache-file=../${cache_file}" ;;
1504 esac
1505
1506 hostargs="${cache_file_option} ${buildopt} --host=${host_alias} --target=${target_alias} ${extra_host_args} ${baseargs}"
1507
1508 targargs=${baseargs}
1509
1510 # Passing a --with-cross-host argument lets the target libraries know
1511 # whether they are being built with a cross-compiler or being built
1512 # native. However, it would be better to use other mechanisms to make the
1513 # sorts of decisions they want to make on this basis. Please consider
1514 # this option to be deprecated. FIXME.
1515 if test x${is_cross_compiler} = xyes ; then
1516 targargs="--with-cross-host=${host_alias} ${targargs}"
1517 fi
1518
1519 # Default to --enable-multilib.
1520 if test x${enable_multilib} = x ; then
1521 targargs="--enable-multilib ${targargs}"
1522 fi
1523
1524 # Pass --with-newlib if appropriate. Note that target_configdirs has
1525 # changed from the earlier setting of with_newlib.
1526 if test x${with_newlib} != xno && echo " ${target_configdirs} " | grep " newlib " > /dev/null 2>&1 && test -d ${srcdir}/newlib ; then
1527 targargs="--with-newlib ${targargs}"
1528 fi
1529
1530 # Pass the appropriate --host, --build, and --cache-file arguments.
1531 targargs="--cache-file=../config.cache --host=${target_alias} --build=${build_alias} ${targargs}"
1532
1533 # provide a proper gxx_include_dir.
1534 # Note, if you change the default, make sure to fix both here and in
1535 # the gcc and libstdc++-v3 subdirectories.
1536 # Check whether --with-gxx-include-dir or --without-gxx-include-dir was given.
1537 gxx_include_dir=
1538 if test -n "${with_gxx_include_dir}"; then
1539 case "${with_gxx_include_dir}" in
1540 yes )
1541 echo "configure.in: error: bad value ${withval} given for g++ include directory" 1>&2
1542 exit 1
1543 ;;
1544 no )
1545 ;;
1546 * )
1547 gxx_include_dir=${with_gxx_include_dir}
1548 ;;
1549 esac
1550 fi
1551 if test x${gxx_include_dir} = x; then
1552 if test x${enable_version_specific_runtime_libs} = xyes; then
1553 gxx_include_dir='${libsubdir}/include/c++'
1554 else
1555 . ${srcdir}/config.if
1556 gxx_include_dir='${prefix}/include/${libstdcxx_incdir}'
1557 fi
1558 else
1559 gxx_include_dir=${gxx_include_dir}
1560 fi
1561
1562 FLAGS_FOR_TARGET=
1563 case " $target_configdirs " in
1564 *" newlib "*)
1565 case " $targargs " in
1566 *" --with-newlib "*)
1567 case "$target" in
1568 *-cygwin*)
1569 FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -L$$r/$(TARGET_SUBDIR)/winsup -L$$r/$(TARGET_SUBDIR)/winsup/cygwin -L$$r/$(TARGET_SUBDIR)/winsup/w32api/lib -isystem $$s/winsup/include -isystem $$s/winsup/cygwin/include -isystem $$s/winsup/w32api/include -isystem $$s/newlib/libc/sys/cygwin -isystem $$s/newlib/libc/sys/cygwin32' ;;
1570 esac
1571
1572 # If we're not building GCC, don't discard standard headers.
1573 if test -d ${srcdir}/gcc; then
1574 FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -nostdinc'
1575
1576 if test "${build}" != "${host}"; then
1577 # On Canadian crosses, CC_FOR_TARGET will have already been set
1578 # by `configure', so we won't have an opportunity to add -Bgcc/
1579 # to it. This is right: we don't want to search that directory
1580 # for binaries, but we want the header files in there, so add
1581 # them explicitly.
1582 FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -isystem $$r/gcc/include'
1583
1584 # Someone might think of using the pre-installed headers on
1585 # Canadian crosses, in case the installed compiler is not fully
1586 # compatible with the compiler being built. In this case, it
1587 # would be better to flag an error than risking having
1588 # incompatible object files being constructed. We can't
1589 # guarantee that an error will be flagged, but let's hope the
1590 # compiler will do it, when presented with incompatible header
1591 # files.
1592 fi
1593 fi
1594
1595 case "${target}-${is_cross_compiler}" in
1596 i[3456]86-*-linux*-no)
1597 # Here host == target, so we don't need to build gcc,
1598 # so we don't want to discard standard headers.
1599 FLAGS_FOR_TARGET=`echo " $FLAGS_FOR_TARGET " | sed -e 's/ -nostdinc / /'`
1600 ;;
1601 *)
1602 # If we're building newlib, use its generic headers last, but search
1603 # for any libc-related directories first (so make it the last -B
1604 # switch).
1605 FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -B$$r/$(TARGET_SUBDIR)/newlib/ -isystem $$r/$(TARGET_SUBDIR)/newlib/targ-include -isystem $$s/newlib/libc/include'
1606 ;;
1607 esac
1608 ;;
1609 esac
1610 ;;
1611 esac
1612
1613 # On Canadian crosses, we'll be searching the right directories for
1614 # the previously-installed cross compiler, so don't bother to add
1615 # flags for directories within the install tree of the compiler
1616 # being built; programs in there won't even run.
1617 if test "${build}" = "${host}" && test -d ${srcdir}/gcc; then
1618 # Search for pre-installed headers if nothing else fits.
1619 FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -B$(build_tooldir)/bin/ -B$(build_tooldir)/lib/ -isystem $(build_tooldir)/include'
1620 fi
1621
1622 if test "x${use_gnu_ld}" = x &&
1623 echo " ${configdirs} " | grep " ld " > /dev/null ; then
1624 # Arrange for us to find uninstalled linker scripts.
1625 FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -L$$r/ld'
1626 fi
1627
1628 if test "x${CC_FOR_TARGET+set}" = xset; then
1629 :
1630 elif test -d ${srcdir}/gcc; then
1631 CC_FOR_TARGET='$$r/gcc/xgcc -B$$r/gcc/'
1632 elif test "$host" = "$target"; then
1633 CC_FOR_TARGET='$(CC)'
1634 else
1635 CC_FOR_TARGET=`echo gcc | sed -e 's/x/x/' ${program_transform_name}`
1636 fi
1637 # On Canadian crosses, configure reads CC_FOR_TARGET from Makefile,
1638 # if Makefile exists. Prevent $(FLAGS_FOR_TARGET) from being duplicated.
1639 case $CC_FOR_TARGET in
1640 *' $(FLAGS_FOR_TARGET)') ;;
1641 *) CC_FOR_TARGET=$CC_FOR_TARGET' $(FLAGS_FOR_TARGET)' ;;
1642 esac
1643
1644 if test "x${GCJ_FOR_TARGET+set}" = xset; then
1645 :
1646 elif test -d ${srcdir}/gcc; then
1647 GCJ_FOR_TARGET='$$r/gcc/gcj -B$$r/gcc/'
1648 elif test "$host" = "$target"; then
1649 GCJ_FOR_TARGET='gcj'
1650 else
1651 GCJ_FOR_TARGET=`echo gcj | sed -e 's/x/x/' ${program_transform_name}`
1652 fi
1653 case $GCJ_FOR_TARGET in
1654 *' $(FLAGS_FOR_TARGET)') ;;
1655 *) GCJ_FOR_TARGET=$GCJ_FOR_TARGET' $(FLAGS_FOR_TARGET)' ;;
1656 esac
1657
1658 # Don't use libstdc++-v3's flags to configure/build itself.
1659 libstdcxx_flags='`test ! -f $$r/$(TARGET_SUBDIR)/libstdc++-v3/testsuite_flags || $(SHELL) $$r/$(TARGET_SUBDIR)/libstdc++-v3/testsuite_flags --build-includes` -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src/.libs'
1660 raw_libstdcxx_flags=' -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src/.libs'
1661
1662 if test "x${CXX_FOR_TARGET+set}" = xset; then
1663 :
1664 elif test -d ${srcdir}/gcc; then
1665 # We add -shared-libgcc to CXX_FOR_TARGET whenever we use xgcc instead
1666 # of g++ for linking C++ or Java, because g++ has -shared-libgcc by
1667 # default whereas gcc does not.
1668 # RAW_CXX_FOR_TARGET is for linking C++ or java; CXX_FOR_TARGET is for
1669 # all other cases.
1670 CXX_FOR_TARGET='$$r/gcc/g++ -B$$r/gcc/ -nostdinc++ '$libstdcxx_flags
1671 RAW_CXX_FOR_TARGET='$$r/gcc/xgcc -shared-libgcc -B$$r/gcc/ -nostdinc++ '$raw_libstdcxx_flags
1672 elif test "$host" = "$target"; then
1673 CXX_FOR_TARGET='$(CXX)'
1674 RAW_CXX_FOR_TARGET=${CXX_FOR_TARGET}
1675 else
1676 CXX_FOR_TARGET=`echo c++ | sed -e 's/x/x/' ${program_transform_name}`
1677 RAW_CXX_FOR_TARGET=${CXX_FOR_TARGET}
1678 fi
1679 case $CXX_FOR_TARGET in
1680 *' $(FLAGS_FOR_TARGET)') ;;
1681 *) CXX_FOR_TARGET=$CXX_FOR_TARGET' $(FLAGS_FOR_TARGET)' ;;
1682 esac
1683 case $RAW_CXX_FOR_TARGET in
1684 *' $(FLAGS_FOR_TARGET)') ;;
1685 *) RAW_CXX_FOR_TARGET=$RAW_CXX_FOR_TARGET' $(FLAGS_FOR_TARGET)' ;;
1686 esac
1687
1688 qCXX_FOR_TARGET=`echo "$CXX_FOR_TARGET" | sed 's,[&%],\\\&,g'`
1689 qRAW_CXX_FOR_TARGET=`echo "$RAW_CXX_FOR_TARGET" | sed 's,[&%],\\\&,g'`
1690
1691 # We want to defer the evaluation of `cmd`s and shell variables in
1692 # CXX_FOR_TARGET when recursing in the top-level Makefile, such as for
1693 # bootstrap. We'll enclose CXX_FOR_TARGET_FOR_RECURSIVE_MAKE in single
1694 # quotes, but we still have to duplicate `$'s so that shell variables
1695 # can be expanded by the nested make as shell variables, not as make
1696 # macros.
1697 qqCXX_FOR_TARGET=`echo "$qCXX_FOR_TARGET" | sed -e 's,[$][$],$$$$,g'`
1698 qqRAW_CXX_FOR_TARGET=`echo "$qRAW_CXX_FOR_TARGET" | sed -e 's,[$][$],$$$$,g'`
1699
1700 # BASE_CC_FOR_TARGET is the actual program file of CC_FOR_TARGET,
1701 # for use in dependencies. Replace $$r with a relative
1702 # path if it's present.
1703 set dummy $CC_FOR_TARGET; cc_for_target_first_word=$2
1704 BASE_CC_FOR_TARGET=`echo "$cc_for_target_first_word" | sed -e 's,[$][$]r,.,'`
1705
1706 sedtemp=sed.$$
1707 cat >$sedtemp <<EOF
1708 s%@GDB_TK@%${GDB_TK}%
1709 s%@configure_build_modules@%${configure_build_modules}%
1710 s%@all_build_modules@%${all_build_modules}%
1711 s%@configure_host_modules@%${configure_host_modules}%
1712 s%@all_host_modules@%${all_host_modules}%
1713 s%@check_host_modules@%${check_host_modules}%
1714 s%@install_host_modules@%${install_host_modules}%
1715 s%@install_host_modules_nogcc@%${install_host_modules_nogcc}%
1716 s%@configure_target_modules@%${configure_target_modules}%
1717 s%@all_target_modules@%${all_target_modules}%
1718 s%@check_target_modules@%${check_target_modules}%
1719 s%@install_target_modules@%${install_target_modules}%
1720 s:@target_configdirs@:${target_configdirs}:
1721 s%@target_configargs@%${targargs}%
1722 s%@FLAGS_FOR_TARGET@%${FLAGS_FOR_TARGET}%
1723 s%@CC_FOR_TARGET@%\$(STAGE_CC_WRAPPER) ${CC_FOR_TARGET}%
1724 s%@BASE_CC_FOR_TARGET@%${BASE_CC_FOR_TARGET}%
1725 s%@GCJ_FOR_TARGET@%\$(STAGE_CC_WRAPPER) ${GCJ_FOR_TARGET}%
1726 s%@CXX_FOR_TARGET@%\$(STAGE_CC_WRAPPER) ${qCXX_FOR_TARGET}%
1727 s%@RAW_CXX_FOR_TARGET@%\$(STAGE_CC_WRAPPER) ${qRAW_CXX_FOR_TARGET}%
1728 s%@CXX_FOR_TARGET_FOR_RECURSIVE_MAKE@%\$(STAGE_CC_WRAPPER) ${qqCXX_FOR_TARGET}%
1729 s%@RAW_CXX_FOR_TARGET_FOR_RECURSIVE_MAKE@%\$(STAGE_CC_WRAPPER) ${qqRAW_CXX_FOR_TARGET}%
1730 s%@target_subdir@%${target_subdir}%
1731 s%@build_subdir@%${build_subdir}%
1732 s%@build_configargs@%${buildargs}%
1733 s%@gxx_include_dir@%${gxx_include_dir}%
1734 s%@host_configargs@%${hostargs}%
1735 EOF
1736 sed -f $sedtemp Makefile > Makefile.tem
1737 rm -f Makefile $sedtemp
1738 mv -f Makefile.tem Makefile
1739
1740 #
This page took 0.11598 seconds and 4 git commands to generate.