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