Subject: Re: cannot build -current from Solaris 10
To: None <current-users@NetBSD.org>
From: Garrett D'Amore <garrett_damore@tadpole.com>
List: current-users
Date: 03/19/2006 17:10:57
Valeriy E. Ushakov wrote:
> On Sun, Mar 19, 2006 at 10:37:32 -0800, Garrett D'Amore wrote:
>
>   
>> Izumi Tsutsui wrote:
>>     
>>> In article <20060319061909.5607D23402@thoreau.thistledown.com.au>
>>> simonb@wasabisystems.com wrote:
>>>
>>>       
>>>> I don't think that using <stdio.h> is the best fix.  The tools stuff
>>>> detects the presence of <sys/cdefs.h> - maybe we can use that instead?
>>>>         
>
> Let me repeat my rhetorical question - why bother? :)
>   

Exactly.
>
>   
>> Yes, I know that.  But these tools don't follow the same "tools"
>> framework.  We can argue that they should, but I'm looking for the
>> easiest, quickest fix.
>>     
>
> Either make it congruent with other tools in tools/ subdirectory, or,
> as I proposed, just hide the whole COPYRIGHT block to be ignored when
> HOST_TOOL (hmm, and since we only even build them as HOST_TOOL...).
>   

That's the approach I'm taking now ... relying on HOST_TOOL. (And
defining HOST_CPPFLAGS in the appropriate Makefiles.

This works now.
>
>   
>>> and there are ifdefs against __COPYRIGHT() and __RCSID() macroes later,
>>> so maybe we could just change mkdctype.c in the same way.
>>>       
>> stdio.h includes sys/cdefs.h.  This is how some *other* files in these
>> directories make it work.
>>     
> [...]
>   
>> You still need the #ifdef checks, and these files have them.  But you
>> *also* need to only include files that are going to exist on the host. 
>> sys/cdefs.h is not guaranteed.  stdio.h *is* guaranteed.
>>
>> I don't understand why this change is controversial.
>>     
>
> AFAICT, __RCSID is *BSD macro.  Canonical way to use it is to include
> <sys/cdefs.h>.  Beginning of mkdctype.c is pretty much canonical way
> to do it.  Of course, that doesn't make much sense to do that on other
> systems (e.g. Solaris), hence my suggestion to hide that block under
> #ifndef HOST_TOOL.
>   

Yes. That works well.

> And as I said, the point is moot b/c those tools are only used during
> the build, so it's not *that* critical to embed copyright/rcsid
> information into them.
>   

Also agreed.

I've converted the stuff to use the HOST_TOOL framework. Can I commit
that change?

-- Garrett
> SY, Uwe
>   


-- 
Garrett D'Amore, Principal Software Engineer
Tadpole Computer / Computing Technologies Division,
General Dynamics C4 Systems
http://www.tadpolecomputer.com/
Phone: 951 325-2134  Fax: 951 325-2191