mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-12-27 04:52:05 +08:00
4a94e36819
This commit brings all the changes made by running gdb/copyright.py as per GDB's Start of New Year Procedure. For the avoidance of doubt, all changes in this commits were performed by the script.
186 lines
6.8 KiB
Bash
186 lines
6.8 KiB
Bash
#!/bin/sh
|
|
#
|
|
# This shell script is a wrapper to the main configure script when
|
|
# configuring GDB for DJGPP. 99% of it can also be used when
|
|
# configuring other GNU programs for DJGPP.
|
|
#
|
|
#=====================================================================
|
|
# Copyright (C) 1997-2022 Free Software Foundation, Inc.
|
|
#
|
|
# Originally written by Robert Hoehne, revised by Eli Zaretskii.
|
|
# This file is part of GDB.
|
|
#
|
|
# 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 3 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, see <http://www.gnu.org/licenses/>.
|
|
#=====================================================================
|
|
#
|
|
# Call this script like the main configure script with one exception. If you
|
|
# want to pass parameters to configure, you have to pass as the first
|
|
# argument the srcdir, even when it is `.' !!!!!
|
|
#
|
|
# First, undo any CDPATH settings; they will get in our way when we
|
|
# chdir to directories.
|
|
unset CDPATH
|
|
|
|
# Where are the sources? If you are used to having the sources
|
|
# in a separate directory and the objects in another, then set
|
|
# here the full path to the source directory and run this script
|
|
# in the directory where you want to build gdb!!
|
|
# You might give the source directory on commandline, but use
|
|
# then only forward slashes (/) in the directories. It should be
|
|
# an absolute path.
|
|
|
|
if [ x$1 = x ]; then
|
|
srcdir=`pwd`
|
|
else
|
|
srcdir=`cd $1 && pwd`
|
|
shift
|
|
fi
|
|
|
|
# Make sure they don't have some file names mangled by untarring.
|
|
echo -n "Checking the unpacked distribution..."
|
|
if ( ! test -f ${srcdir}/bfd/ChangeLog.0203 || \
|
|
! test -f ${srcdir}/gdb/ChangeLog.002 || \
|
|
! test -f ${srcdir}/opcodes/ChangeLog.0203 || \
|
|
! test -f ${srcdir}/readline/config.h-in ) ; then
|
|
if ( ! test -f ${srcdir}/bfd/ChangeLog.0203 ) ; then
|
|
notfound=${srcdir}/bfd/ChangeLog.0203
|
|
else
|
|
if ( ! test -f ${srcdir}/gdb/ChangeLog.002) ; then
|
|
notfound=${srcdir}/gdb/ChangeLog.002
|
|
else
|
|
if ( ! test -f ${srcdir}/readline/config.h-in ) ; then
|
|
notfound=${srcdir}/readline/config.h-in
|
|
else
|
|
if ( ! test -f ${srcdir}/opcodes/ChangeLog.0203 ) ; then
|
|
notfound=${srcdir}/opcodes/ChangeLog.0203
|
|
fi
|
|
fi
|
|
fi
|
|
fi
|
|
echo " FAILED."
|
|
echo "(File $notfound was not found.)"
|
|
echo ""
|
|
echo "You MUST unpack the sources with the DJTAR command, like this:"
|
|
echo ""
|
|
echo " djtar -x -n fnchange.lst gdb-X.YZ.tar.gz"
|
|
echo ""
|
|
echo "where X.YZ is the GDB version, and fnchange.lst can be found"
|
|
echo "in the gdb/config/djgpp/ directory in the GDB distribution."
|
|
echo ""
|
|
echo "configure FAILED!"
|
|
exit 1
|
|
else
|
|
echo " ok."
|
|
fi
|
|
|
|
# Where is the directory with DJGPP-specific scripts?
|
|
DJGPPDIR=${srcdir}/gdb/config/djgpp
|
|
|
|
echo "Editing configure scripts for DJGPP..."
|
|
TMPFILE="${TMPDIR-.}/cfg.tmp"
|
|
|
|
# We need to skip the build directory if it is a subdirectory of $srcdir,
|
|
# otherwise we will have an infinite recursion on our hands...
|
|
if test "`pwd`" = "${srcdir}" ; then
|
|
SKIPDIR=""
|
|
SKIPFILES=""
|
|
else
|
|
SKIPDIR=`pwd | sed -e "s|${srcdir}|.|"`
|
|
SKIPFILES="${SKIPDIR}/*"
|
|
fi
|
|
|
|
# We use explicit /dev/env/DJDIR/bin/find to avoid catching
|
|
# an incompatible DOS/Windows version that might be on their PATH.
|
|
for fix_dir in \
|
|
`cd $srcdir && /dev/env/DJDIR/bin/find . -type d ! -ipath "${SKIPDIR}" ! -ipath "${SKIPFILES}"`
|
|
do
|
|
if test ! -f ${fix_dir}/configure.orig ; then
|
|
if test -f ${srcdir}/${fix_dir}/configure ; then
|
|
mkdir -p ${fix_dir}
|
|
cp -p ${srcdir}/${fix_dir}/configure ${fix_dir}/configure.orig
|
|
fi
|
|
fi
|
|
if test -f ${fix_dir}/configure.orig ; then
|
|
sed -f ${DJGPPDIR}/config.sed ${fix_dir}/configure.orig > $TMPFILE
|
|
update $TMPFILE ${fix_dir}/configure
|
|
touch ./${fix_dir}/configure -r ${fix_dir}/configure.orig
|
|
rm -f $TMPFILE
|
|
fi
|
|
if test -f ${fix_dir}/INSTALL ; then
|
|
mv ${fix_dir}/INSTALL ${fix_dir}/INSTALL.txt
|
|
fi
|
|
done
|
|
|
|
# Now set the config shell. It is really needed, that the shell
|
|
# points to a shell with full path and also it must conatain the
|
|
# .exe suffix. I assume here, that bash is installed. If not,
|
|
# install it. Additionally, the pathname must not contain a
|
|
# drive letter, so use the /dev/x/foo format supported by versions
|
|
# of Bash 2.03 and later, and by all DJGPP programs compiled with
|
|
# v2.03 (or later) library.
|
|
export CONFIG_SHELL=/dev/env/DJDIR/bin/sh.exe
|
|
|
|
# force to have the ltmain.sh script to be in DOS text format,
|
|
# otherwise the resulting ltconfig script will have mixed
|
|
# (UNIX/DOS) format and is unusable with Bash ports before v2.03.
|
|
utod $srcdir/ltmain.sh
|
|
|
|
# Give the configure script some hints:
|
|
export LD=ld
|
|
export NM=nm
|
|
export CC=gcc
|
|
export CXX=gpp
|
|
export CFLAGS="-O2 -ggdb -g3"
|
|
export RANLIB=ranlib
|
|
export DEFAULT_YACC="bison -y"
|
|
export YACC="bison -y"
|
|
export DEFAULT_LEX=flex
|
|
export PATH_SEPARATOR=';'
|
|
# Define explicitly the .exe extension because on W95 with LFN=y
|
|
# the check might fail
|
|
export am_cv_exeext=.exe
|
|
# ltconfig wants to compute the maximum command-line length, but
|
|
# Bash 2.04 doesn't like that (it doesn't have any limit ;-), and
|
|
# reboots the system. We know our limit in advance, so we don't
|
|
# need all that crap. Assuming that the environment size is less
|
|
# than 4KB, we can afford 12KB of command-line arguments.
|
|
export lt_cv_sys_max_cmd_len=12288
|
|
# Force depcomp to use _deps rather than .deps as the name of the
|
|
# subdirectory where the *.Po dependency files are put. File names
|
|
# with leading dots are invalid on DOS 8+3 filesystems.
|
|
export DEPDIR=${DEPDIR:-_deps}
|
|
|
|
# The configure script needs to see the `install-sh' script, otherwise
|
|
# it decides the source installation is broken. But "make install" will
|
|
# fail on 8+3 filesystems if it finds a file `install-', since there
|
|
# are numerous "install-foo" targets in Makefile's. So we rename the
|
|
# offending file after the configure step is done.
|
|
if test ! -f ${srcdir}/install-sh ; then
|
|
if test -f ${srcdir}/install-.sh ; then
|
|
mv ${srcdir}/install-.sh ${srcdir}/install-sh
|
|
fi
|
|
fi
|
|
|
|
# Now run the configure script while disabling some things like the NLS
|
|
# support, which is nearly impossible to be supported in the current way,
|
|
# since it relies on file names which will never work on DOS.
|
|
echo "Running the configure script..."
|
|
$srcdir/configure --srcdir="$srcdir" --prefix='${DJDIR}' \
|
|
--disable-shared --disable-nls --verbose --enable-build-warnings=\
|
|
-Wimplicit,-Wcomment,-Wformat,-Wparentheses,-Wpointer-arith,-Wuninitialized $*
|
|
|
|
if test -f ${srcdir}/install- ; then
|
|
mv ${srcdir}/install- ${srcdir}/install-.sh
|
|
fi
|