stdcxx-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Martin Sebor <se...@roguewave.com>
Subject Re: terminate.h config test header
Date Tue, 06 May 2008 18:11:14 GMT
Travis Vitek wrote:
>  
> 
>> Eric Lemings wrote:
>>
>> Try this:
>>
>>    cd $SRCDIR/etc/config/src && grep -2 'terminate\.h' *
>>
>> Note that every #include for this header is wrapped by the same #if
>> directives.  Wouldn't it make sense to move all of these nested if
>> directives into the header itself and just always include the header?
>>
>> For example:
>>
>> 	file etc/config/src/terminate.h:
>> 	...
>> 	#include "config.h"
>>
>> 	#ifndef _RWSTD_NO_HONOR_STD
>> 	#  ifdef _RWSTD_NO_STD_TERMINATE
>>
>> 	namespace std {
>>
>> 	void terminate ()
>> 	{
>> 	    ...
>> 	}
>>
>> 	}   // namespace std
>>
>> 	#  endif   // _RWSTD_NO_STD_TERMINATE
>> 	#endif   // _RWSTD_NO_HONOR_STD
>>
>> Just a thought.
>>
>> Brad.
>>
> 
> Normally this would be the right thing to do, but the build system
> actually uses the #ifndef you see there to establish a dependency on
> other config tests (see GNUmakefile.cfg). In the above example, this
> test depends on the config tests HONOR_STD.cpp and STD_TERMINATE.cpp
> being run before this particular test is compiled.

Right. See http://issues.apache.org/jira/browse/STDCXX-674

Martin

> 
> If this were to change it would require a small change to the build
> infrastructure. I'd prefer to see a list of dependencies written as
> comments near the top of the file instead, but that is just me.


Mime
View raw message