Build/install c++filt from g++, we already have all the sources and

it's and useful. (Ever tried to read 'nm' and 'ldd -v' output on a c++
object or library? :-) This filter decodes the mangled symbol names.)

Requested by: Chuck Robey <chuckr@glue.umd.edu>
This commit is contained in:
Peter Wemm 1996-10-13 17:37:03 +00:00
parent f738f84d69
commit 4023b3033b
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=18913
2 changed files with 60 additions and 2 deletions

View File

@ -1,7 +1,10 @@
#
# $Id$
# $Id: Makefile,v 1.6 1996/09/19 15:37:58 peter Exp $
#
SUBDIR= cc_tools cc_int cpp cc1 cc cc1obj cc1plus c++ f77 libgcc doc
# The order of some of these are rather important. Some depend on previous
# subdirs.
SUBDIR= cc_tools cc_int cpp cc1 cc cc1obj cc1plus c++ f77 libgcc c++filt doc
.include <bsd.subdir.mk>

View File

@ -0,0 +1,55 @@
#
# $Id$
#
PROG = c++filt
SRCS = cplus-dem.c getopt.c getopt1.c
OBJS+= underscore.o # defeat 'make depend'
BINDIR= /usr/bin
NOMAN= 1
CFLAGS+= -DMAIN -DIN_GCC -DVERSION=\"$(version)\"
#
# XXX This is a hack, but it seems to work. libgcc1.a is supposed to be
# compiled by the native compiler, and libgcc2.a is meant to be compiled
# by *this* version of gcc.
#
# Normally, this does not make any difference, since we only have gcc, but
# when bootstrapping from gcc-2.6.3, we have to use the freshly built 2.7.2
# compiler for some of the libgcc2.c __attribute__ stuff.
#
.if exists(${.OBJDIR}/../cc)
XCC= ${.OBJDIR}/../cc/cc
.else
XCC= ${.CURDIR}/../cc/cc
.endif
.if exists(${.OBJDIR}/../cc1)
XCC+= -B${.OBJDIR}/../cc1/
.else
XCC+= -B${.CURDIR}/../cc1/
.endif
.if exists(${.OBJDIR}/../cpp)
XCC+= -B${.OBJDIR}/../cpp/
.else
XCC+= -B${.CURDIR}/../cpp/
.endif
CLEANFILES+= underscore.c
underscore.o: underscore.c
underscore.c:
echo "int xxy_us_dummy;" >tmp-dum.c
${XCC} -S tmp-dum.c
echo '/*WARNING: This file is automatically generated!*/' >underscore.c
if grep _xxy_us_dummy tmp-dum.s > /dev/null ; then \
echo "int prepends_underscore = 1;" >>underscore.c; \
else \
echo "int prepends_underscore = 0;" >>underscore.c; \
fi
rm -f tmp-dum.c tmp-dum.s
.include <bsd.prog.mk>