Mail Archives: cygwin-apps/2002/05/20/04:40:52
Danny Smith wrote:
>>>I'd say go ahead and turn on auto-import in CVS and remove the
>>>
>>warning,
>>
>>>Chuck. I've gotten approval from Nick Clifton to do this if we
>>>
>>agree
>>
>>>it's a good idea.
>>>
>>>It's obviously a good idea.
>>>
>
> I disagree that is a good idea.
Two ideas:
1) making auto-import the default
2) turning off the warnings
You appear to not like either one. I don't really care about the
warnings, but the auto-import thing should be default. However, I
wonder how long these "warnings" are going to persist. Using
auto-import is not a *bug* or *oops, I forgot to declspec() something*
-- it's the way DLLs are done.
I look at auto-import as "the new and better and more unixlike way of
building shared libs". You seem to view them as "nice feature, but you
really ought to do it the old-fashioned way". In my view, the warnings
go away eventually -- they were just there during the "trial phase",
which has now stretched to a REALLY long time. In your view, the
warnings are TRUE warnings about BAD programming practice, and stay forever.
> I like to now about unresolved data
> references. I would really like to see how --auto-import works with
> new C++ ABI before I am comfortable with that switch being on by
> default.
Well, now, that's something I hadn't considered. Good point. Warnings
should probably stay, then. But that doesn't mean that auto-import
shouldn't become the default.
> I've been playing with a little trick of marking _functions_ in def
> files as DATA so that only the _imp__foo name is visible in the import
> lib. This lets me hide some of the bogons in MS libs so that I can use
> the standard function names in a better behaved replacement version
> without any worry of duplicated definitions, but still get to the MS
> one when I need to. Never mind, I can find another trick. I won't use
> gcc -shared to build those libs but use dlltool instead.
Urg. Your current solution sounds extremely hackish. Surely there's a
better way that doesn't involve (a) marking functions as DATA (b)
relying on --disable-auto-import being the default. double urg.
> At least I think the warnings should be active by default.
Given the uncertainty about the new C++ ABI in gcc-3.x, I guess you're
right.
--Chuck
- Raw text -