]> Git Repo - binutils.git/blob - bfd/configure
Merge with FSF.
[binutils.git] / bfd / configure
1 #!/bin/sh
2 # Please do not edit this file.  It is generated automatically from
3 # configure.in and a configure template.
4 configdirs=
5
6 #!/bin/sh
7
8 # Configuration script template
9 #   Copyright (C) 1988, 1990, 1991 Free Software Foundation, Inc.
10
11 #This file is part of GNU.
12
13 # This program is free software; you can redistribute it and/or modify
14 # it under the terms of the GNU General Public License as published by
15 # the Free Software Foundation; either version 2 of the License, or
16 # (at your option) any later version.
17
18 # This program is distributed in the hope that it will be useful,
19 # but WITHOUT ANY WARRANTY; without even the implied warranty of
20 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
21 # GNU General Public License for more details.
22
23 # You should have received a copy of the GNU General Public License
24 # along with this program; if not, write to the Free Software
25 # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
26
27 # $Id$
28
29 #
30 # Shell script to create proper links to machine-dependent files in
31 # preparation for compilation.
32 #
33 # If configure succeeds, it leaves its status in config.status.
34 # If configure fails after disturbing the status quo, 
35 #       config.status is removed.
36 #
37
38 remove=rm
39 hard_link=ln
40 symbolic_link='ln -s'
41
42 #for Test
43 #remove="echo rm"
44 #hard_link="echo ln"
45 #symbolic_link="echo ln -s"
46
47 progname=$0
48
49 # clear some things potentially inherited from environment.
50 ansi=
51 defaulttargets=
52 destdir=
53 fatal=
54 hostsubdir=
55 Makefile=Makefile
56 Makefile_in=Makefile.in
57 norecurse=
58 recursing=
59 removing=
60 srcdir=
61 srctrigger=
62 target=
63 targets=
64 commontargets=
65 targetsubdir=
66 template=
67 verbose=
68
69 for arg in $*;
70 do
71         case ${arg} in
72         -ansi | +a*)
73                 ansi=true
74                 clib=clib
75                 ;;
76         -destdir=* | +destdir=* | +destdi=* | +destd=* | +dest=* | +des=* | +de=* | +d=*)
77                 destdir=`echo ${arg} | sed 's/[+-]d[a-z]*=//'`
78                 ;;
79         -languages=* | +languages=* | +language=* | +languag=* \
80                 | +langua=* | +langu=* | +lang=* | +lan=* | +la=* \
81                 | +l=*)
82                 languages="${languages} `echo ${arg} | sed 's/[+-]l[a-z]*=//'`"
83                 ;;
84         -gas | +g*)
85                 gas=yes
86                 ;;
87         -help | +h*)
88                 fatal=true
89                 ;;
90         -nfp | +nf*)
91                 nfp=yes
92                 ;;
93         -norecurse | +no*)
94                 norecurse=true
95                 ;;
96         -recursing)
97                 recursing=true
98                 ;;
99         -rm | +r*)
100                 removing=${arg}
101                 ;;
102 #       -srcdir=* | +srcdir=* | +srcdi=* | +srcd=* | +src=* | +sr=* | +s=*)
103 #               srcdir=`echo ${arg} | sed 's/[+-]s[a-z]*=//'`
104 #               ;;
105         -subdirs | +f* | +su*)
106                 subdirs=${arg}
107                 ;;
108         -target=* | +target=* | +targe=* | +targ=* | +tar=* | +ta=*)
109                 if [ -n "${targets}" ] ; then
110                         subdirs="+subdirs"
111                 fi
112
113                 newtargets="${targets} `echo ${arg} | sed 's/[+-]t[a-z]*=//'`"
114                 targets="${newtargets}"
115                 ;;
116         -template=* | +template=* | +templat=* | +templa=* | +templ=* | +temp=* | +tem=* | +te=*)
117                 template=`echo ${arg} | sed 's/[+-]template=//'`
118                 ;;
119         -v | -verbose | +v*)
120                 verbose=${arg}
121                 ;;
122         -* | +*)
123                 (echo ;
124                 echo "Unrecognized option: \"${arg}\"". ;
125                 echo) 1>&2
126                 fatal=true
127                 ;;
128         *)
129                 if [ -n "${hosts}" ] ; then
130                         subdirs="+subdirs"
131                 fi
132
133                 newhosts="${hosts} ${arg}"
134                 hosts=${newhosts}
135                 ;;
136         esac
137 done
138
139 if [ -n "${verbose}" ] ; then
140         echo `pwd`/configure $*
141 fi
142
143 # process host and target only if not rebuilding configure itself or removing.
144 if [ -z "${template}" -a -z "${removing}" -a -z "${fatal}" ] ; then
145         # Complain if an arg is missing
146         if [ -z "${hosts}" ] ; then
147                 (echo ;
148                 echo "configure: No HOST specified." ;
149                 echo) 1>&2
150                 fatal=true
151         fi
152 fi
153
154 if [ -n "${fatal}" -o "${hosts}" = "help" ] ; then
155         (echo "Usage: configure HOST" ;
156         echo ;
157         echo "Options: [defaults in brackets]" ;
158         echo " +ansi            configure w/ANSI library. [no ansi lib]" ;
159         echo " +destdir=MYDIR   configure for installation into MYDIR. [/usr/local]" ;
160         echo " +subdirs         configure in subdirectories.  [in source directories]" ;
161         echo " +lang=LANG       configure to build LANG. [gcc]" ;
162         echo " +help            print this message. [normal config]" ;
163         echo " +gas             configure the compilers for use with gas. [native as]" ;
164         echo " +nfp             configure the compilers default to soft floating point. [hard float]" ;
165         echo " +norecurse       configure this directory only. [recurse]" ;
166         echo " +rm              remove this configuration. [build a configuration]" ;
167         echo " +target=TARGET   configure for TARGET.  [TARGET = HOST]" ;
168         echo " +template=TEM    rebuild configure using TEM. [normal config]" ;
169         echo ;
170         echo "Where HOST and TARGET are something like \"vax\", \"sun3\", \"encore\", etc." ;
171         echo "Asking for more than one \"+target\" implies \"+subdirs\".  Any other" ;
172         echo "options given will apply to all targets.") 1>&2
173
174         if [ -r config.status ] ; then
175                 cat config.status
176         fi
177
178         exit 1
179 fi
180
181 #### configure.in common parts come in here.
182 # This file is a shell script that supplies the information necessary
183 # to tailor a template configure script into the configure script
184 # appropriate for this directory.  For more information, check any
185 # existing configure script.
186
187 srctrigger=libbfd.c
188 srcname="bfd"
189
190 ## end of common part.
191
192 # are we rebuilding config itself?
193 if [ -n "${template}" ] ; then
194         if [ ! -r ${template} ] ; then
195                 echo '***' "Can't find template ${template}." 1>&2
196                 exit 1
197         fi
198
199 # prep the template
200         sed -e '/^#### configure.in common parts come in here.$/,/^## end of common part.$/c\
201 #### configure.in common parts come in here.\
202 ## end of common part.' \
203         -e '/^#### configure.in per-host parts come in here.$/,/^## end of per-host part.$/c\
204 #### configure.in per-host parts come in here.\
205 ## end of per-host part.' \
206         -e '/^#### configure.in per-target parts come in here.$/,/^## end of per-target part.$/c\
207 #### configure.in per-target parts come in here.\
208 ## end of per-target part.' \
209         -e '/^#### configure.in post-target parts come in here.$/,/^## end of post-target part.$/c\
210 #### configure.in post-target parts come in here.\
211 ## end of post-target part.' \
212         < ${template} > template.new
213
214         if [ -r configure.in ] ; then
215                 if [ -z "`grep '^# per\-host:' configure.in`" ] ; then
216                         echo '***' `pwd`/configure.in has no "per-host:" line. 1>&2
217                         exit 1
218                 fi
219
220                 if [ -z "`grep '^# per\-target:' configure.in`" ] ; then
221                         echo '***' `pwd`/configure.in has no "per-target:" line. 1>&2
222                         exit 1
223                 fi
224
225                 # split configure.in into common, per-host, per-target,
226                 # and post-target parts.  Post-target is optional.
227                 sed -e '/^# per\-host:/,$d' configure.in > configure.com
228                 sed -e '1,/^# per\-host:/d' -e '/^# per\-target:/,$d' configure.in > configure.hst
229                 if grep -s '^# post-target:' configure.in ; then
230                   sed -e '1,/^# per\-target:/d' -e '/^# post\-target:/,$d' configure.in > configure.tgt
231                   sed -e '1,/^# post\-target:/d' configure.in > configure.pos
232                 else
233                   sed -e '1,/^# per\-target:/d' configure.in > configure.tgt
234                   echo >configure.pos
235                 fi
236
237                 # and insert them
238                 sed -e '/^#### configure.in common parts come in here.$/  r configure.com' \
239                         -e '/^#### configure.in per\-host parts come in here.$/  r configure.hst' \
240                         -e '/^#### configure.in per\-target parts come in here.$/  r configure.tgt' \
241                         -e '/^#### configure.in post\-target parts come in here.$/  r configure.pos' \
242                         template.new > configure.new
243
244                 rm -f configure.com configure.tgt configure.hst configure.pos
245         else
246                 echo Warning: no configure.in in `pwd`
247                 cat ${template} >> configure
248         fi
249
250         chmod a+x configure.new
251         rm template.new
252 #       mv configure configure.old
253         mv configure.new configure
254
255         if [ -n "${verbose}" ] ; then
256                 echo Rebuilt configure in `pwd`
257         fi
258
259         # Now update config.sub from the template directory.
260         if echo "$template" | grep -s 'configure$' ; then
261                 cp `echo "$template" | sed s/configure$/config.sub/` ./config.sub.new
262         #       mv config.sub config.sub.old
263                 mv config.sub.new config.sub
264
265                 if [ -n "${verbose}" ] ; then
266                         echo Rebuilt config.sub in `pwd`
267                 fi
268         fi
269
270         if [ -z "${norecurse}" ] ; then
271                 # If template is relative path, make it absolute for recursing.
272                 if echo "${template}" | grep -s '^/' ; then
273                    true
274                 else
275                    template=`pwd`/${template}
276                 fi
277
278                 while [ -n "${configdirs}" ] ; do
279                         # set configdir to car of configdirs, configdirs to cdr of configdirs
280                         set ${configdirs}; configdir=$1; shift; configdirs=$*
281
282                         if [ "`echo ${configdir}.*`" != "${configdir}.*" ] ; then
283                                 targetspecificdirs=${configdir}.*
284                         else
285                                 targetspecificdirs=
286                         fi
287
288                         for i in ${configdir} ${targetspecificdirs} ; do
289                                 if [ -d $i ] ; then
290                                         if [ -r $i/configure ] ; then
291                                                 (cd $i ;
292                                                         ./configure +template=${template} ${verbose})
293                                         else
294                                                 echo Warning: No configure script in `pwd`/$i
295                                         fi
296                                 else
297                                         if [ -n "${verbose}" ] ; then
298                                           echo Warning: directory $i is missing.
299                                         fi
300                                 fi
301                         done
302                 done
303         fi
304
305         exit 0
306 fi
307
308 # some sanity checks on configure.in
309 if [ -z "${srctrigger}" ] ; then
310         echo Warning: srctrigger not set in configure.in. `pwd` not configured.
311         exit 1
312 fi
313
314 for host in ${hosts} ; do
315         # Default other arg
316         if [ -z "${targets}" -o -n "${defaulttargets}" ] ; then
317                 targets=${host}
318                 defaulttargets=true
319         fi
320
321         result=`/bin/sh ./config.sub ${host}`
322         host_cpu=`echo $result | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\1/'`
323         host_vendor=`echo $result | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\2/'`
324         host_os=`echo $result | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\3/'`
325         host=${host_cpu}-${host_vendor}-${host_os}
326         host_makefile_frag=config/hmake-${host}
327
328 #### configure.in per-host parts come in here.
329
330 if [ "${host_os}" = "posix" ] ; then
331         bfd_host=posix
332 else
333         case "${host_cpu}" in
334         rs6000) bfd_host=aix ;;
335         mips)
336                 case "${host_vendor}" in
337                 dec)    bfd_host=dec3100 ;;
338                 esac
339                 ;;
340         m88k)
341                 case "${host_vendor}" in
342                 *)
343                         case "${host_os}" in
344                         dgux)   bfd_host=dgux ;;
345                         esac
346                         ;;
347                 esac
348                 ;;
349
350         m68k)
351                 case "${host_vendor}" in
352                 hp)     
353                         case "${host_os}" in
354                         hpux)   bfd_host=hp9000 ;;
355                         bsd)    bfd_host=hp300bsd ;;
356                         esac
357                         ;;
358                 sony)   bfd_host=news ;;
359                 sun)    bfd_host=sun3 ;;
360                 esac
361                 ;;
362
363         i386)
364                 case "${host_vendor}" in
365                 *)
366                         case "${host_os}" in
367                         sysv)   bfd_host=i386v ;;
368                         esac
369                         ;;
370                 esac
371                 ;;
372
373         sparc)
374                 case "${host_vendor}" in
375                 sun)    bfd_host=sun4 ;;
376                 esac
377                 ;;
378
379         rtpc)   bfd_host=rtbsd ;;
380         tahoe | vax)    bfd_host=${host_cpu} ;;
381         esac
382 fi
383
384 if [ ! -f config/hmake-${bfd_host} ] ; then
385         echo '***' BFD does not support host ${host}: no file config/hmake-${bfd_host}
386         exit 1
387 fi
388
389 host_makefile_frag=config/hmake-${bfd_host}
390
391 ## end of per-host part.
392
393         for target in ${targets} ; do
394
395                 result=`/bin/sh ./config.sub ${target}`
396                 target_cpu=`echo $result | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\1/'`
397                 target_vendor=`echo $result | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\2/'`
398                 target_os=`echo $result | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\3/'`
399                 target=${target_cpu}-${target_vendor}-${target_os}
400                 target_makefile_frag=config/tmake-${target}
401
402 #### configure.in per-target parts come in here.
403
404 case "${target_vendor}" in
405 aout | coff | bout) bfd_target=${target_cpu}-${target_vendor} ;;
406 sony)   bfd_target=news ;;
407 intel)  bfd_target=${target_cpu}-coff ;;        
408 wrs)
409         case "${target_cpu}" in
410         i960) bfd_target=i960-bout ;;
411         m68k) bfd_target=m68k-aout ;;
412         esac
413         ;;
414 sun)
415         case "${target_cpu}" in
416         m68k)   bfd_target=m68k-aout ;;
417         sparc)  bfd_target=sparc-aout ;;
418         esac
419         ;;
420 dec)
421         case "${target_cpu}" in
422         mips) bfd_target=dec3100 ;;
423         esac
424         ;;
425 hp)
426         case "${target_cpu}" in
427         m68k)
428                 case "${target_os}" in
429                 hpux)   bfd_target=hp9000 ;;
430                 bsd)    bfd_target=hp300bsd ;;
431                 esac
432                 ;;
433         esac
434         ;;
435 none)
436         case "${target_cpu}" in
437         i386) bfd_target=i386-coff ;;
438         esac
439         ;;
440 *)
441         case "${target_cpu}" in
442         tahoe | vax) bfd_target=${target_cpu} ;;
443         esac
444         ;;
445 esac
446
447 if [ ! -f config/tmake-${bfd_target} ] ; then
448         echo '***' BFD does not support target ${target}: no file config/tmake-${bfd_target}
449         exit 1
450 fi
451
452 target_makefile_fragment=config/tmake-${bfd_target}
453
454 files=
455 links=
456 ## end of per-target part.
457
458                 # Temporarily, we support only direct subdir builds.
459                 hostsubdir=Host-${host}
460                 targetsubdir=Target-${target}
461
462                 if [ -n "${removing}" ] ; then
463                         if [ -n "${subdirs}" ] ; then
464                                 if [ -d "${hostsubdir}" ] ; then
465                                         rm -rf ${hostsubdir}/${targetsubdir}
466
467                                         if [ -z "`(ls ${hostsubdir}) 2>&1 | grep Target- | grep -v Target-independent`" ] ; then
468                                                 rm -rf ${hostsubdir}
469                                         fi
470                                 else
471                                         echo Warning: no `pwd`/${hostsubdir} to remove.
472                                 fi
473                         else
474                                 rm -f ${Makefile} config.status ${links}
475                         fi
476                 else
477                         if [ -n "${subdirs}" ] ; then
478                                 # check for existing status before allowing forced subdirs.
479                                 if [ -f ${Makefile} ] ; then
480                                         echo '***' "${Makefile} already exists in source directory.  `pwd` not configured." 1>&2
481                                         exit 1
482                                 fi
483
484                                 if [ ! -d ${hostsubdir} ] ; then mkdir ${hostsubdir} ; fi
485                                 cd ${hostsubdir}
486
487                                 if [ ! -d ${targetsubdir} ] ; then
488                                         if [ -z "${commontargets}" ] ; then
489                                                 mkdir ${targetsubdir}
490                                         else
491                                                 if [ ! -d Target-independent ] ; then
492                                                         mkdir Target-independent
493                                                 fi
494
495                                                 ${symbolic_link} Target-independent ${targetsubdir}
496                                         fi # if target independent
497                                 fi # if no target dir yet
498
499                                 cd ${targetsubdir}
500
501                                 srcdir=../..
502                         else
503                                 # if not subdir builds, then make sure none exist.
504                                 if [ -n "`(ls .) 2>&1 | grep Host-`" ] ; then
505                                         echo '***' "Configured subdirs exist.  `pwd` not configured." 1>&2
506                                         exit 1
507                                 fi
508                         fi
509
510                         # Find the source files, if location was not specified.
511                         if [ -z "${srcdir}" ] ; then
512                                 srcdirdefaulted=1
513                                 srcdir=.
514                                 if [ -n "${srctrigger}" -a ! -r ${srctrigger} ] ; then
515                                         srcdir=..
516                                 fi
517                         fi
518
519                         if [ -n "${srctrigger}" -a ! -r ${srcdir}/${srctrigger} ] ; then
520                                 if [ -z "${srcdirdefaulted}" ] ; then
521                                         echo '***' "${progname}: Can't find ${srcname} sources in `pwd`/${srcdir}" 1>&2
522                                 else
523                                         echo '***' "${progname}: Can't find ${srcname} sources in `pwd`/. or `pwd`/.." 1>&2
524                                 fi
525
526                                 echo '***' \(At least ${srctrigger} is missing.\) 1>&2
527                                 exit 1
528                         fi
529
530                         # Set up the list of links to be made.
531                         # ${links} is the list of link names, and ${files} is the list of names to link to.
532
533                         # Make the links.
534                         while [ -n "${files}" ] ; do
535                                 # set file to car of files, files to cdr of files
536                                 set ${files}; file=$1; shift; files=$*
537                                 set ${links}; link=$1; shift; links=$*
538
539                                 if [ ! -r ${srcdir}/${file} ] ; then
540                                         echo '***' "${progname}: cannot create a link \"${link}\"," 1>&2
541                                         echo '***' "since the file \"${file}\" does not exist." 1>&2
542                                         exit 1
543                                 fi
544
545                                 ${remove} -f ${link}
546                                 rm -f config.status
547                                 # Make a symlink if possible, otherwise try a hard link
548                                 ${symbolic_link} ${srcdir}/${file} ${link} 2>/dev/null || ${hard_link} ${srcdir}/${file} ${link}
549
550                                 if [ ! -r ${link} ] ; then
551                                         echo '***' "${progname}: unable to link \"${link}\" to \"${srcdir}/${file}\"." 1>&2
552                                         exit 1
553                                 fi
554
555                                 if [ -n "${verbose}" ] ; then
556                                         echo "Linked \"${link}\" to \"${srcdir}/${file}\"."
557                                 fi
558                         done
559
560                         # Create a .gdbinit file which runs the one in srcdir
561                         # and tells GDB to look there for source files.
562
563                         case ${srcdir} in
564                         .)
565                                 ;;
566                         *)
567                                 echo "dir ." > .gdbinit
568                                 echo "dir ${srcdir}" >> .gdbinit
569                                 echo "source ${srcdir}/.gdbinit" >> .gdbinit
570                                 ;;
571                         esac
572
573                         # Install a makefile, and make it set VPATH
574                         # if necessary so that the sources are found.
575                         # Also change its value of srcdir.
576
577                 # FIXME-someday: This business of always writing to .tem and mv back
578                 # is so that I don't screw things up while developing.  Once this
579                 # template is stable, these should be optimized. xoxorich.
580
581                         # Define macro CROSS_COMPILE in compilation if this is a cross-compiler.
582                         if [ "${host}" != "${target}" ] ; then
583                                 echo "CROSS=-DCROSS_COMPILE" > ${Makefile}
584                                 echo "ALL=start.encap" >> ${Makefile}
585                         else
586                                 echo "ALL=all.internal" > ${Makefile}
587                         fi
588
589                         # set target, host, VPATH
590                         echo "host = ${host}" >> ${Makefile}
591                         echo "target = ${target}" >> ${Makefile}
592
593                         if [ -n "${subdirs}" ] ; then
594                                 echo "subdir = /${hostsubdir}/${targetsubdir}" >> ${Makefile}
595                         else
596                                 echo "subdir =" >> ${Makefile}
597                         fi
598
599                 #       echo "workdir = `pwd`" >> ${Makefile}
600                         echo "VPATH = ${srcdir}" >> ${Makefile}
601
602                         # add "Makefile.in" (or whatever it's called)
603                         cat ${srcdir}/${Makefile_in} >> ${Makefile}
604
605                         # Conditionalize the makefile for this host.
606                         if [ -f ${srcdir}/${host_makefile_frag} ] ; then
607                                 sed -e "/^####/  r ${srcdir}/${host_makefile_frag}" ${Makefile} > Makefile.tem
608                                 mv Makefile.tem ${Makefile}
609                         fi
610
611                         # Conditionalize the makefile for this target.
612                         if [ -f ${srcdir}/${target_makefile_frag} ] ; then
613                                 sed -e "/^####/  r ${srcdir}/${target_makefile_frag}" ${Makefile} > Makefile.tem
614                                 mv Makefile.tem ${Makefile}
615                         fi
616
617                         # set srcdir
618                         sed "s@^srcdir = \.@srcdir = ${srcdir}@" ${Makefile} > Makefile.tem
619                         mv Makefile.tem ${Makefile}
620
621                         # set destdir
622                         if [ -n "${destdir}" ] ; then
623                                 sed "s:^destdir =.*$:destdir = ${destdir}:" ${Makefile} > Makefile.tem
624                                 mv Makefile.tem ${Makefile}
625                         fi
626
627                         # reset SUBDIRS
628                         sed "s:^SUBDIRS =.*$:SUBDIRS = ${configdirs}:" ${Makefile} > Makefile.tem
629                         mv Makefile.tem ${Makefile}
630
631                         # reset NONSUBDIRS
632                         sed "s:^NONSUBDIRS =.*$:NONSUBDIRS = ${noconfigdirs}:" ${Makefile} > Makefile.tem
633                         mv Makefile.tem ${Makefile}
634
635                         using=
636                         if [ -f ${srcdir}/${host_makefile_frag} ] ; then
637                                 using=" using \"${host_makefile_frag}\""
638                         fi
639
640                         if [ -f ${srcdir}/${target_makefile_frag} ] ; then
641                                 if [ -z "${using}" ] ; then
642                                         andusing=" using \"${target_makefile_frag}\""
643                                 else
644                                         andusing="${using} and \"${target_makefile_frag}\""
645                                 fi
646                         else
647                                 andusing=${using}
648                         fi
649
650                         if [ -n "${verbose}" -o -z "${recursing}" ] ; then
651                                 echo "Created \"${Makefile}\"" in `pwd`${andusing}.
652                         fi
653
654 #### configure.in post-target parts come in here.
655
656 ## end of post-target part.
657
658                         if [ "${host}" = "${target}" ] ; then
659                                 echo "Links are now set up for use with a ${target}." \
660                                         > config.status
661                 #                       | tee ${srcdir}/config.status
662                         else
663                                 echo "Links are now set up for host ${host} and target ${target}." \
664                                         > config.status
665                 #                       | tee ${srcdir}/config.status
666                         fi
667
668                         originaldir=`pwd`
669                         cd ${srcdir}
670                 fi
671
672                 # If there are subdirectories, then recurse. 
673                 if [ -z "${norecurse}" -a -n "${configdirs}" ] ; then 
674                         for configdir in ${configdirs} ; do
675                                 if [ -n "${verbose}" ] ; then
676                                         echo Configuring ${configdir}...
677                                 fi
678
679                                 if [ -d ${configdir} ] ; then
680                                         (cd ${configdir} ;
681                                                 ./configure -recursing ${host} +target=${target} \
682                                                         ${verbose} ${subdirs} ${removing} +destdir=${destdir}) \
683                                                 | sed 's/^/     /'
684                                 else
685                                         if [ -n "${verbose}" ] ; then
686                                                 echo Warning: directory \"${configdir}\" is missing.
687                                         fi
688                                 fi
689                         done
690                 fi
691         done # for each target
692
693         # Now build a Makefile for this host.
694         if [ -n "${subdirs}" -a ! -n "${removing}" ] ; then
695                 cd ${hostsubdir}
696                 cat > GNUmakefile << E!O!F
697 # Makefile generated by configure for host ${host}.
698
699 ALL := $(shell ls -d Target-*)
700
701 %:
702         $(foreach subdir,$(ALL),$(MAKE) -C $(subdir) \$@ &&) true
703
704 all:
705 E!O!F
706                 cd ..
707         fi
708 done # for each host
709
710 exit 0
711
712 #
713 # $Log$
714 # Revision 1.23  1991/08/23 04:48:43  rich
715 # Minor config polish.
716 #
717 # Revision 1.22  1991/08/23  03:31:43  rich
718 # Minor polish & config mapping.
719 #
720 # Revision 1.30  1991/08/22  07:15:51  rich
721 # Three part names, etc.
722 #
723 # Revision 1.29  1991/08/20  04:56:51  rich
724 # revisiting error messages
725 #
726 # Revision 1.28  1991/08/16  19:22:17  rich
727 # This is the commontargets change and should be considered
728 # experimental.
729 #
730 # Revision 1.27  1991/08/08  01:14:13  rich
731 # allow +f to stand in for +subdirs
732 #
733 # Revision 1.26  1991/08/07  19:21:32  rich
734 # +forcesubdirs -> +subdirs
735 #
736 # Revision 1.25  1991/08/07  07:05:30  rich
737 # Added make.
738 #
739 # Revision 1.24  1991/08/06  19:26:01  rich
740 # revised option parsing.
741 #
742 # Revision 1.23  1991/08/06  19:12:32  rich
743 # Host-level GNUmakefiles.
744 #
745 # Revision 1.22  1991/07/20  01:22:30  rich
746 # propogate gdb changes and destdir fix
747 #
748 # Revision 1.21  1991/07/20  00:55:20  gnu
749 # Roll in new configure that handles GDB.  Make sure that the "configure"
750 # that is checked-in reflects the latest "configure.in", which includes gdb.
751 #
752 # Revision 1.9  1991/07/06  04:35:51  gnu
753 # Fix bug in configure when iterating targets.
754 # Depend on alldeps.mak, not ${srcdir}/alldeps.mak, so it can be found
755 # in either spot.
756 #
757 # Revision 1.8  1991/07/05  00:04:58  gnu
758 # Thu Jul  4 14:47:06 1991  John Gilmore  (gnu at cygint.cygnus.com)
759 #
760 #         * configure.in, Makefile.in:  Avoid rebuilding "depend" as much.
761 #         Avoid declaring Makefile dependencies, because GNU Make stupidly
762 #         tries to update it if we do.
763 #
764 #         * coffread.c:  Revise for minor changes to bfd internal coff
765 #         indexes.
766 #
767 #         * configure:  If -template= is given a relative path, make it
768 #         absolute before recurring in subdirectories.
769 #
770 # Revision 1.7  1991/07/04  15:59:46  gnu
771 # Make gdb work with configure.  Only thing that doesn't work is the -list
772 # option (as far as I know).
773 #
774 # Revision 1.6  1991/06/04  07:28:16  gnu
775 # Change GDB over to GNU General Public License version 2.
776 #
777 # Revision 1.5  1991/05/19  07:26:54  rich
778 # configure changes and -opcode.h movement.
779 #
780 # Revision 1.4  1991/05/19  00:16:45  rich
781 # Configure for gdb.
782 #
783 # Revision 1.10  1991/05/04  00:58:38  rich
784 # Fix program name bug.
785 #
786 # Revision 1.9  1991/05/03  19:14:18  rich
787 # Changed getopt to libiberty, commented out an aborted attempt at host
788 # level Makefiles because it caused errors on +rm, add a warning for
789 # directories expected to be removed on +rm but that don't exist.
790 #
791 # Revision 1.8  1991/04/24  16:50:59  rich
792 # Three staging checkpoint.
793 #
794 # Revision 1.7  1991/04/17  01:34:47  rich
795 # Added getopt for binutils, fixed problem with host dependancies in
796 # configure.template.
797 #
798 # Revision 1.6  1991/04/16  00:18:44  rich
799 # Now handles multiple hosts and targets.
800 #
801 # Revision 1.5  1991/04/15  23:43:44  rich
802 # Now handles multiple hosts and targets.
803 #
804 # Revision 1.4  1991/04/13  02:11:03  rich
805 # Config cut 3.  We now almost install a29k.
806 #
807 # Revision 1.3  1991/04/11  02:41:54  rich
808 # Cut 2 config.  Subdirs.
809 #
810 #
811 #
812
813 #
814 # Local Variables:
815 # fill-column: 131
816 # End:
817 #
818
819 # end of configure.template
This page took 0.072222 seconds and 4 git commands to generate.