libstdc++47: fix wrong vec.o inclusion
authorJohn Marino <netbsd@marino.st>
Tue, 2 Oct 2012 20:07:43 +0000 (22:07 +0200)
committerSamuel J. Greear <sjg@thesjg.com>
Tue, 2 Oct 2012 21:44:35 +0000 (15:44 -0600)
The vec.cc file never got compiled for libstdc++.  The gcc/vec.c object
file was getting included into the library instead.  This change
effectively renames vec.cc to avoid name clashes.

This also allows gcc47 to completely build world.

gnu/lib/gcc47/libstdc++/Makefile
gnu/lib/gcc47/libsupc++/Makefile.src

index b94ce6c..c4923dd 100644 (file)
@@ -31,6 +31,7 @@ CFLAGS+=      -I${SRCDIR}/include/std
 CFLAGS+=       -I${SRCDIR}/include/c_std
 CFLAGS+=       -I${SRCDIR}/include/c_global
 CFLAGS+=       -I${SRCDIR}/include/backward
+CFLAGS+=       -I${SRCDIR}/libsupc++
 CXXFLAGS+=     -fno-implicit-templates
 CXXFLAGS+=     -fdiagnostics-show-location=once
 CXXFLAGS+=     -ffunction-sections -fdata-sections
@@ -266,17 +267,20 @@ ${F:T}: copybits
 cp-demangle.c: ${GCCDIR}/libiberty/${.TARGET}
        cp ${.ALLSRC} ${.TARGET}
 
-# debug.cc and tree.cc are also getting pre-empted by gcc/ versions
+# debug.cc, tree.cc and vec.cc are also getting pre-empted by gcc/ versions
 debug-cxx.cc: ${SRCDIR}/src/c++11/debug.cc
        cp ${.ALLSRC} ${.TARGET}
 
 tree-cxx.cc: ${SRCDIR}/src/c++98/tree.cc
        cp ${.ALLSRC} ${.TARGET}
 
+vec-cxx.cc: ${SRCDIR}/libsupc++/vec.cc
+       cp ${.ALLSRC} ${.TARGET}
+
 CLEANDIRS+=    bits
 CLEANFILES+=   atomicity.cc basic_file.cc c++locale.cc \
                ctype_configure_char.cc unwind.h \
-               cp-demangle.c debug-cxx.cc tree-cxx.cc
+               cp-demangle.c debug-cxx.cc tree-cxx.cc vec-cxx.cc
 
 depend all: bits/c++config.h
 
index 2a59fa6..1bf4454 100644 (file)
@@ -1,3 +1,5 @@
+#note vec.cc has been replaced by vec-cxx.cc due to object filename clash
+
 SUPCXX=        \
        array_type_info.cc \
        atexit_arm.cc \
@@ -44,7 +46,7 @@ SUPCXX=       \
        si_class_type_info.cc \
        tinfo.cc \
        tinfo2.cc \
-       vec.cc \
+       vec-cxx.cc \
        vmi_class_type_info.cc \
        vterminate.cc