Am 19.05.2013 11:40, schrieb Paolo Carlini: > On 05/19/2013 11:35 AM, Andreas Schwab wrote: >> Tests that now fail, but worked before: > Thanks Andreas. Matthias, please revert ASAP, thanks.
you already did that. Looks like ext/random includes opt_random.h, which is not on any include dir, so make it ext/opt_random.h. tests all pass, and check the include with an installed version too. Matthias
# DP: Install host specific libstdc++ headers into the host include dir 2013-05-11 Matthias Klose <d...@ubuntu.com> * include/Makefile.am (bits_headers): Remove ${bits_host_headers}. (ext_headers): Remove ${ext_host_headers}. (stamp-${host_alias}): Create ${host_builddir}/../ext. (stamp-host): Link ${bits_host_headers} and ${ext_host_headers}. (install-headers): Install ${bits_host_headers} and ${ext_host_headers}. * include/Makefile.in: Regenerate. * include/ext/random: Include ext/opt_random.h. Index: b/src/libstdc++-v3/include/Makefile.am =================================================================== --- a/src/libstdc++-v3/include/Makefile.am 2013-05-12 17:29:35.231053893 +0000 +++ b/src/libstdc++-v3/include/Makefile.am 2013-05-19 11:45:38.434218502 +0000 @@ -172,8 +172,7 @@ ${bits_srcdir}/valarray_array.tcc \ ${bits_srcdir}/valarray_before.h \ ${bits_srcdir}/valarray_after.h \ - ${bits_srcdir}/vector.tcc \ - ${bits_host_headers} + ${bits_srcdir}/vector.tcc bits_host_headers = \ ${glibcxx_srcdir}/${CPU_OPT_BITS_RANDOM} @@ -535,8 +534,7 @@ ${ext_srcdir}/vstring.tcc \ ${ext_srcdir}/vstring_fwd.h \ ${ext_srcdir}/vstring_util.h \ - ${ext_compat_headers} \ - ${ext_host_headers} + ${ext_compat_headers} ext_compat_headers = \ ${backward_srcdir}/hash_set \ @@ -1048,13 +1046,14 @@ stamp-${host_alias}: @-mkdir -p ${host_builddir} + @-mkdir -p ${host_builddir}/../ext @$(STAMP) stamp-${host_alias} # Host includes static. # XXX Missing dependency info for {host_headers_extra} -stamp-host: ${host_headers} ${host_headers_noinst} stamp-${host_alias} +stamp-host: ${host_headers} ${bits_host_headers} ${ext_host_headers} ${host_headers_noinst} stamp-${host_alias} @cd ${host_builddir} && {\ - $(LN_S) ${host_headers} . || true ;\ + $(LN_S) ${host_headers} ${bits_host_headers} . || true ;\ $(LN_S) ${glibcxx_srcdir}/$(BASIC_FILE_H) basic_file.h || true ;\ $(LN_S) ${glibcxx_srcdir}/$(ALLOCATOR_H) c++allocator.h || true ;\ $(LN_S) ${glibcxx_srcdir}/$(CSTDIO_H) c++io.h || true ;\ @@ -1064,6 +1063,9 @@ $(LN_S) ${glibcxx_srcdir}/$(CMESSAGES_H) messages_members.h || true ;\ $(LN_S) ${glibcxx_srcdir}/$(CTIME_H) time_members.h || true;\ } 2>/dev/null + @cd ${host_builddir}/../ext && {\ + $(LN_S) ${ext_host_headers} . || true ;\ + } 2>/dev/null $(STAMP) stamp-host # Host includes dynamic. @@ -1290,9 +1292,12 @@ for file in ${profile_impl_headers}; do \ $(INSTALL_DATA) $${file} $(DESTDIR)${gxx_include_dir}/${profile_impl_builddir}; done $(mkinstalldirs) $(DESTDIR)${host_installdir} - for file in ${host_headers} ${host_headers_extra} \ + for file in ${host_headers} ${bits_host_headers} ${host_headers_extra} \ ${thread_host_headers}; do \ $(INSTALL_DATA) $${file} $(DESTDIR)${host_installdir}; done + $(mkinstalldirs) $(DESTDIR)${host_installdir}/../ext + for file in ${ext_host_headers}; do \ + $(INSTALL_DATA) $${file} $(DESTDIR)${host_installdir}/../ext; done # By adding these files here, automake will remove them for 'make clean' CLEANFILES = ${pch_output} ${pch_output_anchors} stamp-host Index: b/src/libstdc++-v3/include/Makefile.in =================================================================== --- a/src/libstdc++-v3/include/Makefile.in 2013-05-12 17:29:35.231053893 +0000 +++ b/src/libstdc++-v3/include/Makefile.in 2013-05-19 11:46:14.778466710 +0000 @@ -434,8 +434,7 @@ ${bits_srcdir}/valarray_array.tcc \ ${bits_srcdir}/valarray_before.h \ ${bits_srcdir}/valarray_after.h \ - ${bits_srcdir}/vector.tcc \ - ${bits_host_headers} + ${bits_srcdir}/vector.tcc bits_host_headers = \ ${glibcxx_srcdir}/${CPU_OPT_BITS_RANDOM} @@ -795,8 +794,7 @@ ${ext_srcdir}/vstring.tcc \ ${ext_srcdir}/vstring_fwd.h \ ${ext_srcdir}/vstring_util.h \ - ${ext_compat_headers} \ - ${ext_host_headers} + ${ext_compat_headers} ext_compat_headers = \ ${backward_srcdir}/hash_set \ @@ -1461,13 +1459,14 @@ stamp-${host_alias}: @-mkdir -p ${host_builddir} + @-mkdir -p ${host_builddir}/../ext @$(STAMP) stamp-${host_alias} # Host includes static. # XXX Missing dependency info for {host_headers_extra} -stamp-host: ${host_headers} ${host_headers_noinst} stamp-${host_alias} +stamp-host: ${host_headers} ${bits_host_headers} ${ext_host_headers} ${host_headers_noinst} stamp-${host_alias} @cd ${host_builddir} && {\ - $(LN_S) ${host_headers} . || true ;\ + $(LN_S) ${host_headers} ${bits_host_headers} . || true ;\ $(LN_S) ${glibcxx_srcdir}/$(BASIC_FILE_H) basic_file.h || true ;\ $(LN_S) ${glibcxx_srcdir}/$(ALLOCATOR_H) c++allocator.h || true ;\ $(LN_S) ${glibcxx_srcdir}/$(CSTDIO_H) c++io.h || true ;\ @@ -1477,6 +1476,9 @@ $(LN_S) ${glibcxx_srcdir}/$(CMESSAGES_H) messages_members.h || true ;\ $(LN_S) ${glibcxx_srcdir}/$(CTIME_H) time_members.h || true;\ } 2>/dev/null + @cd ${host_builddir}/../ext && {\ + $(LN_S) ${ext_host_headers} . || true ;\ + } 2>/dev/null $(STAMP) stamp-host # Host includes dynamic. @@ -1688,9 +1690,12 @@ for file in ${profile_impl_headers}; do \ $(INSTALL_DATA) $${file} $(DESTDIR)${gxx_include_dir}/${profile_impl_builddir}; done $(mkinstalldirs) $(DESTDIR)${host_installdir} - for file in ${host_headers} ${host_headers_extra} \ + for file in ${host_headers} ${bits_host_headers} ${host_headers_extra} \ ${thread_host_headers}; do \ $(INSTALL_DATA) $${file} $(DESTDIR)${host_installdir}; done + $(mkinstalldirs) $(DESTDIR)${host_installdir}/../ext + for file in ${ext_host_headers}; do \ + $(INSTALL_DATA) $${file} $(DESTDIR)${host_installdir}/../ext; done # To remove directories. clean-local: --- a/src/libstdc++-v3/include/ext/random +++ b/src/libstdc++-v3/include/ext/random @@ -2848,7 +2848,7 @@ _GLIBCXX_END_NAMESPACE_VERSION } // namespace __gnu_cxx -#include "opt_random.h" +#include "ext/opt_random.h" #include "random.tcc" #endif // _GLIBCXX_USE_C99_STDINT_TR1