[patch] install host specific {bits,ext}/opt_random.h headers in host specific c++ incdir
Matthias Klose
doko@ubuntu.com
Tue May 21 08:26:00 GMT 2013
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
-------------- next part --------------
# DP: Install host specific libstdc++ headers into the host include dir
2013-05-11 Matthias Klose <doko@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
More information about the Libstdc++
mailing list