blob: 5fbfe2bdf3dc001d44dc230b2514440c7d3e3059 [file] [log] [blame]
#!/bin/sh -e
#
# Create gdb patch files.
#
# Copyright (c) 1996-2002 by Guardsoft Pty Ltd.
#
# 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., 59 Temple Place - Suite 330,
# Boston, MA 02111-1307, USA.
#
#
FILES_50="aif-valprint.c c-valprint.c printcmd.c typeprint.c valprint.c libaif.mk configure.in aclocal.m4 configure"
FILES_52="aif-valprint.c c-valprint.c printcmd.c typeprint.c valprint.c libaif.mk configure.in configure config.in"
FILES_20020811CVS="aif-valprint.c c-valprint.c printcmd.c typeprint.c valprint.c libaif.mk configure.in configure config.in"
if [ $# -ne 1 ]; then
echo usage: $0 new-gdb-dir
exit 1
fi
NEWINSDIR=$1
NEWSRCDIR=$1/gdb
ORGINSDIR=$1-old
ORGSRCDIR=$1-old/gdb
if [ ! -d $NEWINSDIR -a ! -d $NEWSRCDIR ]; then
echo $0: could not find new gdb source
exit 1
fi
if [ ! -d $ORGINSDIR -a ! -d $ORGSRCDIR ]; then
echo $0: could not find original gdb source
exit 1
fi
if [ ! -f $NEWSRCDIR/Makefile.in -o ! -f $ORGSRCDIR/Makefile.in ]; then
echo $0: could not find Makefile.in
exit 1
fi
VERSION=""
if [ -f $NEWSRCDIR/version.in ]; then
VERSION=`cat $NEWSRCDIR/version.in`
else
VERSION=`grep '^VERSION' $NEWSRCDIR/Makefile.in | sed -e 's/VERSION = //'`
fi
if [ "x$VERSION" = x ]; then
echo $0: could not find version of new gdb
exit 1
fi
ORGVERSION=""
if [ -f $ORGSRCDIR/version.in ]; then
ORGVERSION=`cat $ORGSRCDIR/version.in`
else
ORGVERSION=`grep '^VERSION' $ORGSRCDIR/Makefile.in | sed -e 's/VERSION = //'`
fi
if [ "x$ORGVERSION" = x ]; then
echo $0: could not find version of original gdb
exit 1
fi
if [ $ORGVERSION != $VERSION ]; then
echo $0: original and new versions do not match
exit 1
fi
df=`echo $VERSION | sed -e 's/-//g' -e 's/\.//g' | tr 'a-z' 'A-Z'`
FILES=`eval echo '$'"FILES_$df"`
NEWDIR=`basename $NEWINSDIR`
PARENT=`dirname $NEWINSDIR`
ORGDIR=$NEWDIR-old
case $VERSION in
5.[02]|2002-08-11-cvs)
rm -f gdb-$VERSION.patch
for i in $FILES
do
ORG=$ORGDIR/gdb/$i
NEW=$NEWDIR/gdb/$i
if [ ! -f $ORGSRCDIR/$i ]; then ORG=/dev/null; fi
if [ ! -f $NEWSRCDIR/$i ]; then NEW=/dev/null; fi
(cd $PARENT; diff -uN $ORG $NEW || true) >> gdb-$VERSION.patch
done
;;
*)
echo $0: version $VERSION of gdb not supported
exit 1
;;
esac
exit 0