|
|
@ -3,9 +3,6 @@ |
|
|
# configure.in and a configure template. |
|
|
# configure.in and a configure template. |
|
|
configdirs= |
|
|
configdirs= |
|
|
|
|
|
|
|
|
# the debugger. |
|
|
|
|
|
#set -x |
|
|
|
|
|
|
|
|
|
|
|
#!/bin/sh |
|
|
#!/bin/sh |
|
|
|
|
|
|
|
|
# Configuration script template |
|
|
# Configuration script template |
|
|
@ -13,19 +10,19 @@ configdirs= |
|
|
|
|
|
|
|
|
#This file is part of GNU. |
|
|
#This file is part of GNU. |
|
|
|
|
|
|
|
|
#GNU CC is free software; you can redistribute it and/or modify |
|
|
# 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 |
|
|
# it under the terms of the GNU General Public License as published by |
|
|
#the Free Software Foundation; either version 1, or (at your option) |
|
|
# the Free Software Foundation; either version 2 of the License, or |
|
|
#any later version. |
|
|
# (at your option) any later version. |
|
|
|
|
|
# |
|
|
#GNU CC is distributed in the hope that it will be useful, |
|
|
# This program is distributed in the hope that it will be useful, |
|
|
#but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
|
#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
|
#GNU General Public License for more details. |
|
|
# GNU General Public License for more details. |
|
|
|
|
|
# |
|
|
#You should have received a copy of the GNU General Public License |
|
|
# You should have received a copy of the GNU General Public License |
|
|
#along with GNU CC; see the file COPYING. If not, write to |
|
|
# along with this program; if not, write to the Free Software |
|
|
#the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. |
|
|
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ |
|
|
|
|
|
|
|
|
# $Id$ |
|
|
# $Id$ |
|
|
|
|
|
|
|
|
@ -55,6 +52,8 @@ defaulttargets= |
|
|
destdir= |
|
|
destdir= |
|
|
fatal= |
|
|
fatal= |
|
|
hostsubdir= |
|
|
hostsubdir= |
|
|
|
|
|
Makefile=Makefile |
|
|
|
|
|
Makefile_in=Makefile.in |
|
|
norecurse= |
|
|
norecurse= |
|
|
removing= |
|
|
removing= |
|
|
srcdir= |
|
|
srcdir= |
|
|
@ -204,6 +203,9 @@ if [ -n "${template}" ] ; then |
|
|
-e '/^#### configure.in per-target parts come in here.$/,/^## end of per-target part.$/c\ |
|
|
-e '/^#### configure.in per-target parts come in here.$/,/^## end of per-target part.$/c\ |
|
|
#### configure.in per-target parts come in here.\ |
|
|
#### configure.in per-target parts come in here.\ |
|
|
## end of per-target part.' \ |
|
|
## 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 |
|
|
< ${template} > template.new |
|
|
|
|
|
|
|
|
if [ -r configure.in ] ; then |
|
|
if [ -r configure.in ] ; then |
|
|
@ -217,18 +219,26 @@ if [ -n "${template}" ] ; then |
|
|
exit 1 |
|
|
exit 1 |
|
|
fi |
|
|
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 '/^# 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\-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 |
|
|
# and insert them |
|
|
sed -e '/^#### configure.in common parts come in here.$/ r configure.com' \ |
|
|
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\-host parts come in here.$/ r configure.hst' \ |
|
|
-e '/^#### configure.in per\-target parts come in here.$/ r configure.tgt' \ |
|
|
-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 |
|
|
template.new > configure.new |
|
|
|
|
|
|
|
|
rm -f configure.com configure.tgt configure.hst |
|
|
rm -f configure.com configure.tgt configure.hst configure.pos |
|
|
else |
|
|
else |
|
|
echo Warning: no configure.in in `pwd` |
|
|
echo Warning: no configure.in in `pwd` |
|
|
cat ${template} >> configure |
|
|
cat ${template} >> configure |
|
|
@ -241,6 +251,13 @@ if [ -n "${template}" ] ; then |
|
|
echo Rebuilt configure in `pwd` |
|
|
echo Rebuilt configure in `pwd` |
|
|
|
|
|
|
|
|
if [ -z "${norecurse}" ] ; then |
|
|
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 |
|
|
while [ -n "${configdirs}" ] ; do |
|
|
# set configdir to car of configdirs, configdirs to cdr of configdirs |
|
|
# set configdir to car of configdirs, configdirs to cdr of configdirs |
|
|
set ${configdirs}; configdir=$1; shift; configdirs=$* |
|
|
set ${configdirs}; configdir=$1; shift; configdirs=$* |
|
|
@ -292,7 +309,7 @@ for host in ${hosts} ; do |
|
|
for target in ${targets} ; do |
|
|
for target in ${targets} ; do |
|
|
|
|
|
|
|
|
if [ -n "${verbose}" ] ; then |
|
|
if [ -n "${verbose}" ] ; then |
|
|
echo host \= \"${host}\", target \= \"${target}\". |
|
|
echo " target=\"${target}\"" |
|
|
fi |
|
|
fi |
|
|
|
|
|
|
|
|
target_makefile_frag=config/tmake-${target} |
|
|
target_makefile_frag=config/tmake-${target} |
|
|
@ -317,13 +334,13 @@ for host in ${hosts} ; do |
|
|
echo Warning: no `pwd`/${hostsubdir} to remove. |
|
|
echo Warning: no `pwd`/${hostsubdir} to remove. |
|
|
fi |
|
|
fi |
|
|
else |
|
|
else |
|
|
rm -f Makefile config.status ${links} |
|
|
rm -f ${Makefile} config.status ${links} |
|
|
fi |
|
|
fi |
|
|
else |
|
|
else |
|
|
if [ -n "${forcesubdirs}" ] ; then |
|
|
if [ -n "${forcesubdirs}" ] ; then |
|
|
# check for existing status before allowing forced subdirs. |
|
|
# check for existing status before allowing forced subdirs. |
|
|
if [ -f Makefile ] ; then |
|
|
if [ -f ${Makefile} ] ; then |
|
|
echo "Makefile already exists in source directory. `pwd` not configured." |
|
|
echo "${Makefile} already exists in source directory. `pwd` not configured." |
|
|
exit 1 |
|
|
exit 1 |
|
|
fi |
|
|
fi |
|
|
|
|
|
|
|
|
@ -412,62 +429,57 @@ for host in ${hosts} ; do |
|
|
|
|
|
|
|
|
# Define macro CROSS_COMPILE in compilation if this is a cross-compiler. |
|
|
# Define macro CROSS_COMPILE in compilation if this is a cross-compiler. |
|
|
if [ "${host}" != "${target}" ] ; then |
|
|
if [ "${host}" != "${target}" ] ; then |
|
|
echo "CROSS=-DCROSS_COMPILE" > Makefile |
|
|
echo "CROSS=-DCROSS_COMPILE" > ${Makefile} |
|
|
echo "ALL=start.encap" >> Makefile |
|
|
echo "ALL=start.encap" >> ${Makefile} |
|
|
else |
|
|
else |
|
|
echo "ALL=all.internal" > Makefile |
|
|
echo "ALL=all.internal" > ${Makefile} |
|
|
fi |
|
|
fi |
|
|
|
|
|
|
|
|
# set target, host, VPATH |
|
|
# set target, host, VPATH |
|
|
echo "host = ${host}" >> Makefile |
|
|
echo "host = ${host}" >> ${Makefile} |
|
|
echo "target = ${target}" >> Makefile |
|
|
echo "target = ${target}" >> ${Makefile} |
|
|
|
|
|
|
|
|
if [ -n "${forcesubdirs}" ] ; then |
|
|
if [ -n "${forcesubdirs}" ] ; then |
|
|
echo "subdir = /${hostsubdir}/${targetsubdir}" >> Makefile |
|
|
echo "subdir = /${hostsubdir}/${targetsubdir}" >> ${Makefile} |
|
|
else |
|
|
else |
|
|
echo "subdir =" >> Makefile |
|
|
echo "subdir =" >> ${Makefile} |
|
|
fi |
|
|
fi |
|
|
|
|
|
|
|
|
# echo "workdir = `pwd`" >> Makefile |
|
|
# echo "workdir = `pwd`" >> ${Makefile} |
|
|
echo "VPATH = ${srcdir}" >> Makefile |
|
|
echo "VPATH = ${srcdir}" >> ${Makefile} |
|
|
|
|
|
|
|
|
# add Makefile.in |
|
|
# add "Makefile.in" (or whatever it's called) |
|
|
cat ${srcdir}/Makefile.in >> Makefile |
|
|
cat ${srcdir}/${Makefile_in} >> ${Makefile} |
|
|
|
|
|
|
|
|
# and shake thoroughly. |
|
|
|
|
|
# Conditionalize the makefile for this host. |
|
|
# Conditionalize the makefile for this host. |
|
|
if [ -f ${srcdir}/${host_makefile_frag} ] ; then |
|
|
if [ -f ${srcdir}/${host_makefile_frag} ] ; then |
|
|
sed -e "/^####/ r ${srcdir}/${host_makefile_frag}" Makefile > Makefile.tem |
|
|
sed -e "/^####/ r ${srcdir}/${host_makefile_frag}" ${Makefile} > Makefile.tem |
|
|
mv Makefile.tem Makefile |
|
|
mv Makefile.tem ${Makefile} |
|
|
fi |
|
|
fi |
|
|
|
|
|
|
|
|
# Conditionalize the makefile for this target. |
|
|
# Conditionalize the makefile for this target. |
|
|
if [ -f ${srcdir}/${target_makefile_frag} ] ; then |
|
|
if [ -f ${srcdir}/${target_makefile_frag} ] ; then |
|
|
sed -e "/^####/ r ${srcdir}/${target_makefile_frag}" Makefile > Makefile.tem |
|
|
sed -e "/^####/ r ${srcdir}/${target_makefile_frag}" ${Makefile} > Makefile.tem |
|
|
mv Makefile.tem Makefile |
|
|
mv Makefile.tem ${Makefile} |
|
|
fi |
|
|
fi |
|
|
|
|
|
|
|
|
# set srcdir |
|
|
# set srcdir |
|
|
sed "s@^srcdir = \.@srcdir = ${srcdir}@" Makefile > Makefile.tem |
|
|
sed "s@^srcdir = \.@srcdir = ${srcdir}@" ${Makefile} > Makefile.tem |
|
|
mv Makefile.tem Makefile |
|
|
mv Makefile.tem ${Makefile} |
|
|
|
|
|
|
|
|
# set destdir |
|
|
# set destdir |
|
|
if [ -n "${destdir}" ] ; then |
|
|
if [ -n "${destdir}" ] ; then |
|
|
sed "s:^destdir =.*$:destdir = ${destdir}:" Makefile > Makefile.tem |
|
|
sed "s:^destdir =.*$:destdir = ${destdir}:" ${Makefile} > Makefile.tem |
|
|
mv Makefile.tem Makefile |
|
|
mv Makefile.tem ${Makefile} |
|
|
fi |
|
|
fi |
|
|
|
|
|
|
|
|
# Remove all formfeeds, since some Makes get confused by them. |
|
|
|
|
|
sed "s///" Makefile >> Makefile.tem |
|
|
|
|
|
mv Makefile.tem Makefile |
|
|
|
|
|
|
|
|
|
|
|
# reset SUBDIRS |
|
|
# reset SUBDIRS |
|
|
sed "s:^SUBDIRS =.*$:SUBDIRS = ${configdirs}:" Makefile > Makefile.tem |
|
|
sed "s:^SUBDIRS =.*$:SUBDIRS = ${configdirs}:" ${Makefile} > Makefile.tem |
|
|
mv Makefile.tem Makefile |
|
|
mv Makefile.tem ${Makefile} |
|
|
|
|
|
|
|
|
# reset NONSUBDIRS |
|
|
# reset NONSUBDIRS |
|
|
sed "s:^NONSUBDIRS =.*$:NONSUBDIRS = ${noconfigdirs}:" Makefile > Makefile.tem |
|
|
sed "s:^NONSUBDIRS =.*$:NONSUBDIRS = ${noconfigdirs}:" ${Makefile} > Makefile.tem |
|
|
mv Makefile.tem Makefile |
|
|
mv Makefile.tem ${Makefile} |
|
|
|
|
|
|
|
|
using= |
|
|
using= |
|
|
if [ -f ${srcdir}/${host_makefile_frag} ] ; then |
|
|
if [ -f ${srcdir}/${host_makefile_frag} ] ; then |
|
|
@ -484,7 +496,11 @@ for host in ${hosts} ; do |
|
|
andusing=${using} |
|
|
andusing=${using} |
|
|
fi |
|
|
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 |
|
|
if [ "${host}" = "${target}" ] ; then |
|
|
echo "Links are now set up for use with a ${target}." \ |
|
|
echo "Links are now set up for use with a ${target}." \ |
|
|
@ -598,18 +614,36 @@ exit 0 |
|
|
|
|
|
|
|
|
# |
|
|
# |
|
|
# $Log$ |
|
|
# $Log$ |
|
|
# Revision 1.2 1991/05/27 20:54:50 rich |
|
|
# Revision 1.4 1991/07/20 00:56:55 gnu |
|
|
# fixed a bug in multiple targets |
|
|
# Roll in the configure that handles 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.8 1991/07/05 00:04:58 gnu |
|
|
|
|
|
# Thu Jul 4 14:47:06 1991 John Gilmore (gnu at cygint.cygnus.com) |
|
|
|
|
|
# |
|
|
|
|
|
# * configure.in, Makefile.in: Avoid rebuilding "depend" as much. |
|
|
|
|
|
# Avoid declaring Makefile dependencies, because GNU Make stupidly |
|
|
|
|
|
# tries to update it if we do. |
|
|
|
|
|
# |
|
|
|
|
|
# * coffread.c: Revise for minor changes to bfd internal coff |
|
|
|
|
|
# indexes. |
|
|
|
|
|
# |
|
|
|
|
|
# * 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 |
|
|
# Revision 1.7 1991/07/04 15:59:46 gnu |
|
|
# remove gdb until config issues resolve. |
|
|
# 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 |
|
|
# Revision 1.6 1991/06/04 07:28:16 gnu |
|
|
# Added gdb. |
|
|
# Change GDB over to GNU General Public License version 2. |
|
|
# |
|
|
# |
|
|
# Revision 1.12 1991/05/19 00:32:13 rich |
|
|
# Revision 1.5 1991/05/19 07:26:54 rich |
|
|
# Changes to deal with missing subdirs gracefully, and changes dictated |
|
|
# configure changes and -opcode.h movement. |
|
|
# from dropping configure over gdb. |
|
|
|
|
|
# |
|
|
# |
|
|
# Revision 1.4 1991/05/19 00:16:45 rich |
|
|
# Revision 1.4 1991/05/19 00:16:45 rich |
|
|
# Configure for gdb. |
|
|
# Configure for gdb. |
|
|
|