David Faure wrote: >I understand what you're saying - if it uses QtNetwork it should link > directly to it and not via kdecore. I agree with this, conceptually. > >But the practical problem is that on Linux it all links just fine via > kdecore, so the developers will never remember to add such explicit > links, since it "works for them" (tm).
That's no excuse. If you use a QtNetwork/ header, you must link to QtNetwork. It's really simple, especially since Qt is nice enough to put the headers in different places. Also note that the indirect linkage on Linux would eventually break when we get rid of Qt3Support in kdecore. The same goes for any indirect library that is not part of the API: we can rightfully change our dependencies without breaking Binary Compatibility. So, it's no excuse for not linking to your direct dependencies. > So the guys doing Mac OS (and > maybe Windows) porting will keep having to fix up CMakeLists to add > explicit linking afterwards - which breaks the idea of a cross-platform > build system IMHO; we should ensure that when it works somewhere it > works everywhere as much as possible. Like I said, it's also broken on ELF platforms too. It's just more difficult to notice. So I consider a good thing that the Mac and Windows developers will notice the problem and fix the Linux people's bugs. >Either by making the automatic resolving of dependencies available > everywhere, or by turning it off on linux (i.e. on all ELF systems, I > guess this means), but I don't know if that's possible. I can't see any option to do that with ld. We could accomplish it with an LSB-build-env-style library. That is, create a copy of libkdecore that has only dummy symbols (i.e., no code, etc.) and doesn't link to anything. That way, if we forget to link to a required library, linking will fail. -- Thiago Macieira - thiago (AT) macieira.info - thiago (AT) kde.org PGP/GPG: 0x6EF45358; fingerprint: E067 918B B660 DBD1 105C 966C 33F5 F005 6EF4 5358
pgpE2vA2luFNM.pgp
Description: PGP signature
_______________________________________________ Kde-buildsystem mailing list Kde-buildsystem@kde.org https://mail.kde.org/mailman/listinfo/kde-buildsystem