From 063efd10aa2775696a7c11b90692b47d59f0bbbf Mon Sep 17 00:00:00 2001 From: John Gilmore Date: Sat, 20 Jul 1991 00:55:20 +0000 Subject: Roll in new configure that handles GDB. Make sure that the "configure" that is checked-in reflects the latest "configure.in", which includes gdb. --- configure | 177 ++++++++++++++++++++++++++++++++++---------------------------- 1 file changed, 97 insertions(+), 80 deletions(-) (limited to 'configure') diff --git a/configure b/configure index 91e90e7..16f1e1f 100755 --- a/configure +++ b/configure @@ -3,9 +3,6 @@ # configure.in and a configure template. configdirs= -# the debugger. -#set -x - #!/bin/sh # Configuration script template @@ -13,19 +10,19 @@ configdirs= #This file is part of GNU. -#GNU CC is free software; you can redistribute it and/or modify -#it under the terms of the GNU General Public License as published by -#the Free Software Foundation; either version 1, or (at your option) -#any later version. - -#GNU CC is distributed in the hope that it will be useful, -#but WITHOUT ANY WARRANTY; without even the implied warranty of -#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -#GNU General Public License for more details. - -#You should have received a copy of the GNU General Public License -#along with GNU CC; see the file COPYING. If not, write to -#the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ # $Id$ @@ -50,13 +47,13 @@ symbolic_link='ln -s' progname=$0 # clear some things potentially inherited from environment. - ansi= -clib= defaulttargets= destdir= fatal= hostsubdir= +Makefile=Makefile +Makefile_in=Makefile.in norecurse= removing= srcdir= @@ -73,9 +70,6 @@ do -ansi | +ansi) ansi=true ;; - -clib | +c*) - clib=clib - ;; -destdir=* | +destdir=* | +destdi=* | +destd=* | +dest=* | +des=* | +de=* | +d=*) destdir=`echo ${arg} | sed 's/[+-]d[a-z]*=//'` ;; @@ -186,7 +180,7 @@ fi # script appropriate for this directory. For more information, check # any existing configure script. -configdirs="libiberty bfd binutils gcc ld gas readline gnulib ${clib}" +configdirs="libiberty bfd binutils gcc readline gdb ld gas gnulib ${clib} prms" srctrigger=README.configure srcname="gnu development package" @@ -209,6 +203,9 @@ if [ -n "${template}" ] ; then -e '/^#### configure.in per-target parts come in here.$/,/^## end of per-target part.$/c\ #### configure.in per-target parts come in here.\ ## end of per-target part.' \ + -e '/^#### configure.in post-target parts come in here.$/,/^## end of post-target part.$/c\ +#### configure.in post-target parts come in here.\ +## end of post-target part.' \ < ${template} > template.new if [ -r configure.in ] ; then @@ -222,18 +219,26 @@ if [ -n "${template}" ] ; then exit 1 fi - # split configure.in into common, per-host, and per-target parts + # split configure.in into common, per-host, per-target, + # and post-target parts. Post-target is optional. sed -e '/^# per\-host:/,$d' configure.in > configure.com sed -e '1,/^# per\-host:/d' -e '/^# per\-target:/,$d' configure.in > configure.hst - sed -e '1,/^# per\-target:/d' configure.in > configure.tgt + if grep -s '^# post-target:' configure.in ; then + sed -e '1,/^# per\-target:/d' -e '/^# post\-target:/,$d' configure.in > configure.tgt + sed -e '1,/^# post\-target:/d' configure.in > configure.pos + else + sed -e '1,/^# per\-target:/d' configure.in > configure.tgt + echo >configure.pos + fi # and insert them sed -e '/^#### configure.in common parts come in here.$/ r configure.com' \ -e '/^#### configure.in per\-host parts come in here.$/ r configure.hst' \ -e '/^#### configure.in per\-target parts come in here.$/ r configure.tgt' \ + -e '/^#### configure.in post\-target parts come in here.$/ r configure.pos' \ template.new > configure.new - rm -f configure.com configure.tgt configure.hst + rm -f configure.com configure.tgt configure.hst configure.pos else echo Warning: no configure.in in `pwd` cat ${template} >> configure @@ -246,6 +251,13 @@ if [ -n "${template}" ] ; then echo Rebuilt configure in `pwd` if [ -z "${norecurse}" ] ; then + # If template is relative path, make it absolute for recursing. + if echo "${template}" | grep -s '^/' ; then + true + else + template=`pwd`/${template} + fi + while [ -n "${configdirs}" ] ; do # set configdir to car of configdirs, configdirs to cdr of configdirs set ${configdirs}; configdir=$1; shift; configdirs=$* @@ -297,7 +309,7 @@ for host in ${hosts} ; do for target in ${targets} ; do if [ -n "${verbose}" ] ; then - echo host \= \"${host}\", target \= \"${target}\". + echo " target=\"${target}\"" fi target_makefile_frag=config/tmake-${target} @@ -321,13 +333,13 @@ for host in ${hosts} ; do echo Warning: no `pwd`/${hostsubdir} to remove. fi else - rm -f Makefile config.status ${links} + rm -f ${Makefile} config.status ${links} fi else if [ -n "${forcesubdirs}" ] ; then # check for existing status before allowing forced subdirs. - if [ -f Makefile ] ; then - echo "Makefile already exists in source directory. `pwd` not configured." + if [ -f ${Makefile} ] ; then + echo "${Makefile} already exists in source directory. `pwd` not configured." exit 1 fi @@ -416,62 +428,57 @@ for host in ${hosts} ; do # Define macro CROSS_COMPILE in compilation if this is a cross-compiler. if [ "${host}" != "${target}" ] ; then - echo "CROSS=-DCROSS_COMPILE" > Makefile - echo "ALL=start.encap" >> Makefile + echo "CROSS=-DCROSS_COMPILE" > ${Makefile} + echo "ALL=start.encap" >> ${Makefile} else - echo "ALL=all.internal" > Makefile + echo "ALL=all.internal" > ${Makefile} fi # set target, host, VPATH - echo "host = ${host}" >> Makefile - echo "target = ${target}" >> Makefile + echo "host = ${host}" >> ${Makefile} + echo "target = ${target}" >> ${Makefile} if [ -n "${forcesubdirs}" ] ; then - echo "subdir = /${hostsubdir}/${targetsubdir}" >> Makefile + echo "subdir = /${hostsubdir}/${targetsubdir}" >> ${Makefile} else - echo "subdir =" >> Makefile + echo "subdir =" >> ${Makefile} fi - # echo "workdir = `pwd`" >> Makefile - echo "VPATH = ${srcdir}" >> Makefile + # echo "workdir = `pwd`" >> ${Makefile} + echo "VPATH = ${srcdir}" >> ${Makefile} - # add Makefile.in - cat ${srcdir}/Makefile.in >> Makefile + # add "Makefile.in" (or whatever it's called) + cat ${srcdir}/${Makefile_in} >> ${Makefile} - # and shake thoroughly. # Conditionalize the makefile for this host. if [ -f ${srcdir}/${host_makefile_frag} ] ; then - sed -e "/^####/ r ${srcdir}/${host_makefile_frag}" Makefile > Makefile.tem - mv Makefile.tem Makefile + sed -e "/^####/ r ${srcdir}/${host_makefile_frag}" ${Makefile} > Makefile.tem + mv Makefile.tem ${Makefile} fi # Conditionalize the makefile for this target. if [ -f ${srcdir}/${target_makefile_frag} ] ; then - sed -e "/^####/ r ${srcdir}/${target_makefile_frag}" Makefile > Makefile.tem - mv Makefile.tem Makefile + sed -e "/^####/ r ${srcdir}/${target_makefile_frag}" ${Makefile} > Makefile.tem + mv Makefile.tem ${Makefile} fi # set srcdir - sed "s@^srcdir = \.@srcdir = ${srcdir}@" Makefile > Makefile.tem - mv Makefile.tem Makefile + sed "s@^srcdir = \.@srcdir = ${srcdir}@" ${Makefile} > Makefile.tem + mv Makefile.tem ${Makefile} # set destdir if [ -n "${destdir}" ] ; then - sed "s:^destdir =.*$:destdir = ${destdir}:" Makefile > Makefile.tem - mv Makefile.tem Makefile + sed "s:^destdir =.*$:destdir = ${destdir}:" ${Makefile} > Makefile.tem + mv Makefile.tem ${Makefile} fi - # Remove all formfeeds, since some Makes get confused by them. - sed "s/ //" Makefile >> Makefile.tem - mv Makefile.tem Makefile - # reset SUBDIRS - sed "s:^SUBDIRS =.*$:SUBDIRS = ${configdirs}:" Makefile > Makefile.tem - mv Makefile.tem Makefile + sed "s:^SUBDIRS =.*$:SUBDIRS = ${configdirs}:" ${Makefile} > Makefile.tem + mv Makefile.tem ${Makefile} # reset NONSUBDIRS - sed "s:^NONSUBDIRS =.*$:NONSUBDIRS = ${noconfigdirs}:" Makefile > Makefile.tem - mv Makefile.tem Makefile + sed "s:^NONSUBDIRS =.*$:NONSUBDIRS = ${noconfigdirs}:" ${Makefile} > Makefile.tem + mv Makefile.tem ${Makefile} using= if [ -f ${srcdir}/${host_makefile_frag} ] ; then @@ -488,7 +495,11 @@ for host in ${hosts} ; do andusing=${using} fi - echo "Created \"Makefile\"" in `pwd`${andusing}. + echo "Created \"${Makefile}\"" in `pwd`${andusing}. + +#### configure.in post-target parts come in here. + +## end of post-target part. if [ "${host}" = "${target}" ] ; then echo "Links are now set up for use with a ${target}." \ @@ -544,7 +555,7 @@ for configdir in ${configdirs} ; do if [ -n "${commons}" ] ; then if [ -d ${configdir} ] ; then (cd ${configdir} ; - ./configure ${commons} ${verbose} ${forcesubdirs} ${removing} "+destdir=${destdir}") \ + ./configure ${commons} ${verbose} ${forcesubdirs} ${removing}) \ | sed 's/^/ /' else echo Warning: directory \"${configdir}\" is missing. @@ -555,7 +566,7 @@ for configdir in ${configdirs} ; do for host in ${specifics} ; do echo Configuring target specific directory ${configdir}.${host}... (cd ${configdir}.${host} ; - ./configure ${host} ${verbose} ${forcesubdirs} ${removing} "+destdir=${destdir}") \ + ./configure ${host} ${verbose} ${forcesubdirs} ${removing}) \ | sed 's/^/ /' done # for host in specifics fi # if there are any specifics @@ -580,7 +591,7 @@ for configdir in ${configdirs} ; do if [ -n "${commons}" ] ; then if [ -d ${configdir} ] ; then (cd ${configdir} ; - ./configure ${hosts} ${verbose} ${forcesubdirs} ${removing} ${commons} "+destdir=${destdir}") \ + ./configure ${hosts} ${verbose} ${forcesubdirs} ${removing} ${commons}) \ | sed 's/^/ /' else echo Warning: directory \"${configdir}\" is missing. @@ -591,7 +602,7 @@ for configdir in ${configdirs} ; do for target in ${specifics} ; do echo Configuring target specific directory ${configdir}.${target}... (cd ${configdir}.${target} ; - ./configure ${hosts} ${verbose} ${forcesubdirs} ${removing} "+target=${target}" "+destdir=${destdir}") \ + ./configure ${hosts} ${verbose} ${forcesubdirs} ${removing} "+target=${target}") \ | sed 's/^/ /' done fi # if any specifics @@ -602,31 +613,37 @@ exit 0 # # $Log$ -# Revision 1.19 1991/06/13 04:21:14 rich -# Re-arrange so that gcc, which creates directories, gets installed -# first. +# Revision 1.21 1991/07/20 00:55:20 gnu +# Roll in new configure that handles GDB. Make sure that the "configure" +# that is checked-in reflects the latest "configure.in", which includes gdb. +# +# Revision 1.9 1991/07/06 04:35:51 gnu +# Fix bug in configure when iterating targets. +# Depend on alldeps.mak, not ${srcdir}/alldeps.mak, so it can be found +# in either spot. # -# Revision 1.18 1991/06/12 21:23:05 rich -# correctly propogate destdir +# Revision 1.8 1991/07/05 00:04:58 gnu +# Thu Jul 4 14:47:06 1991 John Gilmore (gnu at cygint.cygnus.com) # -# Revision 1.17 1991/06/09 20:39:58 rich -# Added +clib option. +# * configure.in, Makefile.in: Avoid rebuilding "depend" as much. +# Avoid declaring Makefile dependencies, because GNU Make stupidly +# tries to update it if we do. # -# Revision 1.16 1991/05/27 21:04:21 rich -# Removed clib for now. +# * coffread.c: Revise for minor changes to bfd internal coff +# indexes. # -# Revision 1.15 1991/05/27 20:54:24 rich -# fixed a bug in multiple targets +# * configure: If -template= is given a relative path, make it +# absolute before recurring in subdirectories. # -# Revision 1.14 1991/05/22 01:44:04 rich -# remove gdb until config issues resolve. +# Revision 1.7 1991/07/04 15:59:46 gnu +# Make gdb work with configure. Only thing that doesn't work is the -list +# option (as far as I know). # -# Revision 1.13 1991/05/19 08:00:09 rich -# Added gdb. +# Revision 1.6 1991/06/04 07:28:16 gnu +# Change GDB over to GNU General Public License version 2. # -# Revision 1.12 1991/05/19 00:32:13 rich -# Changes to deal with missing subdirs gracefully, and changes dictated -# from dropping configure over gdb. +# Revision 1.5 1991/05/19 07:26:54 rich +# configure changes and -opcode.h movement. # # Revision 1.4 1991/05/19 00:16:45 rich # Configure for gdb. -- cgit v1.1