diff options
author | gdb-3.3 <gdb@fsf.org> | 1989-09-30 00:00:00 +0000 |
---|---|---|
committer | Pedro Alves <palves@redhat.com> | 2012-06-03 15:36:32 +0100 |
commit | 4187119d59afd156703cfcbc6be287c5085f1867 (patch) | |
tree | 8ea0d77175611df1eeec928858f629d410dd6e05 /gdb/config.gdb | |
parent | e91b87a36830d061ef87d67be5f309e4d4ed918f (diff) | |
download | gdb-4187119d59afd156703cfcbc6be287c5085f1867.zip gdb-4187119d59afd156703cfcbc6be287c5085f1867.tar.gz gdb-4187119d59afd156703cfcbc6be287c5085f1867.tar.bz2 |
gdb-3.3
Diffstat (limited to 'gdb/config.gdb')
-rwxr-xr-x | gdb/config.gdb | 219 |
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 |