diff options
author | Peter Wemm <peter@FreeBSD.org> | 1996-10-13 17:37:03 +0000 |
---|---|---|
committer | Peter Wemm <peter@FreeBSD.org> | 1996-10-13 17:37:03 +0000 |
commit | 4023b3033bd3486e93857e8c3dc6b7646bd5a7eb (patch) | |
tree | cba3ebd3f8d401f0c4388eb42334945026750822 /gnu/usr.bin/cc/c++filt | |
parent | f738f84d69e56b5e921206410743a81e95df250e (diff) | |
download | src-4023b3033bd3486e93857e8c3dc6b7646bd5a7eb.tar.gz src-4023b3033bd3486e93857e8c3dc6b7646bd5a7eb.zip |
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>
Notes
Notes:
svn path=/head/; revision=18913
Diffstat (limited to 'gnu/usr.bin/cc/c++filt')
-rw-r--r-- | gnu/usr.bin/cc/c++filt/Makefile | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/gnu/usr.bin/cc/c++filt/Makefile b/gnu/usr.bin/cc/c++filt/Makefile new file mode 100644 index 000000000000..5e801de45adb --- /dev/null +++ b/gnu/usr.bin/cc/c++filt/Makefile @@ -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> + |