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

Submitted by Matthias Klose on May 12, 2013, 9:58 a.m.

Details

Message ID 518F67BF.8090500@ubuntu.com
State New
Headers show

Commit Message

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.

Comments

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 hide | download patch | download mbox

--- 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