[v3] libstdc++/22554/23734

David Edelsohn dje@watson.ibm.com
Tue Sep 13 18:28:00 GMT 2005


>>>>> bkoz  writes:

Ben> Please write a patch.

	If you want to avoid re-copying the headers, you need something
like the appended.

	By the way, the original

stamp-assoc: ${assoc_headers}

dependency does not make a lot of sense.  First, it re-copies all headers
if one header has changed, so it does not provide any granularity.
Second, the [ ! -f stamp-assoc ] test prevents replacing the headers if
the stamp file exists, even if the headers are newer.

Thanks, David


	* include/Makefile.am (stamp-assoc): Install each subgroup
	of headers separately. 

Index: Makefile.am
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/include/Makefile.am,v
retrieving revision 1.106
diff -c -p -r1.106 Makefile.am
*** Makefile.am	12 Sep 2005 23:09:38 -0000	1.106
--- Makefile.am	13 Sep 2005 18:20:03 -0000
*************** stamp-ext: ${ext_headers}
*** 744,772 ****
  stamp-assoc:
  	@if [ ! -d "${assoc_builddir}" ]; then \
  	    mkdir -p ${assoc_subdirs} ;\
! 	fi ;\
! 	if [ ! -f stamp-assoc ]; then \
! 	  (cd ${assoc_builddir} && for h in ${assoc_headers1}; do \
! 	    build_name=`echo $$h | sed -e "s|${assoc_srcdir}|.|g"` ;\
! 	    $(LN_S) $$h $${build_name} || true ;\
! 	  done) ;\
! 	  (cd ${assoc_builddir} && for h in ${assoc_headers2}; do \
! 	    build_name=`echo $$h | sed -e "s|${assoc_srcdir}|.|g"` ;\
! 	    $(LN_S) $$h $${build_name} || true ;\
! 	  done) ;\
! 	  (cd ${assoc_builddir} && for h in ${assoc_headers3}; do \
! 	    build_name=`echo $$h | sed -e "s|${assoc_srcdir}|.|g"` ;\
! 	    $(LN_S) $$h $${build_name} || true ;\
! 	  done) ;\
! 	  (cd ${assoc_builddir} && for h in ${assoc_headers4}; do \
! 	    build_name=`echo $$h | sed -e "s|${assoc_srcdir}|.|g"` ;\
! 	    $(LN_S) $$h $${build_name} || true ;\
! 	  done) ;\
! 	  (cd ${assoc_builddir} && for h in ${assoc_headers5}; do \
! 	    build_name=`echo $$h | sed -e "s|${assoc_srcdir}|.|g"` ;\
! 	    $(LN_S) $$h $${build_name} || true ;\
! 	  done) ;\
! 	fi ;\
  	$(STAMP) stamp-assoc
  
  stamp-tr1: ${tr1_headers}
--- 744,780 ----
  stamp-assoc:
  	@if [ ! -d "${assoc_builddir}" ]; then \
  	    mkdir -p ${assoc_subdirs} ;\
! 	fi
! 	@if [ ! -f stamp-assoc ]; then \
! 	    cd ${assoc_builddir} && for h in ${assoc_headers1}; do \
! 		build_name=`echo $$h | sed -e "s|${assoc_srcdir}|.|g"` ;\
! 		$(LN_S) $$h $${build_name} || true ;\
! 	      done
! 	fi
! 	@if [ ! -f stamp-assoc ]; then \
! 	    cd ${assoc_builddir} && for h in ${assoc_headers2}; do \
! 		build_name=`echo $$h | sed -e "s|${assoc_srcdir}|.|g"` ;\
! 		$(LN_S) $$h $${build_name} || true ;\
! 	      done
! 	fi
! 	@if [ ! -f stamp-assoc ]; then \
! 	    cd ${assoc_builddir} && for h in ${assoc_headers3}; do \
! 		build_name=`echo $$h | sed -e "s|${assoc_srcdir}|.|g"` ;\
! 		$(LN_S) $$h $${build_name} || true ;\
! 	      done
! 	fi
! 	@if [ ! -f stamp-assoc ]; then \
! 	    cd ${assoc_builddir} && for h in ${assoc_headers4}; do \
! 		build_name=`echo $$h | sed -e "s|${assoc_srcdir}|.|g"` ;\
! 		$(LN_S) $$h $${build_name} || true ;\
! 	      done
! 	fi
! 	@if [ ! -f stamp-assoc ]; then \
! 	    cd ${assoc_builddir} && for h in ${assoc_headers5}; do \
! 		build_name=`echo $$h | sed -e "s|${assoc_srcdir}|.|g"` ;\
! 		$(LN_S) $$h $${build_name} || true ;\
! 	      done
! 	fi
  	$(STAMP) stamp-assoc
  
  stamp-tr1: ${tr1_headers}



More information about the Libstdc++ mailing list