[v3] libstdc++/16896
Magnus Fromreide
magfr@lysator.liu.se
Mon Feb 8 08:51:00 GMT 2010
On Sun, Feb 07, 2010 at 07:43:01PM +0100, Paolo Carlini wrote:
> Hi,
>
> I decided to fix this long standing issue with un-uglifed names, in the
> straightforward way, thus rename in the headers and keep on exporting
> for ABI-stability the old names too. I also took the occasion to
> rationalize a bit the names of the *.cc files, thus use *-aux.cc for
> files always included, never compiled alone, and fold back
> limits_c++0x.cc in limits.cc, which now makes sense because we have been
> compiling for a while some old C++03 *.cc files with -std=gnu++0x, to
> expose new C++0x exports. Tested x86_64-linux, debug-mode and
> parallel-mode too.
This is all well and good but now building the library fails in limits.h on
linux x86-64. It seems as if the src/debug/Makefile isn't automatically
updated and so it tries to build the removed limits_c++0x.o and fails
miserably.
I then tried to remove the offending Makefile and run config.status in the
libstdc++ root directory. Now I got really surprised since the build failed
as there was no src/debug/Makefile.
Loking into the generation (an unholy mix of config.status and make) I
think that attached patch would make it better.
With that said I still think it would be a good idea to add
src/debug/Makefile:src/Makefile.in to AC_CONFIG_FILES.
/MF
-------------- next part --------------
Index: libstdc++-v3/src/Makefile.am
===================================================================
--- libstdc++-v3/src/Makefile.am (revision 156595)
+++ libstdc++-v3/src/Makefile.am (working copy)
@@ -383,20 +383,18 @@
debugdir = debug
# Build a set of debug objects here.
-stamp-debug:
+${debugdir}/Makefile: Makefile
if test ! -d ${debugdir}; then \
mkdir -p ${debugdir}; \
- (cd ${debugdir}; \
- sed -e 's/top_builddir = \.\./top_builddir = ..\/../' \
- -e 's/srcdir = \.\./srcdir = ..\/../' \
- -e 's/glibcxx_basedir = \.\./glibcxx_basedir = ..\/../' \
- -e 's/all-local: build_debug/all-local:/' \
- -e 's/install-data-local: install_debug/install-data-local:/' \
- < ../Makefile > Makefile) ; \
fi; \
- echo `date` > stamp-debug;
+ sed -e 's/top_builddir = \.\./top_builddir = ..\/../' \
+ -e 's/srcdir = \.\./srcdir = ..\/../' \
+ -e 's/glibcxx_basedir = \.\./glibcxx_basedir = ..\/../' \
+ -e 's/all-local: build_debug/all-local:/' \
+ -e 's/install-data-local: install_debug/install-data-local:/' \
+ < Makefile > ${debugdir}/Makefile
-build_debug: stamp-debug
+build_debug: ${debugdir}/Makefile
(cd ${debugdir} && $(MAKE) CXXFLAGS='$(DEBUG_FLAGS)' all)
# Install debug library here.
More information about the Libstdc++
mailing list