This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [v3] libstdc++/22554/23734


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]