David Faure wrote: >I thought we didn't want to use those macros because Qt's definition of > "a compiler that supports hidden visibility" and KDE's definition > varied a little bit. At least they did in qt3/kde3 times because kde > was hitting bugs in some versions of gcc where hidden-visibility was > however implemented good enough for qt's needs (which are less than > kde's needs). Dirk probably has more concrete details about this, but I > think it does make sense to keep this distinction since after all we > have our own configure check for whether gcc supports > hidden-visibility, so in case there's any mismatch between what qt > detected and what kde detected, things might not compile.
I have investigated a bit and you're correct: our requirements on gcc are stronger than Qt's because our source code is a bit more lax. However, I do wonder why Qt isn't affected by gcc bug 19664... they use STL sometimes too. Anyways, this has also shown to me that the extra macro requirements I was about to impose will not work on x86-64. And they will break on i386 whenever a global variable is used. On the other hand, I'll be writing a report in the form of "best practices in C++" so that we avoid the extra symbols. If we follow them, we may be able to re-enable visibility on the platforms where it's disabled now. -- Thiago Macieira - thiago (AT) macieira.info - thiago (AT) kde.org PGP/GPG: 0x6EF45358; fingerprint: E067 918B B660 DBD1 105C 966C 33F5 F005 6EF4 5358
pgptKvmWyG9rR.pgp
Description: PGP signature
_______________________________________________ Kde-buildsystem mailing list Kde-buildsystem@kde.org https://mail.kde.org/mailman/listinfo/kde-buildsystem