aboutsummaryrefslogtreecommitdiff
path: root/gdb/config.gdb
diff options
context:
space:
mode:
authorgdb-3.3 <gdb@fsf.org>1989-09-30 00:00:00 +0000
committerPedro Alves <palves@redhat.com>2012-06-03 15:36:32 +0100
commit4187119d59afd156703cfcbc6be287c5085f1867 (patch)
tree8ea0d77175611df1eeec928858f629d410dd6e05 /gdb/config.gdb
parente91b87a36830d061ef87d67be5f309e4d4ed918f (diff)
downloadgdb-4187119d59afd156703cfcbc6be287c5085f1867.zip
gdb-4187119d59afd156703cfcbc6be287c5085f1867.tar.gz
gdb-4187119d59afd156703cfcbc6be287c5085f1867.tar.bz2
gdb-3.3
Diffstat (limited to 'gdb/config.gdb')
-rwxr-xr-xgdb/config.gdb219
1 files changed, 179 insertions, 40 deletions
diff --git a/gdb/config.gdb b/gdb/config.gdb
index 2578462..b7ef693 100755
--- a/gdb/config.gdb
+++ b/gdb/config.gdb
@@ -1,7 +1,7 @@
#!/bin/sh
#
-# Shell script to create proper links to machine-dependent files in
+# Shell script to do machine-dependent things in
# preparation for compiling gdb.
#
# Usage: config.gdb machine [operating-system]
@@ -10,13 +10,17 @@
# If config.gdb fails after disturbing the status quo,
# config.status is removed.
#
+# Note: if making something gives errors like "unable to make target
+# 1-dep.c", this means that the compiler has put in a builtin define
+# and there is a "-U" missing from makedefine in this file.
+#
progname=$0
case $# in
1)
machine=$1
- os="none"
+ os=""
;;
2)
machine=$1
@@ -34,49 +38,149 @@ case $# in
;;
esac
-paramfile=m-${machine}.h
-pinsnfile=${machine}-pinsn.c
-opcodefile=${machine}-opcode.h
-if [ -r ${machine}-dep.c ]
+# cannonicalize the machine name.
+case $machine in
+news)
+ case $os in
+ os3|newsos3)
+ $machine=newsos3
+ $os=""
+ ;;
+ esac
+ ;;
+sun2)
+ case $os in
+ os4|sunos4)
+ $machine=sun2os4
+ $os=""
+ ;;
+ os2|sunos2)
+ $machine=sun2os2
+ $os=""
+ ;;
+ esac
+ ;;
+sun3)
+ case $os in
+ os4|sunos4)
+ $machine=sun3os4
+ $os=""
+ ;;
+ os3|sunos3)
+ $machine=sun3os3
+ $os=""
+ ;;
+ esac
+ ;;
+sparc|sun4)
+ case $os in
+ os4|sunos4)
+ $machine=sun4os4
+ $os=""
+ ;;
+ esac
+ ;;
+esac
+
+paramfile=m-${machine}${os}.h
+pinsnfile=${machine}${os}-pinsn.c
+opcodefile=${machine}${os}-opcode.h
+# Set up a define for purposes of editing the makefile.
+makedefine=
+if [ -r ${machine}${os}-dep.c ]
then
- depfile=${machine}-dep.c
+ depfile=${machine}${os}-dep.c
else
depfile=default-dep.c
fi
#
# Special cases.
-# If a file is not needed, set the filename to 'skip' and it will be
-# ignored.
+# If a file is not needed, set the file name to something.
+# It must be linked to something, or else make will try to make it.
+# /dev/null will not work because on systems without symbolic links,
+# it will complain that /dev/null is on a different file system.
#
case $machine in
-aux)
+altos)
+ makedefine="-DM_REGEX=regex.o -DM_SYSV -DM_BSD_NM"
+ pinsnfile=m68k-pinsn.c
+ opcodefile=m68k-opcode.h
+ ;;
+altosgas)
+ echo "Use of the coff encapsulation features require the GNU binutils utilities"
+ echo "To be ahead of their System V counterparts in your path."
+ makedefine="-DM_REGEX=regex.o -DM_SYSV -DM_BSD_NM"
pinsnfile=m68k-pinsn.c
+ depfile=altos-dep.c
opcodefile=m68k-opcode.h
;;
vax)
+ echo
+ echo "/bin/cc has been known to fail on readline.c on VAXen running BSD4.3"
+ echo "If this occurs, use gcc "
+ echo " (but see comments in Makefile.dist about compiling with gcc)."
+ echo
pinsnfile=vax-pinsn.c
opcodefile=vax-opcode.h
;;
hp9k320)
+# The headers in the directory hp-include override system headers
+# and tell GDB to use BSD executable file format (hence -Ihp-include)
+ makedefine="-DM_SYSV -DM_BSD_NM -DM_REGEX=regex.o
+ -DM_ALLOCA=alloca.o -DM_CFLAGS=-Ihp-include"
+# The following is true because gcc uses a different .o file format
+# than the native HPUX compiler
+ echo
+ echo "If you compile GDB with GCC on HPUX, you must make sure"
+ echo "that the \`nm' used in \`munch' is GNU nm"
+ echo
+ pinsnfile=m68k-pinsn.c
+ opcodefile=m68k-opcode.h
+ ;;
+hp300bsd)
+# Not sure what makefile editing (if any) is necessary for this machine.
pinsnfile=m68k-pinsn.c
opcodefile=m68k-opcode.h
;;
isi)
+# ISI running bsd4.2
pinsnfile=m68k-pinsn.c
opcodefile=m68k-opcode.h
;;
i386)
- echo "Note: i386 users need to modify \`CLIBS' & \`REGEX*' in the Makefile"
- opcodefile=skip
+ makedefine="-DM_CLIBS=-lPW -DM_SYSV -DM_REGEX=regex.o"
+# The following is a lie, but a necessary one. See comment at beginning
+# of this file about unneeded files.
+ opcodefile=m-i386.h
;;
i386gas)
- echo "Note: i386 users need to modify \`CLIBS' & \`REGEX*' in the Makefile"
- echo "Use of the coff encapsulation features also requires the GNU binutils utilities"
+ makedefine="-DM_CLIBS=-lPW -DM_SYSV -DM_REGEX=regex.o"
+ echo
+ echo "Use of the coff encapsulation features requires the GNU binary utilities"
echo "to be ahead of their System V counterparts in your path."
+ echo
pinsnfile=i386-pinsn.c
depfile=i386-dep.c
- opcodefile=skip
+# The following is a lie, but a necessary one. See comment at beginning
+# of this file about unneeded files.
+ opcodefile=m-i386.h
+ ;;
+i386-sysv3.2)
+ makedefine="-DM_CLIBS=-lPW -DM_SYSV -DM_REGEX=regex.o"
+ pinsnfile=i386-pinsn.c
+ depfile=i386-dep.c
+ opcodefile=/dev/null
+ ;;
+i386gas-sysv3.2)
+ makedefine="-DM_CLIBS=-lPW -DM_SYSV -DM_REGEX=regex.o"
+ echo
+ echo "Use of the coff encapsulation features requires the GNU binary utilities"
+ echo "to be ahead of their System V counterparts in your path."
+ echo
+ pinsnfile=i386-pinsn.c
+ depfile=i386-dep.c
+ opcodefile=/dev/null
;;
merlin)
pinsnfile=ns32k-pinsn.c
@@ -86,6 +190,11 @@ news)
pinsnfile=m68k-pinsn.c
opcodefile=m68k-opcode.h
;;
+newsos3)
+ pinsnfile=m68k-pinsn.c
+ opcodefile=m68k-opcode.h
+ depfile=news-dep.c
+ ;;
npl)
pinsnfile=gld-pinsn.c
;;
@@ -93,55 +202,77 @@ pn)
pinsnfile=gld-pinsn.c
;;
sun2)
- case $os in
- os4|sunos4)
- paramfile=m-sun2os4.h
- ;;
- os2|sunos2)
- paramfile=m-sun2os2.h
- esac
+ depfile=sun3-dep.c
pinsnfile=m68k-pinsn.c
opcodefile=m68k-opcode.h
;;
-sun2os2)
+sun2os2|sun2-os2)
+ depfile=default-dep.c
+ paramfile=m-sun2.h
pinsnfile=m68k-pinsn.c
opcodefile=m68k-opcode.h
;;
-sun2os4)
+sun2os4|sun2-os4)
+# Compile GDB without shared libraries so that it can be run on itself.
+ makedefine=-DM_CFLAGS=-Bstatic
+ echo
+ echo "Make sure to compile any program on which you want to run gdb"
+ echo " without shared libraries (cc -Bstatic)"
+ echo
+ paramfile=m-sun2os4.h
+ depfile=sun3-dep.c
pinsnfile=m68k-pinsn.c
opcodefile=m68k-opcode.h
;;
-sun3)
- case $os in
- os4|sunos4)
- paramfile=m-sun3os4.h
- esac
+sun3os3)
+ paramfile=m-sun3.h
+ depfile=sun3-dep.c
pinsnfile=m68k-pinsn.c
opcodefile=m68k-opcode.h
;;
-sun3os4)
+sun3os4|sun3-os4)
+# Compile GDB without shared libraries so that it can be run on itself.
+ makedefine=-DM_CFLAGS=-Bstatic
+ echo
+ echo "Make sure to compile any program on which you want to run gdb"
+ echo " without shared libraries (cc -Bstatic)"
+ echo
+ paramfile=m-sun3os4.h
pinsnfile=m68k-pinsn.c
opcodefile=m68k-opcode.h
depfile=sun3-dep.c
;;
-sun4os4)
+sun4os4|sun4-os4)
+# Compile GDB without shared libraries so that it can be run on itself.
+# Undefine sparc to avoid changing sparc-dep.c to 1-dep.c
+ makedefine="-DM_CFLAGS=-Bstatic -Usparc"
+ echo
+ echo "Make sure to compile any program on which you want to run gdb"
+ echo " without shared libraries (cc -Bstatic)"
+ echo
+ paramfile=m-sun4os4.h
pinsnfile=sparc-pinsn.c
opcodefile=sparc-opcode.h
depfile=sparc-dep.c
;;
+symmetry)
+ pinsnfile=i386-pinsn.c
+# Need *some* opcode file to keep make from trying to make opcode.h
+ opcodefile=/dev/null
+ ;;
umax)
pinsnfile=ns32k-pinsn.c
opcodefile=ns32k-opcode.h
;;
-sparc|sun4)
- case $os in
- os4|sunos4)
- paramfile=m-sun4os4.h
- esac
+sparc|sun4|sun4os3|sun4-os3)
+ paramfile=m-sparc.h
+# Undefine sparc to avoid changing sparc-dep.c to 1-dep.c
+ makedefine=-Usparc
pinsnfile=sparc-pinsn.c
opcodefile=sparc-opcode.h
depfile=sparc-dep.c
- paramfile=m-sparc.h
+ ;;
+convex)
;;
test)
paramfile=one
@@ -153,11 +284,13 @@ test)
echo "Available types:"
echo m-*.h | sed 's/m-//g' | sed 's/\.h//g'
exit 1
+ ;;
esac
files="$paramfile $pinsnfile $opcodefile $depfile"
links="param.h pinsn.c opcode.h dep.c"
+rm -f config.status
while [ -n "$files" ]
do
# set file to car of files, files to cdr of files
@@ -173,7 +306,8 @@ do
exit 1
fi
- rm -f $link config.status
+ echo "Linking \`$link' to \`$file'."
+ rm -f $link
# Make a symlink if possible, otherwise try a hard link
ln -s $file $link 2>/dev/null || ln $file $link
@@ -182,11 +316,16 @@ do
echo "$progname: unable to link \`$link' to \`$file'."
exit 1
fi
- echo "Linked \`$link' to \`$file'."
fi
done
-echo "Links are now set up for use with a $machine." \
+# edit the makefile
+echo "Editing Makefile"
+cp Makefile.dist tmp.c
+cc -E >Makefile tmp.c $makedefine -DM_MAKEDEFINE="$makedefine"
+rm -f tmp.c
+
+echo "GDB is now set up for use with a $machine." \
| tee config.status
exit 0