mirror of
https://github.com/darlinghq/darling-gdb.git
synced 2024-11-29 23:10:26 +00:00
8f861f082d
configure.texi (a work in progress), configure.man (a terse first cut), build configure.info and install man page.
807 lines
23 KiB
Bash
Executable File
807 lines
23 KiB
Bash
Executable File
#!/bin/sh
|
||
|
||
# Configuration script
|
||
# Copyright (C) 1988, 1990, 1991 Free Software Foundation, Inc.
|
||
|
||
#This file is part of GNU.
|
||
|
||
# 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$
|
||
|
||
# Please email any bugs, comments, and/or additions to this file to:
|
||
# configure@cygnus.com
|
||
|
||
#
|
||
# Shell script to create proper links to machine-dependent files in
|
||
# preparation for compilation.
|
||
#
|
||
# If configure succeeds, it leaves its status in config.status.
|
||
# If configure fails after disturbing the status quo,
|
||
# config.status is removed.
|
||
#
|
||
|
||
# NOTE: This script contains support for a Cygnus experimental feature, called
|
||
# +subdirs, which is currently, tentatively, de-supported.
|
||
|
||
export PATH || (echo "OOPS, this isn't sh. Desperation time. I will feed myself to sh."; sh $0 $argv; kill $$)
|
||
|
||
remove=rm
|
||
hard_link=ln
|
||
symbolic_link='ln -s'
|
||
|
||
#for Test
|
||
#remove="echo rm"
|
||
#hard_link="echo ln"
|
||
#symbolic_link="echo ln -s"
|
||
|
||
# clear some things potentially inherited from environment.
|
||
|
||
Makefile=Makefile
|
||
Makefile_in=Makefile.in
|
||
arguments=$*
|
||
commontargets=
|
||
configdirs=
|
||
datadir=
|
||
datadiroption=
|
||
defaulttargets=
|
||
fatal=
|
||
floating_point=default
|
||
gas=default
|
||
hosts=
|
||
#hostsubdir=
|
||
#namesubdir=
|
||
next_prefix=
|
||
next_host=
|
||
#next_namesubdir=
|
||
#next_objdir=
|
||
next_site=
|
||
next_srcdir=
|
||
next_target=
|
||
next_tmpdir=
|
||
norecursion=
|
||
#objdir=
|
||
#objdiroption=
|
||
prefix=/usr/local
|
||
progname=
|
||
recurring=
|
||
removing=
|
||
srcdir=
|
||
srctrigger=
|
||
target=
|
||
targets=
|
||
#targetsubdir=
|
||
undefinedargs=
|
||
verbose=
|
||
x11=default
|
||
|
||
# or maybe grab from gcc/version.c
|
||
version_path=
|
||
next_version_path=
|
||
|
||
NO_EDIT="This file was generated automatically by configure. Do not edit."
|
||
|
||
## this is a little touchy and won't always work, but...
|
||
##
|
||
## if the argv[0] starts with a slash then it is an absolute name that can be
|
||
## used as is.
|
||
##
|
||
## otherwise, if argv[0] has no slash in it, we can assume that it is on the
|
||
## path. Since PATH might include "." we also add `pwd` to the end of PATH.
|
||
##
|
||
## otherwise we prepend `pwd` to $0 and hope that will give us an absolute
|
||
## path.
|
||
##
|
||
|
||
PWD=`pwd`
|
||
|
||
if (echo $0 | grep '^/' > /dev/null) ; then
|
||
progname=$0
|
||
elif (echo $0 | grep '/' > /dev/null) ; then
|
||
progname=${PWD}/$0
|
||
else
|
||
progname=$0
|
||
PATH=$PATH:${PWD} ; export PATH
|
||
fi
|
||
|
||
for arg in $*;
|
||
do
|
||
# handle things that might have args following as separate words
|
||
if [ -n "${next_prefix}" ] ; then prefix=${arg} ; prefixoption="-prefix=${prefix}" ; next_prefix=
|
||
elif [ -n "${next_datadir}" ] ; then datadir=${arg} ; datadiroption="-datadir=${datadir}" ; next_datadir=
|
||
# elif [ -n "${next_namesubdir}" ] ; then \
|
||
# namesubdir=${arg} ; namesubdiroption="--namesubdir=${namesubdir}" ; next_namesubdir=
|
||
# elif [ -n "${next_objdir}" ] ; then objdir=${arg} ; objdiroption="--objdir=${objdir}" ; next_objdir=
|
||
elif [ -n "${next_version_path}" ] ; then version_path=${arg} ; next_version_path=
|
||
elif [ -n "${next_site}" ] ; then site=${arg} ; next_site=
|
||
elif [ -n "${next_srcdir}" ] ; then srcdir=${arg} ; next_srcdir=
|
||
elif [ -n "${next_target}" ] ; then
|
||
next_target=
|
||
if [ -z "${targets}" ] ; then
|
||
newtargets="${targets} ${arg}"
|
||
targets="${newtargets}"
|
||
else
|
||
echo '***' Can only configure for one target at a time.
|
||
fatal=yes
|
||
fi
|
||
elif [ -n "${next_tmpdir}" ] ; then
|
||
next_tmpdir=
|
||
tmpdiroption="--tmpdir=${arg}"
|
||
TMPDIR=${arg}
|
||
|
||
else
|
||
case ${arg} in
|
||
-datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* | --da=* | --d=*)
|
||
datadir=`echo ${arg} | sed 's/^[-a-z]*=//'`
|
||
datadiroption=${arg}
|
||
;;
|
||
-datadir | --datadir | --datadi | --datad | --data | --dat | --da | --d)
|
||
next_datadir=yes
|
||
;;
|
||
-gas | --g*)
|
||
gas=yes
|
||
;;
|
||
-help | --he*)
|
||
fatal=true
|
||
;;
|
||
-host=* | --host=* | --hos=* | --ho=*)
|
||
# if [ -n "${hosts}" ] ; then
|
||
# subdirs="--subdirs"
|
||
# fi
|
||
|
||
if [ -z "${hosts}" ] ; then
|
||
newhosts="${hosts} `echo ${arg} | sed 's/^[-a-z]*=//'`"
|
||
hosts="${newhosts}"
|
||
else
|
||
echo '***' Can only configure for one host at a time.
|
||
fatal=yes
|
||
fi
|
||
;;
|
||
# -namesubdir | --namesubdir | --namesubdi | --namesubd | --namesub | --namesu | --names | --name | --nam | --na)
|
||
# next_namesubdir=yes
|
||
# ;;
|
||
# -namesubdir=* | --namesubdir=* | --namesubdi=* | --namesubd=* | --namesub=* | --namesu=* | --names=* | --name=* | --nam=* | --na=*)
|
||
# namesubdir=`echo ${arg} | sed 's/^[-a-z]*=//'`
|
||
# namesubdiroption=${arg}
|
||
# ;;
|
||
-nfp | --nf*)
|
||
floating_point=no
|
||
;;
|
||
-norecursion | --no*)
|
||
norecursion=true
|
||
;;
|
||
# -objdir=* | --objdir=* | --objdi=* | --objd=* | --obj=* | --ob=* | --o=*)
|
||
# objdiroption=${arg}
|
||
# objdir=`echo ${arg} | sed 's/^[-a-z]*=//'`
|
||
# ;;
|
||
# -objdir | --objdir | --objdi | --objd | --obj | --ob | --o)
|
||
# next_objdir=yes
|
||
# ;;
|
||
-prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
|
||
prefix=`echo ${arg} | sed 's/^[-a-z]*=//'`
|
||
prefixoption=${arg}
|
||
;;
|
||
-prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
|
||
next_prefix=yes
|
||
;;
|
||
-recurring | --recurring | --recurrin | --recurri | --recurr | --recur | --recu | --rec | --re)
|
||
recurring=true
|
||
arguments=`echo ${arguments} | sed "s:${arg}::"`
|
||
;;
|
||
-rm | --rm)
|
||
removing=${arg}
|
||
;;
|
||
-site=* | --site=* | --sit=* | --si=*)
|
||
site=`echo ${arg} | sed 's/^[-a-z]*=//'`
|
||
;;
|
||
-site | --site | --sit | --si)
|
||
next_site=yes
|
||
;;
|
||
-srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
|
||
srcdir=`echo ${arg} | sed 's/^[-a-z]*=//'`
|
||
;;
|
||
-srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
|
||
next_srcdir=yes
|
||
;;
|
||
# -subdirs | --su*)
|
||
# subdirs=${arg}
|
||
# ;;
|
||
-target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=*)
|
||
# if [ -n "${targets}" ] ; then
|
||
# subdirs="--subdirs"
|
||
# fi
|
||
|
||
if [ -z "${targets}" ] ; then
|
||
newtargets="${targets} `echo ${arg} | sed 's/^[-a-z]*=//'`"
|
||
targets="${newtargets}"
|
||
else
|
||
echo '***' Can only configure for one target at a time.
|
||
fatal=yes
|
||
fi
|
||
;;
|
||
-target | --target | --targe | --targ | --tar | --ta)
|
||
next_target=yes
|
||
;;
|
||
-tmpdir=* | --tmpdir=* | --tmpdi=* | --tmpd=* | --tmp=* | --tm=*)
|
||
tmpdiroption=${arg}
|
||
TMPDIR=`echo ${arg} | sed 's/^[-a-z]*=//'`
|
||
;;
|
||
-tmpdir | --tmpdir | --tmpdi | --tmpd | --tmp | --tm)
|
||
next_tmpdir=yes
|
||
;;
|
||
-v | -verbose | --v)
|
||
verbose=${arg}
|
||
;;
|
||
-x | --x) ;;
|
||
-* | --*)
|
||
(echo ;
|
||
echo "Unrecognized option: \"${arg}\"". ;
|
||
echo) 1>&2
|
||
fatal=true
|
||
;;
|
||
*)
|
||
# if [ -n "${hosts}" ] ; then
|
||
# subdirs="--subdirs"
|
||
# fi
|
||
|
||
if [ -z "${undefs}" ] ; then
|
||
newundefs="${undefs} ${arg}"
|
||
undefs=${newundefs}
|
||
else
|
||
echo '***' Can only configure for one host and one target at a time.
|
||
fatal=yes
|
||
fi
|
||
;;
|
||
esac
|
||
fi
|
||
done
|
||
|
||
if [ -n "${verbose}" ] ; then
|
||
echo $0 $*
|
||
fi
|
||
|
||
# process host and target
|
||
if [ -z "${fatal}" ] ; then
|
||
# # Complain if an arg is missing
|
||
# if [ -z "${hosts}" ] ; then
|
||
# (echo ;
|
||
# echo "configure: No HOST specified." ;
|
||
# echo) 1>&2
|
||
# fatal=true
|
||
# fi
|
||
|
||
### This is a bit twisted.
|
||
### * if all three are specified, this is an error.
|
||
### * if we have neither hosts, nor unadorned args, this is an error.
|
||
### * if no hosts are specified, then the unadorned args are hosts, but if
|
||
### there were none, this is an error.
|
||
### * if no targets are specified, then the unadorned args are targets, but if
|
||
### there were no unadorned args, then the hosts are also targets.
|
||
|
||
if [ -n "${hosts}" -a -n "${targets}" -a -n "${undefs}" ] ; then
|
||
echo '***' Can only configure for one host and one target at a time.
|
||
fatal=yes
|
||
elif [ -z "${hosts}" -a -z "${undefs}" ] ; then
|
||
echo '***' You must tell me for which host you want to configure.
|
||
fatal=yes
|
||
else
|
||
if [ -z "${hosts}" ] ; then
|
||
hosts=${undefs}
|
||
fi
|
||
|
||
if [ -z "${targets}" ] ; then
|
||
if [ -n "${undefs}" ] ; then
|
||
targets=${undefs}
|
||
else
|
||
targets=${hosts}
|
||
fi
|
||
fi
|
||
fi
|
||
fi
|
||
|
||
if [ -n "${fatal}" -o "${hosts}" = "help" ] ; then
|
||
(echo "Usage: configure HOST" ;
|
||
echo ;
|
||
echo "Options: [defaults in brackets]" ;
|
||
echo " -datadir=MYDIR configure for installation of host dependent files into MYDIR. [\"/usr/local\"]" ;
|
||
echo " -gas configure the compilers for use with gas. [native as]" ;
|
||
echo " -help print this message. [normal config]" ;
|
||
echo " -lang=LANG configure to build LANG. [gcc]" ;
|
||
echo " -nfp configure the compilers default to soft floating point. [hard float]" ;
|
||
echo " -norecursion configure this directory only. [recurse]" ;
|
||
# echo " -objdir=ODIR configure in a parallel tree rooted in ODIR. [rooted in \".\"]" ;
|
||
echo " -prefix=MYDIR configure for installation of host dependent files into MYDIR. [\"/usr/local\"]" ;
|
||
echo " -rm remove this configuration. [build a configuration]" ;
|
||
echo " -site configure with site specific makefile" ;
|
||
echo " -srcdir=DIR find the sources in DIR. [\".\" or \"..\"]" ;
|
||
# This is correctly aligned in the output, even though it isn't here.
|
||
# echo " -subdirs configure in subdirectories. [in source directories]" ;
|
||
echo " -target=TARGET configure for TARGET. [TARGET = HOST]" ;
|
||
echo " -tmpdir=TMPDIR create temporary files in TMPDIR. [ TMPDIR = \"/tmp\" ]" ;
|
||
echo ;
|
||
echo "Where HOST and TARGET are something like \"vax\", \"sun3\", \"encore\", etc." ;
|
||
# echo "Asking for more than one \"--target\" implies \"--subdirs\". Any other" ;
|
||
# echo "options given will apply to all targets."
|
||
) 1>&2
|
||
|
||
if [ -r config.status ] ; then
|
||
cat config.status
|
||
fi
|
||
|
||
exit 1
|
||
fi
|
||
|
||
configsubr=`echo ${progname} | sed 's/configure$/config.subr/'`
|
||
|
||
if (${configsubr} `echo ${hosts} | sed -e 's/ .*//'`) >/dev/null 2>&1 ; then
|
||
true
|
||
else
|
||
echo '***' cannot find config.subr.
|
||
exit 1
|
||
fi
|
||
|
||
if [ -z "${srcdir}" ] ; then
|
||
if [ -r configure.in ] ; then
|
||
srcdir=.
|
||
elif [ -r ../configure.in ] ; then
|
||
srcdir=..
|
||
else
|
||
echo '***' "Can't find configure.in. Try using -srcdir=some_dir"
|
||
exit 1
|
||
fi
|
||
fi
|
||
|
||
|
||
### break up ${srcdir}/configure.in.
|
||
if [ -z "`grep '^# per\-host:' ${srcdir}/configure.in`" ] ; then
|
||
echo '***' ${srcdir}/configure.in has no "per-host:" line. 1>&2
|
||
exit 1
|
||
fi
|
||
|
||
if [ -z "`grep '^# per\-target:' ${srcdir}/configure.in`" ] ; then
|
||
echo '***' ${srcdir}/configure.in has no "per-target:" line. 1>&2
|
||
exit 1
|
||
fi
|
||
|
||
if [ -z "${TMPDIR}" ] ; then
|
||
TMPDIR=/tmp ; export TMPDIR
|
||
fi
|
||
|
||
# keep this filename short for &%*%$*# 14 char file names
|
||
tmpfile=${TMPDIR}/cONf$$
|
||
trap "rm -f ${tmpfile}.com ${tmpfile}.tgt ${tmpfile}.hst ${tmpfile}.pos" 0
|
||
|
||
# split ${srcdir}/configure.in into common, per-host, per-target,
|
||
# and post-target parts. Post-target is optional.
|
||
sed -e '/^# per\-host:/,$d' ${srcdir}/configure.in > ${tmpfile}.com
|
||
sed -e '1,/^# per\-host:/d' -e '/^# per\-target:/,$d' ${srcdir}/configure.in > ${tmpfile}.hst
|
||
if grep '^# post-target:' ${srcdir}/configure.in >/dev/null ; then
|
||
sed -e '1,/^# per\-target:/d' -e '/^# post\-target:/,$d' ${srcdir}/configure.in > ${tmpfile}.tgt
|
||
sed -e '1,/^# post\-target:/d' ${srcdir}/configure.in > ${tmpfile}.pos
|
||
else
|
||
sed -e '1,/^# per\-target:/d' ${srcdir}/configure.in > ${tmpfile}.tgt
|
||
echo >${tmpfile}.pos
|
||
fi
|
||
|
||
### do common part of configure.in
|
||
|
||
. ${tmpfile}.com
|
||
|
||
# some sanity checks on configure.in
|
||
if [ -z "${srctrigger}" ] ; then
|
||
echo '***' srctrigger not set in ${PWD}/configure.in.
|
||
exit 1
|
||
fi
|
||
|
||
for host in ${hosts} ; do
|
||
# Default other arg
|
||
if [ -z "${targets}" -o -n "${defaulttargets}" ] ; then
|
||
targets=${host}
|
||
defaulttargets=true
|
||
fi
|
||
|
||
host_alias=${host}
|
||
|
||
result=`${configsubr} ${host}`
|
||
host_cpu=`echo $result | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\1/'`
|
||
host_vendor=`echo $result | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\2/'`
|
||
host_os=`echo $result | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\3/'`
|
||
host=${host_cpu}-${host_vendor}-${host_os}
|
||
host_makefile_frag=config/mh-${host}
|
||
if [ ! -f ${host_makefile_frag} ]
|
||
then
|
||
host_makefile_frag=config/mh-${host_alias}
|
||
fi
|
||
|
||
. ${tmpfile}.hst
|
||
|
||
for target in ${targets} ; do
|
||
|
||
target_alias=${target}
|
||
result=`${configsubr} ${target}`
|
||
target_cpu=`echo $result | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\1/'`
|
||
target_vendor=`echo $result | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\2/'`
|
||
target_os=`echo $result | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\3/'`
|
||
target=${target_cpu}-${target_vendor}-${target_os}
|
||
target_makefile_frag=config/mt-${target}
|
||
if [ ! -f ${target_makefile_frag} ]
|
||
then
|
||
target_makefile_frag=config/mt-${target_alias}
|
||
fi
|
||
|
||
. ${tmpfile}.tgt
|
||
|
||
if [ "${host_alias}" = "${target_alias}" ] ; then
|
||
subdirname=H-${host_alias}
|
||
else
|
||
subdirname=X-${host_alias}-${target_alias}
|
||
fi
|
||
|
||
if [ -n "${namesubdir}" ] ; then
|
||
subdirname=${namesubdir}
|
||
fi
|
||
|
||
if [ -n "${removing}" ] ; then
|
||
# if [ -n "${objdir}" ] ; then
|
||
# echo '***' --rm not supported for --objdir. Just \"rm -rf ${objdir}\" by hand.
|
||
# exit 1
|
||
# fi
|
||
|
||
# if [ -n "${subdirs}" ] ; then
|
||
# if [ -d "${subdirname}" ] ; then
|
||
# rm -rf ${hostsubdir}
|
||
# else
|
||
# echo Warning: no ${PWD}/${hostsubdir} to remove.
|
||
# fi
|
||
# else
|
||
rm -f ${Makefile} config.status ${links}
|
||
# fi
|
||
else
|
||
# if [ -n "${objdir}" ]; then
|
||
# srcdir=${PWD}
|
||
# cd ${objdir}
|
||
# fi
|
||
|
||
# if [ -n "${subdirs}" ] ; then
|
||
# # check for existing status before allowing forced subdirs.
|
||
# if [ -f ${Makefile} ] ; then
|
||
# echo '***' "${Makefile} already exists in source directory. ${PWD} not configured." 1>&2
|
||
# exit 1
|
||
# fi
|
||
#
|
||
# # use a subdir common to all targets for this host iff: this is a cross AND
|
||
# # this tool does not claim to be target dependent AND we have not been asked to name the subdir.
|
||
# if [ ${host_alias} != ${target_alias} -a -z "${target_dependent}" -a -z "${namesubdiroption}" ]
|
||
# then
|
||
# if [ ! -d H-${host_alias} ] ; then mkdir H-${host_alias} ; fi
|
||
#
|
||
# if (${symbolic_link} ${subdirname} H-${host_alias} 2> /dev/null) ; then
|
||
# true
|
||
# else # just give up. they lose.
|
||
# rmdir H-${host_alias}
|
||
# if [ ! -d ${subdirname} ] ; then mkdir ${subdirname} ; fi
|
||
# fi
|
||
# elif [ ! -d ${subdirname} ] ; then
|
||
# mkdir ${subdirname}
|
||
# fi
|
||
#
|
||
# cd ${subdirname}
|
||
#
|
||
# if [ -z "${srcdir}" ] ; then
|
||
# srcdir=..
|
||
# fi
|
||
# elif [ "`echo H-*`" != "H-*" -a "`echo X-*`" != "X-*" ] ; then
|
||
# # if not subdir builds, then make sure none exist.
|
||
# # We might miss if there are explicitly named subdirs.
|
||
# echo '***' "Configured subdirs exist. ${PWD} not configured." 1>&2
|
||
# exit 1
|
||
# else
|
||
# true
|
||
# fi
|
||
|
||
# Find the source files, if location was not specified.
|
||
if [ -z "${srcdir}" ] ; then
|
||
srcdirdefaulted=1
|
||
srcdir=.
|
||
if [ ! -r ${srctrigger} ] ; then
|
||
srcdir=..
|
||
fi
|
||
fi
|
||
|
||
if [ ! -r ${srcdir}/${srctrigger} ] ; then
|
||
if [ -z "${srcdirdefaulted}" ] ; then
|
||
echo '***' "${progname}: Can't find ${srcname} sources in ${PWD}/${srcdir}" 1>&2
|
||
else
|
||
echo '***' "${progname}: Can't find ${srcname} sources in ${PWD}/. or ${PWD}/.." 1>&2
|
||
fi
|
||
|
||
echo '***' \(At least ${srctrigger} is missing.\) 1>&2
|
||
exit 1
|
||
fi
|
||
|
||
# Set up the list of links to be made.
|
||
# ${links} is the list of link names, and ${files} is the list of names to link to.
|
||
|
||
# Make the links.
|
||
while [ -n "${files}" ] ; do
|
||
# set file to car of files, files to cdr of files
|
||
set ${files}; file=$1; shift; files=$*
|
||
set ${links}; link=$1; shift; links=$*
|
||
|
||
if [ ! -r ${srcdir}/${file} ] ; then
|
||
echo '***' "${progname}: cannot create a link \"${link}\"," 1>&2
|
||
echo '***' "since the file \"${file}\" does not exist." 1>&2
|
||
exit 1
|
||
fi
|
||
|
||
${remove} -f ${link}
|
||
rm -f config.status
|
||
# Make a symlink if possible, otherwise try a hard link
|
||
${symbolic_link} ${srcdir}/${file} ${link} 2>/dev/null || ${hard_link} ${srcdir}/${file} ${link}
|
||
|
||
if [ ! -r ${link} ] ; then
|
||
echo '***' "${progname}: unable to link \"${link}\" to \"${srcdir}/${file}\"." 1>&2
|
||
exit 1
|
||
fi
|
||
|
||
if [ -n "${verbose}" ] ; then
|
||
echo "Linked \"${link}\" to \"${srcdir}/${file}\"."
|
||
fi
|
||
done
|
||
|
||
# Create a .gdbinit file which runs the one in srcdir
|
||
# and tells GDB to look there for source files.
|
||
|
||
if [ -r ${srcdir}/.gdbinit ] ; then
|
||
case ${srcdir} in
|
||
.)
|
||
;;
|
||
*)
|
||
echo "# "${NO_EDIT} > .gdbinit
|
||
echo "dir ." >> .gdbinit
|
||
echo "dir ${srcdir}" >> .gdbinit
|
||
echo "source ${srcdir}/.gdbinit" >> .gdbinit
|
||
;;
|
||
esac
|
||
fi
|
||
|
||
# Install a makefile, and make it set VPATH
|
||
# if necessary so that the sources are found.
|
||
# Also change its value of srcdir.
|
||
|
||
# FIXME-someday: This business of always writing to .tem and mv back
|
||
# is so that I don't screw things up while developing. Once this
|
||
# template is stable, these should be optimized. xoxorich.
|
||
|
||
# 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}
|
||
else
|
||
echo "ALL=all.internal" > ${Makefile}
|
||
fi
|
||
|
||
# set target, host, VPATH
|
||
echo "host_alias = ${host_alias}" >> ${Makefile}
|
||
echo "host_cpu = ${host_cpu}" >> ${Makefile}
|
||
echo "host_vendor = ${host_vendor}" >> ${Makefile}
|
||
echo "host_os = ${host_os}" >> ${Makefile}
|
||
echo "version_path = ${version_path}" >> ${Makefile}
|
||
echo "target_alias = ${target_alias}" >> ${Makefile}
|
||
echo "target_cpu = ${target_cpu}" >> ${Makefile}
|
||
echo "target_vendor = ${target_vendor}" >> ${Makefile}
|
||
echo "target_os = ${target_os}" >> ${Makefile}
|
||
|
||
# if [ -n "${subdirs}" ] ; then
|
||
# (echo "subdir = /${subdirname}" ;
|
||
# echo "unsubdir = ..") >> ${Makefile}
|
||
# else
|
||
(echo "subdir =" ;
|
||
echo "unsubdir = .") >> ${Makefile}
|
||
# fi
|
||
|
||
# echo "workdir = ${PWD}" >> ${Makefile}
|
||
echo "VPATH = ${srcdir}" >> ${Makefile}
|
||
|
||
# add "Makefile.in" (or whatever it's called)
|
||
cat ${srcdir}/${Makefile_in} >> ${Makefile}
|
||
|
||
# Conditionalize the makefile for this site.
|
||
if [ -n "${site}" ] ; then
|
||
site_makefile_frag=config/ms-${site}
|
||
|
||
if [ -f ${srcdir}/${site_makefile_frag} ] ; then
|
||
(echo "site_makefile_frag = ${srcdir}/${site_makefile_frag}" ;
|
||
sed -e "/^####/ r ${srcdir}/${site_makefile_frag}" ${Makefile}) > Makefile.tem
|
||
else
|
||
(echo "site_makefile_frag =" ;
|
||
cat ${Makefile}) > Makefile.tem
|
||
fi
|
||
mv Makefile.tem ${Makefile}
|
||
fi
|
||
|
||
# Conditionalize the makefile for this host.
|
||
if [ -f ${srcdir}/${host_makefile_frag} ] ; then
|
||
(echo "host_makefile_frag = ${srcdir}/${host_makefile_frag}" ;
|
||
sed -e "/^####/ r ${srcdir}/${host_makefile_frag}" ${Makefile}) > Makefile.tem
|
||
else
|
||
(echo "host_makefile_frag =" ;
|
||
cat ${Makefile}) > Makefile.tem
|
||
fi
|
||
mv Makefile.tem ${Makefile}
|
||
|
||
# Conditionalize the makefile for this target.
|
||
if [ -f ${srcdir}/${target_makefile_frag} ] ; then
|
||
(echo "target_makefile_frag = ${srcdir}/${target_makefile_frag}" ;
|
||
sed -e "/^####/ r ${srcdir}/${target_makefile_frag}" ${Makefile}) > Makefile.tem
|
||
else
|
||
(echo "target_makefile_frag =" ;
|
||
cat ${Makefile}) > Makefile.tem
|
||
fi
|
||
mv Makefile.tem ${Makefile}
|
||
|
||
# set srcdir
|
||
sed "s@^srcdir = \.@srcdir = ${srcdir}@" ${Makefile} > Makefile.tem
|
||
mv Makefile.tem ${Makefile}
|
||
|
||
# set prefix
|
||
if [ -n "${prefix}" ] ; then
|
||
sed "s:^prefix =.*$:prefix = ${prefix}:" ${Makefile} > Makefile.tem
|
||
mv Makefile.tem ${Makefile}
|
||
fi
|
||
|
||
# set datadir
|
||
if [ -n "${datadir}" ] ; then
|
||
sed "s:^datadir =.*$:datadir = ${datadir}:" ${Makefile} > Makefile.tem
|
||
mv Makefile.tem ${Makefile}
|
||
fi
|
||
|
||
# reset SUBDIRS
|
||
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}
|
||
|
||
# remove any form feeds.
|
||
sed -e "s///" ${Makefile} > Makefile.tem
|
||
mv Makefile.tem ${Makefile}
|
||
|
||
# prepend warning about editting.
|
||
echo "# "${NO_EDIT} > ${Makefile}.tem
|
||
cat ${Makefile} >> ${Makefile}.tem
|
||
mv Makefile.tem ${Makefile}
|
||
|
||
using=
|
||
if [ -f ${srcdir}/${host_makefile_frag} ] ; then
|
||
using="${using} and \"${host_makefile_frag}\""
|
||
fi
|
||
if [ -f ${srcdir}/${target_makefile_frag} ] ; then
|
||
using="${using} and \"${target_makefile_frag}\""
|
||
fi
|
||
if [ -n "${site}" -a \
|
||
-f ${srcdir}/${site_makefile_frag} ] ; then
|
||
using="${using} and \"${site_makefile_frag}\""
|
||
fi
|
||
using=`echo "${using}" | sed 's/and/using/'`
|
||
using="Created \"${Makefile}\" in ${PWD}${using}."
|
||
|
||
if [ -n "${verbose}" -o -z "${recurring}" ] ; then
|
||
echo ${using}
|
||
fi
|
||
|
||
. ${tmpfile}.pos
|
||
|
||
# describe the chosen configuration in config.status.
|
||
# Make that file a shellscript which will reestablish
|
||
# the same configuration. Used in Makefiles to rebuild
|
||
# Makefiles.
|
||
|
||
if [ -z "${norecursion}" ] ; then
|
||
arguments="${arguments} -norecursion"
|
||
fi
|
||
|
||
echo "#!/bin/sh
|
||
# ${NO_EDIT}
|
||
# ${PWD} was configured as follows:
|
||
${progname}" ${arguments} "
|
||
# ${using}" > config.status
|
||
chmod a+x config.status
|
||
|
||
# originaldir=${PWD}
|
||
# cd ${srcdir}
|
||
fi
|
||
|
||
# If there are subdirectories, then recur.
|
||
if [ -z "${norecursion}" -a -n "${configdirs}" ] ; then
|
||
for configdir in ${configdirs} ; do
|
||
if [ -n "${verbose}" ] ; then
|
||
echo Configuring ${configdir}...
|
||
fi
|
||
|
||
if [ -d ${srcdir}/${configdir} ] ; then
|
||
if [ "${srcdir}" != "." ] ; then
|
||
if [ ! -d ./${configdir} ] ; then
|
||
mkdir ./${configdir}
|
||
fi
|
||
fi
|
||
|
||
POPDIR=${PWD}
|
||
cd ${configdir}
|
||
|
||
### figure out what to do with srcdir
|
||
case "${srcdir}" in
|
||
".") ;; # do nothing. We're building in place.
|
||
/*) srcdiroption="-srcdir=${srcdir}/${configdir}" ;; # absolute path
|
||
*) srcdiroption="-srcdir=../${srcdir}/${configdir}" ;; # otherwise relative
|
||
esac
|
||
|
||
### The recursion line is here.
|
||
if (${progname} -recurring ${host_alias} -target=${target_alias} \
|
||
${verbose} ${subdirs} ${removing} ${prefixoption} \
|
||
${tmpdiroption} ${namesubdiroption} ${datadiroption} \
|
||
${srcdiroption}) ; then
|
||
true
|
||
else
|
||
exit 1
|
||
fi
|
||
|
||
cd ${POPDIR}
|
||
elif [ -n "${verbose}" ] ; then
|
||
echo Warning: source directory \"${srcdir}/${configdir}\" is missing.
|
||
fi
|
||
done
|
||
fi
|
||
done # for each target
|
||
|
||
# Now build a Makefile for this host.
|
||
# if [ -n "${subdirs}" -a ! -n "${removing}" ] ; then
|
||
# push=${PWD}
|
||
#
|
||
# if [ -n "${objdir}" ] ; then
|
||
# cd ${objdir}
|
||
# fi
|
||
#
|
||
# cd ${hostsubdir}
|
||
# cat > GNUmakefile << 'E!O!F'
|
||
## Makefile generated by configure for host ${host_alias}.
|
||
#
|
||
#ALL := $(shell ls -d T-*)
|
||
#
|
||
#%:
|
||
# $(foreach subdir,$(ALL),$(MAKE) -C $(subdir) \$@ &&) true
|
||
#
|
||
#all:
|
||
#E!O!F
|
||
# cd ${push}
|
||
# fi
|
||
done # for each host
|
||
|
||
### clean up.
|
||
|
||
# trap cmd above handles this now:
|
||
#rm -f ${tmpfile}.com ${tmpfile}.tgt ${tmpfile}.hst ${tmpfile}.pos
|
||
|
||
exit 0
|
||
|
||
#
|
||
# Local Variables:
|
||
# fill-column: 131
|
||
# End:
|
||
#
|
||
|
||
# end of configure
|