Hi,

On Wed, Oct 3, 2012 at 9:07 AM, Diego Biurrun <di...@biurrun.de> wrote:
> On Wed, Oct 03, 2012 at 08:49:30AM -0700, Ronald S. Bultje wrote:
>> On Wed, Oct 3, 2012 at 8:43 AM, Diego Biurrun <di...@biurrun.de> wrote:
>> > On Wed, Oct 03, 2012 at 08:31:43AM -0700, Ronald S. Bultje wrote:
>> >> On Wed, Oct 3, 2012 at 7:44 AM, Måns Rullgård <m...@mansr.com> wrote:
>> >> > "Ronald S. Bultje" <rsbul...@gmail.com> writes:
>> >> >> These AVCODEC_SYMBOL things will be used in public headers, thus the
>> >> >> definition needs t exist in a public header. Since I need to use
>> >> >> __declspec(dllimport) only for .dll (shared) builds, not for .lib
>> >> >> (static) builds, I need to know in a public header whether I'm a
>> >> >> shared lib or not - hence AV_HAVE_SHARED_LIBS (I added that to
>> >> >> configure, based on CONFIG_SHARED).
>> >> >
>> >> > That reasoning is flawed.  What if you have both static and shared?
>> >>
>> >> What is CONFIG_SHARED then? Schroedinger's cat?
>> >
>> > An indication that shared libraries shall be built.  It is, however,
>> > independent of CONFIG_STATIC; hence you cannot use it as an indication
>> > that only shared libraries are built.
>> >
>> > It's not clear to me if you need an indication whether shared libs are
>> > available or whether *only* shared libs are available.
>>
>> Like Derek said, you can't do both on MSVC. The object files have
>> different semantics (see __declspec(dllimport)) and are not binary
>> compatible (most notably, a __declspec(dllimport) int variable; isn't
>> actually an integer; it's a pointer to the integer in the dll where it
>> actually resides).
>
> Does configure fail if you enable both at the same time?  I don't think
> so; that should be addressed.

I can certainly add that.

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

Reply via email to