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
