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: PATCH: libstdc++/5697


In article <Pine.BSF.4.44.0202191743310.20373-100000@naos.dbai.tuwien.ac.at>,
Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at> writes:

> I am getting kind of nervous when I see new bootstrap failures introduced
> directly before the branch date for a release.

Let us not overstate the problem please.  I feel bad enough having
broken your semi-quirky colon-in-objdir by basically undoing my own
patch from 2001-08-10, but I am almost sure that you are the sole
person I broke (BTW, three sets of eyes looked at the patch).

> This might be related to my builddir having a colon in the directory name.

Almost assuredly.  Here is the exact patch thunk that broke you:

< ${target_builddir}/c++config.h: ../config.h \
---
> ${target_builddir}/c++config.h: ${glibcpp_builddir}/config.h \

This was done to make the rule match the files as used in the action.
It was my own work that introduced the inconsistency (and, yes, should
have been commented).  Inconsistency was not a good enough reason to
touch it.  I was actually updating all rules to match reality and that
one looked obviously wrong to me.

The patch below makes them consistent and uses the proper automake way
to obtain the CONFIG_HEADER instead of attempting to construct its
name using ad hoc methods (if a colon ever slips in the correct way to
refer to that file, you will need to bug automake people not me).
Tested in fully bootstrapped tree.  Applied as obvious.

BTW, are you aware that if you have a colon in your srcdir, many
Makefiles in gcc will break?  Also, are you aware that if you have a
colon in your target triple, many Makefiles in gcc will break?  I know
these things by trivial visual inspection.  I am beginning to wonder...

Regards,
Loren

2002-02-19  Loren Rittle <ljrittle@acm.org>

	* include/Makefile.am: Use CONFIG_HEADER instead of ad hoc names.
	* include/Makefile.in: Rebuilt.

Index: include/Makefile.am
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/include/Makefile.am,v
retrieving revision 1.29
diff -c -r1.29 Makefile.am
*** Makefile.am	2002/02/18 20:23:56	1.29
--- Makefile.am	2002/02/19 21:26:23
***************
*** 362,368 ****
  	fi
  
  # Target includes dynamic.
! ${target_builddir}/c++config.h: ${glibcpp_builddir}/config.h \
  				${glibcpp_srcdir}/include/bits/c++config \
  				stamp-${target_alias}
  	@cat ${glibcpp_srcdir}/include/bits/c++config > $@ ;\
--- 362,368 ----
  	fi
  
  # Target includes dynamic.
! ${target_builddir}/c++config.h: ${CONFIG_HEADER} \
  				${glibcpp_srcdir}/include/bits/c++config \
  				stamp-${target_alias}
  	@cat ${glibcpp_srcdir}/include/bits/c++config > $@ ;\
***************
*** 370,376 ****
  	    -e 's/PACKAGE/_GLIBCPP_PACKAGE/g' \
  	    -e 's/VERSION/_GLIBCPP_VERSION/g' \
  	    -e 's/WORDS_/_GLIBCPP_WORDS_/g' \
! 	    < ${glibcpp_builddir}/config.h >> $@ ;\
  	echo "#endif // _CPP_CPPCONFIG_" >>$@
  
  # Target includes for threads
--- 370,376 ----
  	    -e 's/PACKAGE/_GLIBCPP_PACKAGE/g' \
  	    -e 's/VERSION/_GLIBCPP_VERSION/g' \
  	    -e 's/WORDS_/_GLIBCPP_WORDS_/g' \
! 	    < ${CONFIG_HEADER} >> $@ ;\
  	echo "#endif // _CPP_CPPCONFIG_" >>$@
  
  # Target includes for threads


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