summaryrefslogtreecommitdiff
path: root/bin
diff options
context:
space:
mode:
authorlevine <levine@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1998-01-15 18:16:21 +0000
committerlevine <levine@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1998-01-15 18:16:21 +0000
commit85d06c1588dbcad124dacf406823905f694adf83 (patch)
treef67bbd820f5659156d134f06793c408b1159cb5d /bin
parenta7ef8fccc764e33ec785f9c3e0ac44224adb2e76 (diff)
downloadATCD-85d06c1588dbcad124dacf406823905f694adf83.tar.gz
added lib/g++-include path to gcc -MM invocation
Diffstat (limited to 'bin')
-rwxr-xr-xbin/g++dep47
1 files changed, 27 insertions, 20 deletions
diff --git a/bin/g++dep b/bin/g++dep
index 2cde4d97b1d..d4c1450e304 100755
--- a/bin/g++dep
+++ b/bin/g++dep
@@ -1,35 +1,36 @@
#! /bin/sh
+# $Id$
# This utility is a lightly editted version of the freed Berkeley
# script `mkdep'. The current script is intended to work for GNU G++.
# Here is the original BSD header:
-# @(#)mkdep.sh 1.7 (Berkeley) 10/13/87
+# @(#)mkdep.sh 1.7 (Berkeley) 10/13/87
#
PATH=/bin:/usr/bin:/usr/ucb:/usr/gnu:/usr/gnu/bin:/opt/gnu/bin:/pkg/gnu/bin:$PATH
export PATH
if [ $# = 0 ] ; then
- echo 'usage: g++dep [-p] [-f makefile] [flags] file ...'
- exit 1
+ echo 'usage: g++dep [-p] [-f makefile] [flags] file ...'
+ exit 1
fi
-MAKE=Makefile # default makefile name is "Makefile"
+MAKE=Makefile # default makefile name is "Makefile"
case $1 in
- # -f allows you to select a makefile name
- -f)
- MAKE=$2
- shift; shift ;;
-
- # the -p flag produces "program: program.c" style dependencies
- # so .o's don't get produced
- -p)
- SED='-e s;\.o;;'
- shift ;;
- # -r allows the use of relative pathnames...
+ # -f allows you to select a makefile name
+ -f)
+ MAKE=$2
+ shift; shift ;;
+
+ # the -p flag produces "program: program.c" style dependencies
+ # so .o's don't get produced
+ -p)
+ SED='-e s;\.o;;'
+ shift ;;
+ # -r allows the use of relative pathnames...
-r)
- REL="-e s;$ACE_ROOT;\$(ACE_ROOT);g "
+ REL="-e s;$ACE_ROOT;\$(ACE_ROOT);g "
if [ ${TAO_ROOT:-no_tao_root} = "no_tao_root" ]
then
echo no TAO_ROOT
@@ -37,12 +38,12 @@ case $1 in
REL="-e s;$TAO_ROOT;\$(TAO_ROOT);g "$REL
echo REL=$REL
fi
- shift ;;
+ shift ;;
esac
if [ ! -w $MAKE ]; then
- echo "g++dep: no writeable file \"$MAKE\""
- exit 1
+ echo "g++dep: no writeable file \"$MAKE\""
+ exit 1
fi
TMP=/tmp/g++dep$$
@@ -59,7 +60,13 @@ cat << _EOF_ >> $TMP
_EOF_
-gcc -MM $* \
+#### For some reason, gcc -MM and g++ -MM don't pick up the g++-include
+#### directory, so add it explicitly. The following uses the path of
+#### g++, then up two directories and down to lib/g++-include.
+GNUG_INCLUDE=\
+-I`type g++ | sed 's%g\+\+ is \(.*/\)[^/]*/[^/]*%\1%'`lib/g++-include
+
+gcc -MM $GNUG_INCLUDE $* \
| sed -e "s; \./; ;g" $SED $REL \
| awk '{ if ($1 != prev) \
{ if (rec != "") print rec; rec = $0; prev = $1; } \