summaryrefslogtreecommitdiff
path: root/cppuhelper
AgeCommit message (Collapse)Author
2019-01-11Get macOS building and packaging again. Following changes/fixes:Jim Jagielski
o Stop pretending/forcing *Nix shared lib versioning on macOS o Use smaller and more easily manageable temp temps by leveraging --headerpad dyld option o misc gbuild fixes Notes: ignore: aoo
2018-12-04Export the RTTI names and symbols for main/cppuhelper,Damjan Jovanovic
which it apparently needs to build on *nix. Patch by: me Notes: ignore: obsolete
2018-12-03Finally port main/cppuhelper to gbuild.Damjan Jovanovic
The problem before was apparently that including udkapi ended up using the solver headers, instead of our generated "comprehensive" headers. Patch by: me Notes: prefer: b222aa8fff63c803781703e72366ca203f3e6a76
2018-12-03Also export PropertySetMixinImpl::BoundListeners.Damjan Jovanovic
Patch by: me Notes: ignore: obsolete
2018-12-03After much experimentation, it was found that on WindowsDamjan Jovanovic
WeakImplHelper1 needs to be SAL_DLLPUBLIC_EXPORT to prevent multiple definition errors when building in debug mode as opposed to CPPUHELPER_DLLPUBLIC we would normally use. Without -DCPPUHELPER_DLLIMPLEMENTATION, the header's CPPUHELPER_DLLPUBLIC would become SAL_DLLPUBLIC_IMPORT, and on MSVC that presumbly causes symbols to be redefined and exported for some unknown reason, whereas when we use only SAL_DLLPUBLIC_EXPORT, it is exported in multiple modules, but at least when building those modules we won't get errors, as the modules' dependencies presumably aren't searched. This has no effect on FreeBSD and hopefully other platforms. Make all WeakImplHelper[1-12] SAL_DLLPUBLIC_EXPORT just in case. This need for mysterious platform-specific code attributes that affect the linker in undocumented ways really reveals a profound and terrible truth: how ugly, poor, flimsy, degenerate, twisted, dark, revolting and sick C++ remains as a language, even after decades of its development. Patch by: me Notes: prefer: 36627af621d46674273f44e2eb85731419a41cc1
2018-12-03Re-commit r1847839 and r1847840, with future patches on the way thatDamjan Jovanovic
will get the module building in gbuild and using source-level attributes to control symbol visibility. The original commit was worded as: Change default symbol visibility to hidden in main/cppuhelper, and export symbols using source-level attributes (SAL_DLLPUBLIC_EXPORT) instead. Stop using the .map file for Windows, and rely only on the above to control symbol visibility. This is not a perfect solution, as the exported symbols lack some typeinfos compared to before, but it doesn't seem to break anything, and a full symbol audit needs to be done later to fix other modules anyway. Also added some files to get it to build with gbuild, which are currently unused, as the gbuild build seems to break in main/i18npool. Patch by: me Notes: ignore: obsolete
2018-12-02Revert the main/cppuhelper symbol visibility changesDamjan Jovanovic
in 1847839 and 1847840 for now, as they break the Windows build in the most mysterious ways... Patch by: me Notes: ignore: aoo
2018-11-30Detect Win32 and Win64 properly in my last patch.Damjan Jovanovic
Patch by: me Notes: ignore: obsolete
2018-11-30Change default symbol visibility to hidden in main/cppuhelper, and exportDamjan Jovanovic
symbols using source-level attributes (SAL_DLLPUBLIC_EXPORT) instead. Stop using the .map file for Windows, and rely only on the above to control symbol visibility. This is not a perfect solution, as the exported symbols lack some typeinfos compared to before, but it doesn't seem to break anything, and a full symbol audit needs to be done later to fix other modules anyway. Also added some files to get it to build with gbuild, which are currently unused, as the gbuild build seems to break in main/i18npool. Patch by: me Notes: ignore: aoo
2018-11-29Fix duplication of file contents.Damjan Jovanovic
Patch by: me Notes: ignore: obsolete
2018-03-13Add back cppuhelper/source/msvc_win32_intel.mapDamjan Jovanovic
since we've rolled back to .map files for cpphelper's symbols. Patch by: me Notes: ignore: obsolete
2018-03-13Revert the main/cppuhelper related parts of:Damjan Jovanovic
r1826428 r1826398 for now, while I investigate why they produce multiple symbol errors on Windows when linking main/svtools. Patch by: me Notes: ignore: obsolete
2018-03-11Fix the main/cppuhelpr symbol version map checksDamjan Jovanovic
for Win32 and Win64. Patch by: me Notes: ignore: obsolete
2018-03-10tr;dr: Don't use .map files for main/cppuhelper on Windows, controlDamjan Jovanovic
symbol visibility using source-level declarations instead. C++ symbols are mangled differently on Win64 and Win32, and extracting new symbols from binaries and updating .DEF/.map files that control symbol visibility is painful. Both Windows and *nix have moved from using .DEF and .map files to using declarations in the source code instead, of the form __declspec(dllexport) and __attribute__ ((visibility("default"))) (which we wrap in SAL_DLLPUBLIC_EXPORT). The GBuild ported modules also have to replace .map files with source code declarations (and all so far have), as the default symbol visibility in GBuild is "hidden" and GBuild has no mechanism to use .map files so far. So for the purpose of the Win64 port, but as a generally good idea and a necessity for future GBuild ports, re-implement linker symbol visibility in main/cppuhelper using SAL_DLLPUBLIC_EXPORT declarations in the source code instead of using .map files. The purpose of .map files is to version symbols in the ELF binary format on *nix instead of just controlling visibility, so they still provide that benefit on *nix, but Windows has no symbol versioning, all dmake does with .map files is convert them to unversioned .DEF files, which are harder to maintain than source-level declarations (as they are both mangled and in a separate file, and have to be specified per method instead of only once per class). This turned out to cause trouble, as our autodoc tool doesn't have a C preprocessor, so the "CPPUHELPER_DLLPUBLIC" was breaking generating documentation, which was breaking the build due to documentation completeness checks in main/odk. Thus main/autodoc had to be patched to allow command line parameters passed to it to specify parsing tokens to ignore, and main/odk had to be patched to pass "CPPUHELPER_DLLPUBLIC" as the token to ignore. Patch by: me Notes: ignore: obsolete
2016-08-31In ExceptionThrower::throwException(), call ::cppu::throwException()Don Lewis
instead of recursing infinitely. Notes: prefer: 9598e9061f76439daa841f991fbec05412826971
2016-08-07Merge branches/gbuild-reintegration to trunk.Damjan Jovanovic
Notes: ignore: obsolete
2015-10-06#i125003# Remove some superfluous version.map files from tests. Google Test ↵Damjan Jovanovic
uses executables, not libraries, so they don't need version maps any more. Notes: ignore: googletest
2015-09-20#i125003# migrate main/cppuhelper/qa/propertysetmixin from cppunit to Google ↵Damjan Jovanovic
Test Notes: ignore: googletest
2015-09-15Add missing precompiled header includes in cppuhelper.Damjan Jovanovic
Notes: ignore: obsolete
2015-08-31Add a missing main() function to a main/cppuhelper test.Damjan Jovanovic
Notes: ignore: googletest
2015-08-29#i125003# migrate main/cppuhelper/qa/ifcontainer from cppunit to Google Test,Damjan Jovanovic
but don't run it on every build as an assertion outside the test fails during the test. Notes: ignore: googletest
2015-08-29#i125003# migrate main/cppuhelper/qa/unourl from cppunit to Google TestDamjan Jovanovic
and run it on every build. Notes: ignore: googletest
2015-08-29#i125003# migrate main/cppuhelper/qa/ifcontainer from cppunit to Google TestDamjan Jovanovic
and run it on every build. Notes: ignore: googletest
2014-04-29Many spelling fixes: directories a* - g*.Pedro Giffuni
Attempt to clean up most but certainly not all the spelling mistakes that found home in OpenOffice through decades. We could probably blame the international nature of the code but it is somewhat shameful that this wasn't done before. Notes: merged as: 0a1d822372927e3252f40b7a16590716ccc2eedd
2013-12-02#i122195# XContentEnumerationAccess is needed in UNO bootstrappingHerbert Dürr
stoc's OServiceManager has it as a base class so we really need XContentEnumerationAccess' "comprehensive" type description early. WeakMap priming enforces that now. Notes: prefer: d83de4b1a93ba7ed7bc3243073be3de96a44bfa9
2013-10-06Declare variables when needed to prevent compiler warnings.Pavel Janík
Notes: ignore: aoo
2013-09-27Add missing strlen.Pavel Janík
Notes: prefer: a66f9903bba9dc7eeff6683ebddcd34d4ad70068
2013-09-20#123283# check places where registry is check for office installationJürgen Schmidt
Notes: prefer: a66f9903bba9dc7eeff6683ebddcd34d4ad70068
2013-09-19#123283# improve finding default office path for Mac (no /usr/bin/soffice ↵Jürgen Schmidt
link), on Windows drop unoinfo and use the path from the registry directly Notes: prefer: a66f9903bba9dc7eeff6683ebddcd34d4ad70068
2013-06-27#122478# adapt search in registryJürgen Schmidt
Notes: prefer: a66f9903bba9dc7eeff6683ebddcd34d4ad70068
2013-05-08#i122208# use rtl::CStringHash and rtl::CStringEqual instead of relying on ↵Herbert Dürr
pre-tr1-stl specializations In stlport<=4 the functors hash and equal_to had specializions for conveniently handling c-strings. For consistency reasons this specialization was not included in the TR1 report and the C++11 standard. The two new helper functors are drop-in replacements for the old specializations. Notes: merged as: 1857688e1f4ba982d147a9cac69fad948361d1c0
2013-05-07fix signatures for copy-construction and assignment for the propertysetmixin ↵Herbert Dürr
classes the canonic way to disallow copy construction and assignment of an object is to declare unimplemented methods for them taking const references. Notes: merged as: 7725dddf05a9cbd3eb91d3bde45b22e4182b86dc
2013-04-26UNO bootstrapping requires some more comprehensive type-descriptionsHerbert Dürr
Notes: prefer: dee53a32a9feba2021782db5762b5a9a034efae4
2013-03-21fix case mismatch in include pathHerbert Dürr
Notes: prefer: dee53a32a9feba2021782db5762b5a9a034efae4
2013-03-20Workaround bootstrap needing "comprehensive" type descriptions for stuff ↵Herbert Dürr
used in bootstrapping Cppumaker and its brethren emit different implementations for the same symbol by design (!) which is quite... unfortunate and can confuse the heck out of dynamic linkers, debuggers, etc. For bootstrapping the so-called "comprehensive" type descriptions are needed. The workaround compels these descriptions to be registered in the so-called "WeakMap" before they are needed by the bootstrap operation. The proper and un-hacky solution would be to change cppumaker and its brethren to use different symbol names for different implementations. In particular "cppu_detail_getUnoType" should be divided into full, weak and mini implementations. For now there is no time to risk such a major overhaul of this system. Types that are candidates for this special workaround are the ones mentioned by the exceptions thrown from implbase_ex.cxx's __queryDeepNoXInterface() method. They also need to added to the makefile's UNOTYPES define so that the build magic requests the full type descriptions to be generated and used. Notes: prefer: dee53a32a9feba2021782db5762b5a9a034efae4
2013-02-21#121388# - adapt renaming: "Apache OpenOffice" --> "OpenOffice"Oliver-Rainer Wittmann
Notes: ignore: aoo
2013-01-10#121388# - Adapt naming "OpenOffice.org" --> "Apache OpenOffice"Oliver-Rainer Wittmann
-- impact on corresponding strings in the UI, folder names, package names, ... Notes: ignore: aoo
2012-03-31Update headers to Alv2 headersAndrew Rist
2012-03-30Update headers to Alv2 headersAndrew Rist
2012-03-29Update headers to Alv2 headersAndrew Rist
2012-03-28Added AL2 license.Andre Fischer
2012-02-18i118923 - OS/2 port: new link system now uses unix style.Yuri Dario
2012-02-16remove svn:executable properties from remaining non-exec filesHerbert Dürr
2012-02-16remove svn:executable properties from misc non-exec filesHerbert Dürr
2012-02-15remove svn:executable properties from make and pack filesHerbert Dürr
2012-02-15remove svn:executable properties from source filesHerbert Dürr
2012-01-17Update headers to Alv2 headersAndrew Rist
2012-01-12Update headers to Alv2 headersAndrew Rist
2012-01-12Update headers to Alv2 headersAndrew Rist
2012-01-12Update headers to Alv2 headersAndrew Rist