[ typo fixes in quoted text ] Hello Mattia, hello all, > Mattia Rizzolo has written on 12 November 2017 at 16:25: > > > On Wed, May 03, 2017 at 12:00:20PM +0200, Mattia Rizzolo wrote: > > I noticed that libpodofo exports symbols for all of its methods, which > > means that things like https://sourceforge.net/p/podofo/code/1838 > > actually break the ABI despite it not needed to, as that's a private > > method. > > > > > > It would be quite nice if somebody could go through all of the codebase, > > and do something like https://gcc.gnu.org/wiki/Visibility > > So, I had a chance to dig around a tiny bit, and discovered things about > PODOFO_LOCAL and PODOFO_API, which seem to exist with the exact purpose > of tweaking symbol visibility. > See the CODINGSTYLE.txt file. > > Though, all the interesting part of those macros are enabled only with > cmake's variable PODOFO_USE_VISIBILITY enabled, which is automatically > enabled only when cmake detects a GCC version 4.* with some weird code.
I have now abolished that "weird code" (my opinion also) in svn r1885 [1]. The CMake variable to set to express visibility support is now the unset PODOFO_HAVE_GCC_SYMBOL_VISIBILITY ("GCC" means "GCC-compatible" here). This variable should be set by a feature test in the CMakeLists.txt which I'm sorry for not being able to implement right now, I've never done such and would really like to contribute other fixes too (@Dom: until which time?). > So, one problem is that apparently that part doesn't consider that GCC > now changed versioning scheme.... Also that code calls `gcc --version` > unconditionally, so I'm wondering how that's going to work if I have > both gcc and clang installed but I'm compiling with an old version of > clang that doesn't support -fvisibility... So, that check needs an > overhaul to be useful again. Yes, I think the overhaul should be implementing a feature test for it. > > Anyway, starting from the next SONAME bump (i.e. podofo release) I'll be > manually setting -DPODOFO_USE_VISIBILITY, it seemed to remove a good I still hope that won't be necessary (@Dom or zyx: could you please put the feature test in?). > bunch of exported symbols, alas not that many, probably more > PODOFO_LOCAL and PODOFO_API are still needed through the codebase. Yes, probably, I hope that can still be changed after the release candidate. > > -- > regards, > Mattia Rizzolo > Best regards, mabri [1] https://sourceforge.net/p/podofo/code/1885/ ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ Podofo-users mailing list Podofo-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/podofo-users