Patchwork install host specific {bits,ext}/opt_random.h headers in host specific c++ incdir

login
register
mail settings
Submitter Matthias Klose
Date May 12, 2013, 9:58 a.m.
Message ID <518F67BF.8090500@ubuntu.com>
Download mbox | patch
Permalink /patch/243166/
State New
Headers show

Comments

Matthias Klose - May 12, 2013, 9:58 a.m.
{bits,ext}/opt_random.h became host specific in 4.8, but are still installed
into the host independent c++ include dir.  install them into the host specific
include dir instead.  Ok for 4.8 and trunk?

  Matthias
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.
Matthias Klose - May 17, 2013, 7:36 a.m.
ping?

Am 12.05.2013 11:58, schrieb Matthias Klose:
> {bits,ext}/opt_random.h became host specific in 4.8, but are still installed
> into the host independent c++ include dir.  install them into the host specific
> include dir instead.  Ok for 4.8 and trunk?
> 
>   Matthias
>
Paolo Carlini - May 18, 2013, 7:31 p.m.
Hi,

On 05/12/2013 11:58 AM, Matthias Klose wrote:
> {bits,ext}/opt_random.h became host specific in 4.8, but are still installed
> into the host independent c++ include dir.  install them into the host specific
> include dir instead.  Ok for 4.8 and trunk?
I think it's Ok, yes, but let's do mainline only, for now at least.

Thanks!
Paolo.
Matthias Klose - May 19, 2013, 12:06 a.m.
Am 18.05.2013 21:31, schrieb Paolo Carlini:
> Hi,
> 
> On 05/12/2013 11:58 AM, Matthias Klose wrote:
>> {bits,ext}/opt_random.h became host specific in 4.8, but are still installed
>> into the host independent c++ include dir.  install them into the host specific
>> include dir instead.  Ok for 4.8 and trunk?
> I think it's Ok, yes, but let's do mainline only, for now at least.

committed for the trunk.  please lets reconsider this before the 4.8.2 release.

  Matthias
Andreas Schwab - May 19, 2013, 9:35 a.m.
Tests that now fail, but worked before:

ext/random/arcsine_distribution/cons/default.cc (test for excess errors)
ext/random/arcsine_distribution/cons/parms.cc (test for excess errors)
ext/random/arcsine_distribution/operators/equal.cc (test for excess errors)
ext/random/arcsine_distribution/operators/inequal.cc (test for excess errors)
ext/random/arcsine_distribution/operators/serialize.cc (test for excess errors)
ext/random/arcsine_distribution/requirements/explicit_instantiation/1.cc (test for excess errors)
ext/random/arcsine_distribution/requirements/typedefs.cc (test for excess errors)
ext/random/beta_distribution/cons/default.cc (test for excess errors)
ext/random/beta_distribution/cons/parms.cc (test for excess errors)
ext/random/beta_distribution/operators/equal.cc (test for excess errors)
ext/random/beta_distribution/operators/inequal.cc (test for excess errors)
ext/random/beta_distribution/operators/serialize.cc (test for excess errors)
ext/random/beta_distribution/requirements/explicit_instantiation/1.cc (test for excess errors)
ext/random/beta_distribution/requirements/typedefs.cc (test for excess errors)
ext/random/hoyt_distribution/cons/default.cc (test for excess errors)
ext/random/hoyt_distribution/cons/parms.cc (test for excess errors)
ext/random/hoyt_distribution/operators/equal.cc (test for excess errors)
ext/random/hoyt_distribution/operators/inequal.cc (test for excess errors)
ext/random/hoyt_distribution/operators/serialize.cc (test for excess errors)
ext/random/hoyt_distribution/requirements/explicit_instantiation/1.cc (test for excess errors)
ext/random/hoyt_distribution/requirements/typedefs.cc (test for excess errors)
ext/random/k_distribution/cons/default.cc (test for excess errors)
ext/random/k_distribution/cons/parms.cc (test for excess errors)
ext/random/k_distribution/operators/equal.cc (test for excess errors)
ext/random/k_distribution/operators/inequal.cc (test for excess errors)
ext/random/k_distribution/operators/serialize.cc (test for excess errors)
ext/random/k_distribution/requirements/explicit_instantiation/1.cc (test for excess errors)
ext/random/k_distribution/requirements/typedefs.cc (test for excess errors)
ext/random/nakagami_distribution/cons/default.cc (test for excess errors)
ext/random/nakagami_distribution/cons/parms.cc (test for excess errors)
ext/random/nakagami_distribution/operators/equal.cc (test for excess errors)
ext/random/nakagami_distribution/operators/inequal.cc (test for excess errors)
ext/random/nakagami_distribution/operators/serialize.cc (test for excess errors)
ext/random/nakagami_distribution/requirements/explicit_instantiation/1.cc (test for excess errors)
ext/random/nakagami_distribution/requirements/typedefs.cc (test for excess errors)
ext/random/normal_mv_distribution/cons/default.cc (test for excess errors)
ext/random/normal_mv_distribution/cons/parms.cc (test for excess errors)
ext/random/normal_mv_distribution/operators/equal.cc (test for excess errors)
ext/random/normal_mv_distribution/operators/inequal.cc (test for excess errors)
ext/random/normal_mv_distribution/operators/serialize.cc (test for excess errors)
ext/random/normal_mv_distribution/requirements/explicit_instantiation/1.cc (test for excess errors)
ext/random/normal_mv_distribution/requirements/typedefs.cc (test for excess errors)
ext/random/pareto_distribution/cons/default.cc (test for excess errors)
ext/random/pareto_distribution/cons/parms.cc (test for excess errors)
ext/random/pareto_distribution/operators/equal.cc (test for excess errors)
ext/random/pareto_distribution/operators/inequal.cc (test for excess errors)
ext/random/pareto_distribution/operators/serialize.cc (test for excess errors)
ext/random/pareto_distribution/requirements/explicit_instantiation/1.cc (test for excess errors)
ext/random/pareto_distribution/requirements/typedefs.cc (test for excess errors)
ext/random/rice_distribution/cons/default.cc (test for excess errors)
ext/random/rice_distribution/cons/parms.cc (test for excess errors)
ext/random/rice_distribution/operators/equal.cc (test for excess errors)
ext/random/rice_distribution/operators/inequal.cc (test for excess errors)
ext/random/rice_distribution/operators/serialize.cc (test for excess errors)
ext/random/rice_distribution/requirements/explicit_instantiation/1.cc (test for excess errors)
ext/random/rice_distribution/requirements/typedefs.cc (test for excess errors)
ext/random/simd_fast_mersenne_twister_engine/cons/copy.cc (test for excess errors)
ext/random/simd_fast_mersenne_twister_engine/cons/default.cc (test for excess errors)
ext/random/simd_fast_mersenne_twister_engine/cons/seed1.cc (test for excess errors)
ext/random/simd_fast_mersenne_twister_engine/cons/seed2.cc (test for excess errors)
ext/random/simd_fast_mersenne_twister_engine/cons/seed_seq.cc (test for excess errors)
ext/random/simd_fast_mersenne_twister_engine/operators/equal.cc (test for excess errors)
ext/random/simd_fast_mersenne_twister_engine/operators/inequal.cc (test for excess errors)
ext/random/simd_fast_mersenne_twister_engine/operators/serialize.cc (test for excess errors)
ext/triangular_distribution/cons/default.cc (test for excess errors)
ext/triangular_distribution/cons/parms.cc (test for excess errors)
ext/triangular_distribution/operators/equal.cc (test for excess errors)
ext/triangular_distribution/operators/inequal.cc (test for excess errors)
ext/triangular_distribution/operators/serialize.cc (test for excess errors)
ext/triangular_distribution/requirements/explicit_instantiation/1.cc (test for excess errors)
ext/triangular_distribution/requirements/typedefs.cc (test for excess errors)
ext/von_mises_distribution/cons/default.cc (test for excess errors)
ext/von_mises_distribution/cons/parms.cc (test for excess errors)
ext/von_mises_distribution/operators/equal.cc (test for excess errors)
ext/von_mises_distribution/operators/inequal.cc (test for excess errors)
ext/von_mises_distribution/operators/serialize.cc (test for excess errors)
ext/von_mises_distribution/requirements/explicit_instantiation/1.cc (test for excess errors)
ext/von_mises_distribution/requirements/typedefs.cc (test for excess errors)

Andreas.
Paolo Carlini - May 19, 2013, 9:40 a.m.
On 05/19/2013 11:35 AM, Andreas Schwab wrote:
> Tests that now fail, but worked before:
Thanks Andreas. Matthias, please revert ASAP, thanks.

Paolo.

Patch

--- libstdc++-v3/include/Makefile.am	(revision 198799)
+++ libstdc++-v3/include/Makefile.am	(working copy)
@@ -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