File:  [GNU Debugger] / gdb / config.gdb
Revision 1.1.1.2 (vendor branch): download - view: text, annotated - select for diffs
Tue Apr 24 17:58:00 2018 UTC (3 years, 7 months ago) by root
Branches: fsf, MAIN
CVS tags: gdb_2_8_1, HEAD
gdb-2.8.1

#!/bin/sh

#
# Shell script to create proper links to machine-dependent files in
# preparation for compiling gdb.
#
# Usage: config.gdb machine
#
# If config.gdb succeeds, it leaves its status in config.status.
# If config.gdb fails after disturbing the status quo, 
# 	config.status is removed.
#

progname=$0

case $# in
1)
	machine=$1
	paramfile=m-${machine}.h
	initfile=m-${machine}init.h
	pinsnfile=${machine}-pinsn.c
	opcodefile=${machine}-opcode.h

	case $machine in
	hp9k320)
		initfile=m-sun3init.h
		pinsnfile=m68k-pinsn.c
		opcodefile=m68k-opcode.h
		;;
	hp9k320bsd)
		initfile=m-sun3init.h
		pinsnfile=m68k-pinsn.c
		opcodefile=m68k-opcode.h
		;;
	isi)
		# some version of m68k-pinsn.c should work here
		pinsnfile=m68k-pinsn.c
		opcodefile=m68k-opcode.h
		;;
	merlin)
		# m-umaxinit.h?
		initfile=unknown-or-unavailable
		pinsnfile=ns32k-pinsn.c
		opcodefile=ns32k-opcode.h
		;;
	news)
		pinsnfile=m68k-pinsn.c
		opcodefile=m68k-opcode.h
		;;
	npl)
		pinsnfile=gld-pinsn.c
		;;
	pn)
		pinsnfile=gld-pinsn.c
		;;
	sun2)
		pinsnfile=m68k-pinsn.c
		opcodefile=m68k-opcode.h
		;;
	sun3)
		pinsnfile=m68k-pinsn.c
		opcodefile=m68k-opcode.h
		;;
	sun4)
		pinsnfile=sparc-pinsn.c
		opcodefile=sparc-opcode.h
		;;
	umax)
		pinsnfile=ns32k-pinsn.c
		opcodefile=ns32k-opcode.h
		;;
	test)
		paramfile=one
		initfile=two
		pinsnfile=three
		opcodefile=four
		;;
	esac

	files="$paramfile $initfile $pinsnfile $opcodefile"
	links="param.h m-init.h pinsn.c opcode.h"	

	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 $file ]
		then
			echo "$progname: cannot create a link \`$link',"
			echo "since the file \`$file' does not exist."
			exit 1
		fi

		rm -f $link config.status
		# Make a symlink if possible, otherwise try a hard link
		ln -s $file $link 2>/dev/null || ln $file $link

		if [ ! -r $link ]
		then
			echo "$progname: unable to link \`$link' to \`$file'."
			exit 1
		fi
		echo "Linked \`$link' to \`$file'."
	done

	echo "Links are now set up for use with a $machine." \
		| tee config.status
	exit 0
	;;
*)
	echo "Usage: $progname machine"
	echo -n "Where \`machine' is something like "
	echo "\`vax', \`sun3', \`umax', etc."
	if [ -r config.status ]
	then
		cat config.status
	fi
	exit 1
	;;
esac


unix.superglobalmegacorp.com