e8b9bcf021
Because I want to make more symbols private, but that runs into a problem with the special symbol "typeinfo for Foo" which is required for dynamic_cast. For clang, we can use SAL_DLLPUBLIC_RTTI to make just that magic "typeinfo for Foo" symbol visible. But for gcc, we are left with no option but to make the whole class visible via <MODULE>_DLLPUBLIC. (I have a feature request logged against gcc to support something like that at https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113958) But I also don't want to use <MODULE>_DLLPUBLIC, since that blocks progress of reducing symbol visibility for platforms other than gcc. So map SAL_DLLPUBLIC_RTTI to visiblity:default for gcc, which means that only gcc suffers the negative affects of not having that annotation. However, that runs into the problem that gcc does not like visibility:default in a couple of places, so I have to introduce some extra preprocessor stuff. Change-Id: Ib4fc5c1d2a1f8cf87d5159a4b5684137ec061605 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164356 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> |
||
---|---|---|
.. | ||
source | ||
test/javamaker | ||
Executable_cppumaker.mk | ||
Executable_javamaker.mk | ||
Makefile | ||
Module_codemaker.mk | ||
README.md | ||
StaticLibrary_codemaker.mk | ||
StaticLibrary_codemaker_cpp.mk | ||
StaticLibrary_codemaker_java.mk |
Language Code Generators for UNOIDL Entities
Generators for language-binding--specific representations of UNOIDL entities:
cppumaker
generates header (.hdl
and.hpp
) files for the C++ UNO language bindingjavamaker
generates class files for the JVM language binding- the codemaker for .NET is in module
cli_ure
Some of the code is re-used by the skeletonmakers in module unodevtools
.
Note the different terminology used by cppumaker vs. gbuild for the three variants that can be generated by cppumaker for some of the inline functions:
cppumaker switch: -L; cpputype.cxx: light; gbuild: normal;
cppumaker switch: none; cpputype.cxx: normal; gbuild: bootstrap;
cppumaker switch: -C; cpputype.cxx: comprehensive; gbuild: comprehensive;
which can be a source of confusion.