[vlc-devel] [PATCH] libvlc/core: Use a revision.h in build dir instead of .c file
Marvin Scholz
epirat07 at gmail.com
Fri Jun 21 22:03:13 CEST 2019
On 21 Jun 2019, at 21:21, Rémi Denis-Courmont wrote:
> Le vendredi 21 juin 2019, 12:18:01 EEST Marvin Scholz a écrit :
>> I mainly need this change for meson and I do not want the
>> code to diverge between the meson branch and our current
>> buildsystem.
>
> I utterly fail to see how this relates to Meson TBH.
Hi, sorry I guess my explanation was a bit confusing.
>
> (...)
>> If the file is a .c file though, meson will compile + link
>> the file into both libraries. The problem with that is that
>> lib/core.c additionally includes the .c file, so now the
>> library would end up with the symbol twice, one time from the
>> linked revision.o, one time from the included revision.c,
>> which will fail to link.
>
> No it won't fail to link - unless you messed something else up.
>
> It's perfectly fine to have the same extern symbol in an underlying
> library,
Yeah the issue is not the two libraries, thats completely fine.
> indeed even if it is statically linked. What's not fine is having the
> same
> extern symbols in multiple objects of the *same* library/executable.
Yes thats exactly what I meant what happens with meson. Adding the
generated
revision.c to the libvlc sources (which I have to, for it to properly
depend
on it) and on top of that including it in lib/core.c will effectively
cause the
symbol to be present twice in the libraries object files (revision.o and
core.o),
which will fail to link.
>
> And that's really down to linker requirements, has nothing to do with
> the
> build system.
The issue is basically that I can not have a generated source file (.c)
just as
dependency of a lib/exe without it getting built/linked into it. (At
least not
easily)
With a header file this is a non-issue as it does not implicitly builds
that.
Maybe a different solution instead of renaming to .h could be to remove
the
include in lib/core.c and instead add revision.c as source of libvlc in
the
automake Makefile?
>
> --
> Rémi Denis-Courmont
>
>
> _______________________________________________
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
> https://mailman.videolan.org/listinfo/vlc-devel
More information about the vlc-devel
mailing list