* hppa-tdep.c (hppa_pop_frame): Call clear_proceed_status before
[deliverable/binutils-gdb.git] / configure.in
1 ##############################################################################
2
3 ## This file is a shell script fragment that supplies the information
4 ## necessary to tailor a template configure script into the configure
5 ## script appropriate for this directory. For more information, check
6 ## any existing configure script.
7
8 ## Be warned, there are two types of configure.in files. There are those
9 ## used by Autoconf, which are macros which are expanded into a configure
10 ## script by autoconf. The other sort, of which this is one, is executed
11 ## by Cygnus configure.
12
13 ## For more information on these two systems, check out the documentation
14 ## for 'Autoconf' (autoconf.texi) and 'Configure' (configure.texi).
15
16 ##############################################################################
17
18 ### To add a new directory to the tree, first choose whether it is a target
19 ### or a host dependent tool. Then put it into the appropriate list
20 ### (library or tools, host or target), doing a dependency sort. For
21 ### example, gdb requires that byacc (or bison) be built first, so it is in
22 ### the ${host_tools} list after byacc and bison.
23
24
25 # these libraries are used by various programs built for the host environment
26 #
27 host_libs="mmalloc libiberty opcodes bfd readline gash tcl tk tclX"
28
29 if [ "${enable_gdbgui}" = "yes" ] ; then
30 host_libs="${host_libs} libgui"
31 fi
32
33 # these tools are built for the host environment
34 #
35 host_tools="texinfo byacc flex bison binutils ld gas gcc gdb make patch
36 prms send-pr gprof gdbtest tgas etc expect dejagnu sim
37 m4 autoconf ispell grep diff rcs cvs fileutils shellutils
38 textutils wdiff find emacs emacs19 uudecode hello tar gzip indent
39 recode release sed utils guile perl"
40
41
42 # these libraries are built for the target environment, and are built after
43 # the host libraries and the host tools (which may be a cross compiler)
44 #
45 target_libs="target-libiberty target-libgloss target-newlib target-libio target-librx target-libstdc++ target-libg++"
46
47
48 # these tools are built using the target libs, and are intended to run only
49 # in the target environment
50 #
51 # note: any program that *uses* libraries that are in the "target_libs"
52 # list belongs in this list. those programs are also very likely
53 # candidates for the "native_only" list which follows
54 #
55 target_tools="target-examples target-groff"
56
57 ################################################################################
58
59 ## These two lists are of directories that are to be removed from the
60 ## ${configdirs} list for either cross-compilations or for native-
61 ## compilations. For example, it doesn't make that much sense to
62 ## cross-compile Emacs, nor is it terribly useful to compile target-libiberty in
63 ## a native environment.
64
65 # directories to be built in the native environment only
66 #
67 native_only="autoconf cvs emacs emacs19 fileutils find grep gzip hello
68 indent ispell m4 rcs recode sed shellutils tar textutils gash
69 uudecode wdiff gprof target-groff guile perl"
70
71 # directories to be built in a cross environment only
72 #
73 cross_only="target-libiberty target-libgloss target-newlib"
74
75 ## All tools belong in one of the four categories, and are assigned above
76 ## We assign ${configdirs} this way to remove all embedded newlines. This
77 ## is important because configure will choke if they ever get through.
78 ## ${configdirs} is directories we build using the host tools.
79 ## ${target_configdirs} is directories we build using the target tools.
80 #
81 configdirs=`echo ${host_libs} ${host_tools}`
82 target_configdirs=`echo ${target_libs} ${target_tools}`
83
84 ################################################################################
85
86 srctrigger=move-if-change
87 srcname="gnu development package"
88
89 # This gets set non-empty for some net releases of packages.
90 appdirs=""
91
92 # per-host:
93
94 # Work in distributions that contain no compiler tools, like Autoconf.
95 if [ -d ${srcdir}/config ]; then
96 case "${host}" in
97 m68k-hp-hpux*) host_makefile_frag=config/mh-hp300 ;;
98 m68k-apollo-sysv*) host_makefile_frag=config/mh-apollo68 ;;
99 m68k-apollo-bsd*) host_makefile_frag=config/mh-a68bsd ;;
100 m68k-*-linux*) host_makefile_frag=config/mh-linux ;;
101 m88k-dg-dgux*) host_makefile_frag=config/mh-dgux ;;
102 m88k-harris-cxux*) host_makefile_frag=config/mh-cxux ;;
103 m88k-motorola-sysv*) host_makefile_frag=config/mh-delta88;;
104 mips*-dec-ultrix*) host_makefile_frag=config/mh-decstation ;;
105 mips*-nec-sysv4*) host_makefile_frag=config/mh-necv4 ;;
106 mips*-sgi-irix[56]*) host_makefile_frag=config/mh-irix5 ;;
107 mips*-sgi-irix4*) host_makefile_frag=config/mh-irix4 ;;
108 mips*-sgi-irix3*) host_makefile_frag=config/mh-sysv ;;
109 mips*-*-sysv4*) host_makefile_frag=config/mh-sysv4 ;;
110 mips*-*-sysv*) host_makefile_frag=config/mh-riscos ;;
111 i[345]86-ncr-sysv4.3) host_makefile_frag=config/mh-ncrsvr43 ;;
112 i[345]86-ncr-sysv4*) host_makefile_frag=config/mh-ncr3000 ;;
113 i[345]86-*-sco3.2v5*) host_makefile_frag=config/mh-sysv ;;
114 i[345]86-*-sco*) host_makefile_frag=config/mh-sco ;;
115 i[345]86-*-isc*) host_makefile_frag=config/mh-sysv ;;
116 i[345]86-*-linux*) host_makefile_frag=config/mh-linux ;;
117 i[345]86-*-solaris2*) host_makefile_frag=config/mh-sysv4 ;;
118 i[345]86-*-aix*) host_makefile_frag=config/mh-aix386 ;;
119 i[345]86-*-go32*) host_makefile_frag=config/mh-go32 ;;
120 vax-*-ultrix2*) host_makefile_frag=config/mh-vaxult2 ;;
121 *-*-solaris2*) host_makefile_frag=config/mh-solaris ;;
122 m68k-sun-sunos*) host_makefile_frag=config/mh-sun3 ;;
123 *-hp-hpux[78]*) host_makefile_frag=config/mh-hpux8 ;;
124 *-hp-hpux*) host_makefile_frag=config/mh-hpux ;;
125 *-*-hiux*) host_makefile_frag=config/mh-hpux ;;
126 rs6000-*-lynxos*) host_makefile_frag=config/mh-lynxrs6k ;;
127 *-*-lynxos*) host_makefile_frag=config/mh-lynxos ;;
128 *-*-sysv4*) host_makefile_frag=config/mh-sysv4 ;;
129 *-*-sysv*) host_makefile_frag=config/mh-sysv ;;
130 esac
131 fi
132
133 # If we aren't going to be using gcc, see if we can extract a definition
134 # of CC from the fragment.
135 if [ -z "${CC}" -a "${build}" = "${host}" ]; then
136 IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}:"
137 found=
138 for dir in $PATH; do
139 test -z "$dir" && dir=.
140 if test -f $dir/gcc; then
141 found=yes
142 break
143 fi
144 done
145 IFS="$save_ifs"
146 if [ -z "${found}" -a -n "${host_makefile_frag}" -a -f "${srcdir}/${host_makefile_frag}" ]; then
147 xx=`sed -n -e 's/^[ ]*CC[ ]*=[ ]*\(.*\)$/\1/p' < ${srcdir}/${host_makefile_frag}`
148 if [ -n "${xx}" ] ; then
149 CC=$xx
150 fi
151 fi
152 fi
153
154 # We default to --with-shared on platforms where -fpic is meaningless.
155 # Well, we don't yet, but we will.
156 if false && [ "${host}" = "${target}" ] && [ x${enable_shared} = x ]; then
157 case "${target}" in
158 alpha-dec-osf*) enable_shared=yes ;;
159 mips-sgi-irix5*) enable_shared=yes ;;
160 *) enable_shared=no ;;
161 esac
162 fi
163
164 if [ x${enable_shared} = xyes ]; then
165 waugh=
166 case "${host}" in
167 hppa*) waugh=config/mh-papic ;;
168 i[345]86-*) waugh=config/mh-x86pic ;;
169 sparc64-*) waugh=config/mh-sparcpic ;;
170 *) waugh=config/mh-${host_cpu}pic ;;
171 esac
172 if [ -f ${srcdir}/${waugh} ]; then
173 if [ -n "${host_makefile_frag}" ] ; then
174 cat ${srcdir}/${host_makefile_frag} > mh-frag
175 cat ${srcdir}/${waugh} >> mh-frag
176 host_makefile_frag=mh-frag
177 else
178 host_makefile_frag=${waugh}
179 fi
180 fi
181 fi
182
183 # per-target:
184
185 case "${target}" in
186 v810*) target_makefile_frag=config/mt-v810 ;;
187 i[345]86-*-netware*) target_makefile_frag=config/mt-netware ;;
188 powerpc-*-netware*) target_makefile_frag=config/mt-netware ;;
189 esac
190
191 skipdirs=
192 gasdir=gas
193 use_gnu_ld=
194 use_gnu_as=
195
196 # some tools are so dependent upon X11 that if we're not building with X,
197 # it's not even worth trying to configure, much less build, that tool.
198
199 case ${with_x} in
200 yes | "") # the default value for this tree is that X11 is available
201 ;;
202 no)
203 skipdirs="${skipdirs} tk gash"
204 ;;
205 *)
206 echo "*** bad value \"${with_x}\" for -with-x flag; ignored" 1>&2
207 ;;
208 esac
209
210 # Some tools are only suitable for building in a "native" situation.
211 # Those are added when we have a host==target configuration. For cross
212 # toolchains, we add some directories that should only be useful in a
213 # cross-compiler.
214
215 is_cross_compiler=
216
217 if [ x"${host}" = x"${target}" ] ; then
218 # when doing a native toolchain, don't build the targets
219 # that are in the 'cross only' list
220 skipdirs="${skipdirs} ${cross_only}"
221 is_cross_compiler=no
222 target_subdir=.
223 else
224 # similarly, don't build the targets in the 'native only'
225 # list when building a cross compiler
226 skipdirs="${skipdirs} ${native_only}"
227 is_cross_compiler=yes
228 target_subdir=${target_alias}
229 if [ ! -d ${target_subdir} ] ; then
230 if mkdir ${target_subdir} ; then true
231 else
232 echo "'*** could not make ${PWD=`pwd`}/${target_subdir}" 1>&2
233 exit 1
234 fi
235 fi
236 fi
237
238 copy_dirs=
239
240 # Handle --with-headers=XXX. The contents of the named directory are
241 # copied to $(tooldir)/sys-include.
242 if [ x"${with_headers}" != x ]; then
243 if [ x${is_cross_compiler} = xno ]; then
244 echo 1>&2 '***' --with-headers is only supported when cross compiling
245 exit 1
246 fi
247 case "${exec_prefixoption}" in
248 "") x=${prefix} ;;
249 *) x=${exec_prefix} ;;
250 esac
251 copy_dirs="${copy_dirs} ${with_headers} $x/${target_alias}/sys-include"
252 fi
253
254 # Handle --with-libs=XXX. Multiple directories are permitted. The
255 # contents are copied to $(tooldir)/lib.
256 if [ x"${with_libs}" != x ]; then
257 if [ x${is_cross_compiler} = xno ]; then
258 echo 1>&2 '***' --with-libs is only supported when cross compiling
259 exit 1
260 fi
261 # Copy the libraries in reverse order, so that files in the first named
262 # library override files in subsequent libraries.
263 case "${exec_prefixoption}" in
264 "") x=${prefix} ;;
265 *) x=${exec_prefix} ;;
266 esac
267 for l in ${with_libs}; do
268 copy_dirs="$l $x/${target_alias}/lib ${copy_dirs}"
269 done
270 fi
271
272 # If both --with-headers and --with-libs are specified, default to
273 # --without-newlib.
274 if [ x"${with_headers}" != x ] && [ x"${with_libs}" != x ]; then
275 if [ x"${with_newlib}" = x ]; then
276 with_newlib=no
277 fi
278 fi
279
280 # Recognize --with-newlib/--without-newlib.
281 if [ x${with_newlib} = xno ]; then
282 skipdirs="${skipdirs} target-newlib"
283 elif [ x${with_newlib} = xyes ]; then
284 skipdirs=`echo " ${skipdirs} " | sed -e 's/ target-newlib / /'`
285 fi
286
287 # Default to using --with-stabs for certain targets.
288 if [ x${with_stabs} = x ]; then
289 case "${target}" in
290 mips*-*-* | alpha*-*-osf* | i[345]86*-*-sysv4* | i[345]86*-*-unixware*)
291 with_stabs=yes;
292 withoptions="${withoptions} --with-stabs"
293 ;;
294 esac
295 fi
296
297 # Handle ${copy_dirs}
298 set fnord ${copy_dirs}
299 shift
300 while [ $# != 0 ]; do
301 if [ -f $2/COPIED ] && [ x"`cat $2/COPIED`" = x"$1" ]; then
302 :
303 else
304 echo Copying $1 to $2
305
306 # Use the install script to create the directory and all required
307 # parent directories.
308 if [ -d $2 ]; then
309 :
310 else
311 echo >config.temp
312 ${srcdir}/install.sh -c -m 644 config.temp $2/COPIED
313 fi
314
315 # Copy the directory, assuming we have tar.
316 # FIXME: Should we use B in the second tar? Not all systems support it.
317 (cd $1; tar -cf - .) | (cd $2; tar -xpf -)
318
319 # It is the responsibility of the user to correctly adjust all
320 # symlinks. If somebody can figure out how to handle them correctly
321 # here, feel free to add the code.
322
323 echo $1 > $2/COPIED
324 fi
325 shift; shift
326 done
327
328 # Configure extra directories which are host specific
329
330 case "${host}" in
331 i[345]86-*-go32*)
332 configdirs="$configdirs dosrel" ;;
333 esac
334
335 # Remove more programs from consideration, based on the host or
336 # target this usually means that a port of the program doesn't
337 # exist yet.
338
339 noconfigdirs=""
340
341 case "${host}" in
342 i[345]86-*-vsta)
343 noconfigdirs="tcl expect dejagnu make texinfo bison patch flex byacc send-pr gprof uudecode dejagnu diff guile perl"
344 ;;
345 i[345]86-*-go32)
346 noconfigdirs="tcl tk expect dejagnu make texinfo bison patch flex byacc send-pr gprof uudecode dejagnu diff guile perl"
347 ;;
348 *-*-cygwin32)
349 noconfigdirs="patch diff make tk tcl expect dejagnu cvs autoconf texinfo bison send-pr gprof rcs guile perl"
350 ;;
351 ppc*-*-pe)
352 noconfigdirs="patch diff make tk tcl expect dejagnu cvs autoconf texinfo bison send-pr gprof rcs guile perl"
353 ;;
354 esac
355
356
357 case "${target}" in
358 *-*-netware)
359 noconfigdirs="$noconfigdirs target-libg++ target-libstdc++ target-librx target-newlib target-libiberty"
360 ;;
361 *-*-vxworks*)
362 noconfigdirs="$noconfigdirs target-newlib"
363 ;;
364 alpha-dec-osf*)
365 # ld works, but does not support shared libraries. emacs doesn't
366 # work. newlib is not 64 bit ready. I'm not sure about fileutils or grep.
367 # gas doesn't generate exception information.
368 noconfigdirs="$noconfigdirs gas ld emacs fileutils grep target-newlib"
369 ;;
370 alpha*-*-*)
371 # newlib is not 64 bit ready
372 noconfigdirs="$noconfigdirs target-newlib"
373 ;;
374 # start-sanitize-arc
375 arc-*-*)
376 ;;
377 # end-sanitize-arc
378 arm-*-pe*)
379 ;;
380 arm-*-riscix*)
381 noconfigdirs="$noconfigdirs ld"
382 ;;
383 h8300*-*-* | \
384 h8500-*-*)
385 noconfigdirs="$noconfigdirs target-libg++ target-libstdc++ target-libio target-librx"
386 ;;
387 hppa*-*-*elf* | \
388 hppa*-*-lites*)
389 # Do configure ld/binutils/gas for this case.
390 ;;
391 hppa*-*-*)
392 # HP's C compiler doesn't handle Emacs correctly (but on BSD and Mach
393 # cc is gcc, and on any system a user should be able to link cc to
394 # whatever they want. FIXME, emacs emacs19).
395 case "${CC}" in
396 "" | cc*) noconfigdirs="$noconfigdirs emacs emacs19" ;;
397 *) ;;
398 esac
399 noconfigdirs="$noconfigdirs ld shellutils"
400 ;;
401 i[345]86-*-go32)
402 # but don't build gdb
403 noconfigdirs="$noconfigdirs gdb target-libg++ target-libstdc++ target-libio target-librx"
404 ;;
405 *-*-cygwin32)
406
407 # make/glob's configure uses some AC_TRY_RUN type tests
408 target_configdirs="$target_configdirs target-winsup"
409 noconfigdirs="$noconfigdirs tcl tk expect make"
410 # always build newlib.
411 skipdirs=`echo " ${skipdirs} " | sed -e 's/ target-newlib / /'`
412
413 # Can't build gdb for cygwin32 if not native.
414 case "${host}:${build}" in
415 *-*-cygwin32 | *-*-cygwin32:*-*-cygwin32) ;; # keep gdb
416 *) noconfigdirs="$noconfigdirs gdb"
417 esac
418
419 ;;
420 i[345]86-*-pe)
421 noconfigdirs="$noconfigdirs target-libg++ target-libstdc++ target-libio target-librx"
422 ;;
423 i[345]86-*-sco3.2v5*)
424 # The linker does not yet know about weak symbols in COFF,
425 # and is not configured to handle mixed ELF and COFF.
426 noconfigdirs="$noconfigdirs gprof ld"
427 ;;
428 i[345]86-*-sco*)
429 noconfigdirs="$noconfigdirs gprof"
430 ;;
431 i[345]86-*-solaris2*)
432 # The linker does static linking correctly, but the Solaris C library
433 # has bugs such that some important functions won't work when statically
434 # linked. (See man pages for getpwuid, for example.)
435 noconfigdirs="$noconfigdirs ld"
436 ;;
437 i[345]86-*-sysv4*)
438 # The SYSV4 C compiler doesn't handle Emacs correctly
439 case "${CC}" in
440 "" | cc*) noconfigdirs="$noconfigdirs emacs emacs19" ;;
441 *) ;;
442 esac
443 # but that's okay since emacs doesn't work anyway
444 noconfigdirs="$noconfigdirs emacs emacs19"
445 ;;
446 powerpc-*-aix*)
447 # copied from rs6000-*-* entry
448 noconfigdirs="$noconfigdirs gprof cvs"
449 ;;
450 powerpc*-*-winnt* | powerpc*-*-pe* | ppc*-*-pe)
451 target_configdirs="$target_configdirs target-winsup"
452 noconfigdirs="$noconfigdirs gdb tcl tk make expect"
453 # always build newlib.
454 skipdirs=`echo " ${skipdirs} " | sed -e 's/ target-newlib / /'`
455 ;;
456 rs6000-*-lynxos*)
457 # The CVS server code doesn't work on the RS/6000
458 # Newlib makes problems for libg++ in crosses.
459 noconfigdirs="$noconfigdirs target-newlib gprof cvs"
460 ;;
461 rs6000-*-*)
462 noconfigdirs="$noconfigdirs gprof"
463 ;;
464 m68k-apollo-*)
465 noconfigdirs="$noconfigdirs ld binutils gprof"
466 ;;
467 mips*-*-irix5*)
468 # The GNU linker does not support shared libraries.
469 # emacs is emacs 18, which does not work on Irix 5 (emacs19 does work)
470 noconfigdirs="$noconfigdirs ld gprof emacs"
471 ;;
472 mips*-dec-bsd*)
473 noconfigdirs="$noconfigdirs gprof"
474 ;;
475 mips*-*-bsd*)
476 noconfigdirs="$noconfigdirs gprof"
477 ;;
478 mips*-*-*)
479 noconfigdirs="$noconfigdirs gprof"
480 ;;
481 romp-*-*)
482 noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes"
483 ;;
484 sh-*-*)
485 case "${host}" in
486 i[345]86-*-vsta) ;; # don't add gprof back in
487 i[345]86-*-go32) ;; # don't add gprof back in
488 *) skipdirs=`echo " ${skipdirs} " | sed -e 's/ gprof / /'` ;;
489 esac
490 ;;
491 sparc-*-sunos4*)
492 if [ x${is_cross_compiler} != xno ] ; then
493 noconfigdirs="$noconfigdirs gdb gdbtest target-newlib"
494 else
495 use_gnu_ld=no
496 fi
497 ;;
498 v810-*-*)
499 noconfigdirs="$noconfigdirs bfd binutils gas gcc gdb ld target-libio target-libg++ target-libstdc++ opcodes"
500 ;;
501 vax-*-vms)
502 noconfigdirs="$noconfigdirs bfd binutils gdb ld target-newlib opcodes"
503 ;;
504 vax-*-*)
505 noconfigdirs="$noconfigdirs target-newlib"
506 ;;
507 *-*-lynxos*)
508 # Newlib makes problems for libg++ in crosses.
509 noconfigdirs="$noconfigdirs target-newlib"
510 ;;
511 *-*-macos* | \
512 *-*-mpw*)
513 # Macs want a resource compiler.
514 configdirs="$configdirs grez"
515 ;;
516 esac
517
518 # targets that need a second pass
519 case "${target}" in
520 *-gm-magic*)
521 noconfigdirs="$noconfigdirs libgloss"
522 ;;
523 esac
524
525 # If we are building a Canadian Cross, discard tools that can not be built
526 # using a cross compiler. FIXME: These tools should be fixed.
527 if [ "${build}" != "${host}" ]; then
528 noconfigdirs="$noconfigdirs expect dejagnu make texinfo diff"
529 fi
530
531 # Make sure we don't let GNU ld be added if we didn't want it.
532 if [ x$with_gnu_ld = xno ]; then
533 use_gnu_ld=no
534 noconfigdirs="$noconfigdirs ld"
535 fi
536
537 # Make sure we don't let GNU as be added if we didn't want it.
538 if [ x$with_gnu_as = xno ]; then
539 use_gnu_as=no
540 noconfigdirs="$noconfigdirs gas"
541 fi
542
543 # Remove the entries in $skipdirs and $noconfigdirs from $configdirs and
544 # $target_configdirs.
545 # If we have the source for $noconfigdirs entries, add them to $notsupp.
546
547 notsupp=""
548 for dir in . $skipdirs $noconfigdirs ; do
549 dirname=`echo $dir | sed -e s/target-//g`
550 if [ $dir != . ] && echo " ${configdirs} " | grep " ${dir} " >/dev/null 2>&1; then
551 configdirs=`echo " ${configdirs} " | sed -e "s/ ${dir} / /"`
552 if [ -r $srcdir/$dirname/configure ] \
553 || [ -r $srcdir/$dirname/configure.in ]; then
554 if echo " ${skipdirs} " | grep " ${dir} " >/dev/null 2>&1; then
555 true
556 else
557 notsupp="$notsupp $dir"
558 fi
559 fi
560 fi
561 if [ $dir != . ] && echo " ${target_configdirs} " | grep " ${dir} " >/dev/null 2>&1; then
562 target_configdirs=`echo " ${target_configdirs} " | sed -e "s/ ${dir} / /"`
563 if [ -r $srcdir/$dirname/configure ] \
564 || [ -r $srcdir/$dirname/configure.in ]; then
565 if echo " ${skipdirs} " | grep " ${dir} " >/dev/null 2>&1; then
566 true
567 else
568 notsupp="$notsupp $dir"
569 fi
570 fi
571 fi
572 done
573
574 # Sometimes the tools are distributed with libiberty but with no other
575 # libraries. In that case, we don't want to build target-libiberty.
576 if [ -n "${target_configdirs}" ]; then
577 others=
578 for i in `echo ${target_configdirs} | sed -e s/target-//g` ; do
579 if [ "$i" != "libiberty" ]; then
580 if [ -r $srcdir/$i/configure ] || [ -r $srcdir/$i/configure.in ]; then
581 others=yes;
582 break;
583 fi
584 fi
585 done
586 if [ -z "${others}" ]; then
587 target_configdirs=
588 fi
589 fi
590
591 # Deconfigure all subdirectories, in case we are changing the
592 # configuration from one where a subdirectory is supported to one where it
593 # is not.
594 if [ -z "${norecursion}" -a -n "${configdirs}" ]; then
595 for i in `echo ${configdirs} | sed -e s/target-//g` ; do
596 rm -f $i/Makefile
597 done
598 fi
599 if [ -z "${norecursion}" -a -n "${target_configdirs}" ]; then
600 for i in `echo ${target_configdirs} | sed -e s/target-//g` ; do
601 rm -f ${target_subdir}/$i/Makefile
602 done
603 fi
604
605 # Produce a warning message for the subdirs we can't configure.
606 # This isn't especially interesting in the Cygnus tree, but in the individual
607 # FSF releases, it's important to let people know when their machine isn't
608 # supported by the one or two programs in a package.
609
610 if [ -n "${notsupp}" ] && [ -z "${norecursion}" ]; then
611 # If $appdirs is non-empty, at least one of those directories must still
612 # be configured, or we error out. (E.g., if the gas release supports a
613 # specified target in some subdirs but not the gas subdir, we shouldn't
614 # pretend that all is well.)
615 if [ -n "$appdirs" ]; then
616 for dir in $appdirs ; do
617 if [ -r $dir/Makefile.in ]; then
618 if echo " ${configdirs} " | grep " ${dir} " >/dev/null 2>&1; then
619 appdirs=""
620 break
621 fi
622 if echo " ${target_configdirs} " | grep " ${dir} " >/dev/null 2>&1; then
623 appdirs=""
624 break
625 fi
626 fi
627 done
628 if [ -n "$appdirs" ]; then
629 echo "*** This configuration is not supported by this package." 1>&2
630 exit 1
631 fi
632 fi
633 # Okay, some application will build, or we don't care to check. Still
634 # notify of subdirs not getting built.
635 echo "*** This configuration is not supported in the following subdirectories:" 1>&2
636 echo " ${notsupp}" 1>&2
637 echo " (Any other directories should still work fine.)" 1>&2
638 fi
639
640 # Set with_gnu_as and with_gnu_ld as appropriate.
641 #
642 # This is done by determining whether or not the appropriate directory
643 # is available, and by checking whether or not specific configurations
644 # have requested that this magic not happen.
645 #
646 # The command line options always override the explicit settings in
647 # configure.in, and the settings in configure.in override this magic.
648 #
649 # If the default for a toolchain is to use GNU as and ld, and you don't
650 # want to do that, then you should use the --without-gnu-as and
651 # --without-gnu-ld options for the configure script.
652
653 if [ x${use_gnu_as} = x ] ; then
654 if [ x${with_gnu_as} != xno ] && echo " ${configdirs} " | grep " ${gasdir} " > /dev/null 2>&1 && [ -d ${srcdir}/${gasdir} ] ; then
655 with_gnu_as=yes
656 withoptions="$withoptions --with-gnu-as"
657 fi
658 fi
659
660 if [ x${use_gnu_ld} = x ] ; then
661 if [ x${with_gnu_ld} != xno ] && echo " ${configdirs} " | grep " ld " > /dev/null 2>&1 && [ -d ${srcdir}/ld ] ; then
662 with_gnu_ld=yes
663 withoptions="$withoptions --with-gnu-ld"
664 fi
665 fi
666
667 if [ x${enable_shared} = xyes ]; then
668 case "${target}" in
669 hppa*) target_makefile_frag=config/mt-papic ;;
670 i[345]86-*) target_makefile_frag=config/mt-x86pic ;;
671 *) target_makefile_frag=config/mt-${target_cpu}pic ;;
672 esac
673 fi
674
675 # post-target:
676
677 # Make sure that the compiler is able to generate an executable. If it
678 # can't, we are probably in trouble. We don't care whether we can run the
679 # executable--we might be using a cross compiler--we only care whether it
680 # can be created. At this point the main configure script has set CC.
681 echo "int main () { return 0; }" > conftest.c
682 ${CC} -o conftest ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} conftest.c
683 if [ $? = 0 ] && [ -s conftest ]; then
684 :
685 else
686 echo 1>&2 "*** The command '${CC} -o conftest ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} conftest.c' failed."
687 echo 1>&2 "*** You must set the environment variable CC to a working compiler."
688 rm -f conftest*
689 exit 1
690 fi
691 rm -f conftest*
692
693 # The Solaris /usr/ucb/cc compiler does not appear to work.
694 case "${host}" in
695 sparc-sun-solaris2*)
696 if [ "`/usr/bin/which ${CC-cc}`" = "/usr/ucb/cc" ] ; then
697 could_use=
698 [ -d /opt/SUNWspro/bin ] && could_use="/opt/SUNWspro/bin"
699 if [ -d /opt/cygnus/bin ] ; then
700 if [ "$could_use" = "" ] ; then
701 could_use="/opt/cygnus/bin"
702 else
703 could_use="$could_use or /opt/cygnus/bin"
704 fi
705 fi
706 if [ "$could_use" = "" ] ; then
707 echo "Warning: compilation may fail because you're using"
708 echo "/usr/ucb/cc. You should change your PATH or CC "
709 echo "variable and rerun configure."
710 else
711 echo "Warning: compilation may fail because you're using"
712 echo "/usr/ucb/cc, when you should use the C compiler from"
713 echo "$could_use. You should change your"
714 echo "PATH or CC variable and rerun configure."
715 fi
716 fi
717 ;;
718 esac
719
720 # If --enable-shared was set, we must set LD_LIBRARY_PATH so that the
721 # binutils tools will find libbfd.so.
722 if [ "${enable_shared}" = "yes" ]; then
723 sed -e 's/^SET_LIB_PATH[ ]*=.*$/SET_LIB_PATH = $(REALLY_SET_LIB_PATH)/' \
724 Makefile > Makefile.tem
725 rm -f Makefile
726 mv -f Makefile.tem Makefile
727
728 case "${host}" in
729 *-*-hpux*)
730 sed -e 's/RPATH_ENVVAR[ ]*=.*$/RPATH_ENVVAR = SHLIB_PATH/' \
731 Makefile > Makefile.tem
732 rm -f Makefile
733 mv -f Makefile.tem Makefile
734 ;;
735 esac
736 fi
737
738 # Record target_configdirs and the configure arguments in Makefile.
739 target_configdirs=`echo "${target_configdirs}" | sed -e 's/target-//g'`
740 targargs=`echo "${arguments}" | \
741 sed -e 's/--norecursion//' \
742 -e 's/--cache[a-z-]*=[^ ]*//' \
743 -e 's/--ho[a-z-]*=[^ ]*//' \
744 -e 's/--ta[a-z-]*=[^ ]*//'`
745
746 # Passing a --with-cross-host argument lets the target libraries know
747 # whether they are being built with a cross-compiler or being built
748 # native. However, it would be better to use other mechanisms to make the
749 # sorts of decisions they want to make on this basis. Please consider
750 # this option to be deprecated. FIXME.
751 if [ x${is_cross_compiler} = xyes ]; then
752 targargs="--with-cross-host=${host_alias} ${targargs}"
753 fi
754
755 targargs="--host=${target_alias} ${targargs}"
756 sed -e "s:^TARGET_CONFIGDIRS[ ]*=.*$:TARGET_CONFIGDIRS = ${target_configdirs}:" \
757 -e "s%^CONFIG_ARGUMENTS[ ]*=.*$%CONFIG_ARGUMENTS = ${targargs}%" \
758 -e "s%^TARGET_SUBDIR[ ]*=.*$%TARGET_SUBDIR = ${target_subdir}%" \
759 Makefile > Makefile.tem
760 rm -f Makefile
761 mv -f Makefile.tem Makefile
762
763 #
764 # Local Variables:
765 # fill-column: 131
766 # End:
767 #
This page took 0.045237 seconds and 4 git commands to generate.