Hi,

On Tue, Oct 2, 2012 at 7:07 PM, Luca Barbato <lu_z...@gentoo.org> wrote:
> On 10/03/2012 03:47 AM, Diego Elio Pettenò wrote:
>> On 02/10/2012 18:40, Luca Barbato wrote:
>>>
>>> The patch was rejected since it was _really_ invasive and after lots of
>>> back and forth we ended up with pattern matching and code w/out any
>>> explicit marking.
>>
>> Which is actually done at link time instead than at compile time. Now
>> going with compile time declaration brings us at least a couple of
>> things: a) LTO-enabled compilers should be able then to know what is
>> internal and what is exported; b) tools like my missingstatic can rely
>> on the hidden flag to know what is supposed to be used or static.
>>
>> On the other hand it seems Ronald's patch is for the other side, i.e.
>> the importing of the symbols, not the exporting..
>>
>
> As I said, Ronald approach covers the minimal amount of changes needed
> to achieve a specific need (shared libraries in windows), I'd rather to
> cover everything at once and make it useful for everybody.
>
> Here my take on the subject, the sed expression to convert the codebase
> is left for when I'm less sleepy and if there is enough traction to go
> that way.

A symbol exported from avcodec may be imported in avformat, I don't
think your patch handles that case. I.e. rather than having av_api,
you'd need avcodec_api, avformat_api, etc., to indicate in which dll a
particular symbol resides.

As for the more generic question, yes I'd like to be able to mark all
symbols (functions as well as tables) as exported or imported, but
foresee quite some resistance so I didn't go that way right now. If
others like that, we can certainly go down that route.

Ronald
_______________________________________________
libav-devel mailing list
libav-devel@libav.org
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to