mirror of
https://github.com/gnustep/tools-make.git
synced 2025-04-22 05:40:48 +00:00
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/tools/make/trunk@13917 72102866-910b-0410-8b05-ffd578937521
205 lines
5.9 KiB
Bash
205 lines
5.9 KiB
Bash
#!/bin/sh
|
|
#
|
|
# @configure_input@
|
|
#
|
|
# Copyright (C) 1997 Free Software Foundation, Inc.
|
|
#
|
|
# Author: Ovidiu Predescu <ovidiu@net-community.com>
|
|
# Date: October 1997
|
|
#
|
|
# This file is part of the GNUstep Makefile Package.
|
|
#
|
|
# This library 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.
|
|
#
|
|
# You should have received a copy of the GNU General Public
|
|
# License along with this library; see the file COPYING.LIB.
|
|
# If not, write to the Free Software Foundation,
|
|
# 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|
|
|
# Execute gdb for the application passed as argument. The application is
|
|
# searched through the GNUstep directories if a complete or relative path name
|
|
# is not specified. The arguments passed after the application name are passed
|
|
# unmodified to the application.
|
|
|
|
if [ -z "$1" ]; then
|
|
echo usage: `basename $0` [--library-combo=...] application [arguments...]
|
|
echo `basename $0` --help for help
|
|
exit 1
|
|
fi
|
|
|
|
if [ -z "$EXEEXT" ]; then
|
|
EXEEXT=@EXEEXT@
|
|
fi
|
|
if [ -z "$LIBRARY_COMBO" ]; then
|
|
LIBRARY_COMBO=@ac_cv_library_combo@
|
|
fi
|
|
if [ -z "$GDB" ]; then
|
|
GDB=gdb
|
|
fi
|
|
|
|
case $1 in
|
|
--help)
|
|
echo usage: `basename $0` [--library-combo=...] application [arguments...]
|
|
echo
|
|
echo [--library-combo=...] specifies a GNUstep backend to use.
|
|
echo It overrides the default LIBRARY_COMBO environment variable.
|
|
echo --library-combo=gnu for GNUstep
|
|
echo --library-combo=nx for NeXT OPENSTEP
|
|
echo
|
|
echo application is the complete or relative name of the application
|
|
echo program with the .app extension, like Edit.app.
|
|
echo
|
|
echo [arguments...] are the arguments to the application.
|
|
exit 0
|
|
;;
|
|
--library-combo=*)
|
|
LIBRARY_COMBO=`echo $1 | sed 's/--library-combo=//'`
|
|
if [ -z "$2" ]; then
|
|
echo usage: `basename $0` [--library-combo=...] application [arguments...]
|
|
echo `basename $0` --help for help
|
|
exit 1
|
|
fi
|
|
app=$2; shift; shift
|
|
;;
|
|
*)
|
|
app=$1; shift;;
|
|
esac
|
|
|
|
if [ "$LIBRARY_COMBO" = nx ]; then
|
|
LIBRARY_COMBO=nx-nx-nx
|
|
elif [ "$LIBRARY_COMBO" = gnu ]; then
|
|
LIBRARY_COMBO=gnu-gnu-gnu
|
|
elif [ "$LIBRARY_COMBO" = fd ]; then
|
|
LIBRARY_COMBO=gnu-fd
|
|
fi
|
|
|
|
# Remove leading slashes at the end of the application name
|
|
app=`echo $app | sed 's%/*$%%'`
|
|
|
|
case $app in
|
|
/*) # An absolute path.
|
|
full_appname=$app;;
|
|
*/*) # A relative path
|
|
full_appname=`(cd $app; pwd)`;;
|
|
*) # A path that should be searched into the GNUstep paths
|
|
if [ -n $GNUSTEP_PATHLIST ]; then
|
|
SPATH=$GNUSTEP_PATHLIST
|
|
else
|
|
SPATH=$PATH
|
|
fi
|
|
SPATH=.:$SPATH
|
|
IFS=:
|
|
for dir in $SPATH; do
|
|
if [ -d $dir/Applications/$app ]; then
|
|
full_appname=`(cd $dir/Applications/$app; pwd)`
|
|
break;
|
|
fi
|
|
if [ -d $dir/$app ]; then
|
|
full_appname=`(cd $dir/$app; pwd)`
|
|
break;
|
|
fi
|
|
done;;
|
|
esac
|
|
|
|
corefile=
|
|
if [ -f core ]; then
|
|
echo -e "Core image has been found in working directory. Use it? ";
|
|
# Need an argument here for Solaris
|
|
read REPLY;
|
|
if [ $REPLY = y ]; then
|
|
corefile="--core=core";
|
|
fi
|
|
fi
|
|
|
|
if [ -z "$full_appname" ]; then
|
|
echo "Can't find the required application: $app!"
|
|
exit 1
|
|
fi
|
|
|
|
if [ -z "$GNUSTEP_FLATTENED" ]; then
|
|
#
|
|
# Determine the host information
|
|
#
|
|
if [ -z "$GNUSTEP_HOST" ]; then
|
|
GNUSTEP_HOST=`$GNUSTEP_SYSTEM_ROOT/Makefiles/config.guess`
|
|
GNUSTEP_HOST=`$GNUSTEP_SYSTEM_ROOT/Makefiles/config.sub $GNUSTEP_HOST`
|
|
export GNUSTEP_HOST
|
|
fi
|
|
if [ -z "$GNUSTEP_HOST_CPU" ]; then
|
|
GNUSTEP_HOST_CPU=`$GNUSTEP_SYSTEM_ROOT/Makefiles/cpu.sh $GNUSTEP_HOST`
|
|
GNUSTEP_HOST_CPU=`$GNUSTEP_SYSTEM_ROOT/Makefiles/clean_cpu.sh $GNUSTEP_HOST_CPU`
|
|
export GNUSTEP_HOST_CPU
|
|
fi
|
|
if [ -z "$GNUSTEP_HOST_VENDOR" ]; then
|
|
GNUSTEP_HOST_VENDOR=`$GNUSTEP_SYSTEM_ROOT/Makefiles/vendor.sh $GNUSTEP_HOST`
|
|
GNUSTEP_HOST_VENDOR=`$GNUSTEP_SYSTEM_ROOT/Makefiles/clean_vendor.sh $GNUSTEP_HOST_VENDOR`
|
|
export GNUSTEP_HOST_VENDOR
|
|
fi
|
|
if [ -z "$GNUSTEP_HOST_OS" ]; then
|
|
GNUSTEP_HOST_OS=`$GNUSTEP_SYSTEM_ROOT/Makefiles/os.sh $GNUSTEP_HOST`
|
|
GNUSTEP_HOST_OS=`$GNUSTEP_SYSTEM_ROOT/Makefiles/clean_os.sh $GNUSTEP_HOST_OS`
|
|
export GNUSTEP_HOST_OS
|
|
fi
|
|
|
|
if [ "$LIBRARY_COMBO" = nx-nx-nx -a $GNUSTEP_HOST_OS = nextstep4 ]; then
|
|
if [ -f "$full_appname/library_paths.openapp" ]; then
|
|
additional_library_paths="`cat $full_appname/library_paths.openapp`"
|
|
fi
|
|
fi
|
|
else
|
|
if [ -f "$full_appname/library_paths.openapp" ]; then
|
|
additional_library_paths="`cat $full_appname/library_paths.openapp`"
|
|
fi
|
|
fi
|
|
|
|
appname=`echo $app | sed 's/\.[a-z]*$//'`
|
|
appname=`basename $appname`
|
|
appname="$appname$EXEEXT"
|
|
. $GNUSTEP_SYSTEM_ROOT/Makefiles/ld_lib_path.sh
|
|
|
|
|
|
if [ "$LIBRARY_COMBO" = nx-nx-nx -a $GNUSTEP_HOST_OS = nextstep4 ]; then
|
|
if [ ! -f $full_appname/$appname ]; then
|
|
echo "$full_appname application does not have a binary for this kind of machine and operating system."
|
|
exit 1
|
|
fi
|
|
|
|
# Support for GDBbundle under OPENSTEP
|
|
$GDB -connect TextEdit $gdbargs $full_appname/$appname $corefile
|
|
|
|
else
|
|
# Determine if the application has a binary for this operating system
|
|
if [ -z "$GNUSTEP_FLATTENED" -a ! -d $full_appname/$GNUSTEP_HOST_CPU/$GNUSTEP_HOST_OS ]; then
|
|
echo "$full_appname application does not have a binary for this kind of machine and operating system."
|
|
exit 1
|
|
fi
|
|
|
|
if [ -z "$GNUSTEP_FLATTENED" -a ! -d $full_appname/$GNUSTEP_HOST_CPU/$GNUSTEP_HOST_OS/$LIBRARY_COMBO ]; then
|
|
echo "$full_appname application does not have a binary for this combination of libraries: $LIBRARY_COMBO."
|
|
exit 1
|
|
fi
|
|
|
|
if [ -z "$GNUSTEP_FLATTENED" ]; then
|
|
file_appname="$full_appname/$GNUSTEP_HOST_CPU/$GNUSTEP_HOST_OS/$LIBRARY_COMBO/$appname"
|
|
else
|
|
file_appname="$full_appname/$appname"
|
|
fi
|
|
|
|
#Support for GDBbundle under OPENSTEP
|
|
if [ $GNUSTEP_HOST_OS = nextstep4 ]; then
|
|
$GDB -connect TextEdit $file_appname $corefile
|
|
else
|
|
$GDB $file_appname $corefile
|
|
fi
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|