Local linking notes ... TODO: + Why not: + all constructors operators etc. still 'inline'. + just 'getType' etc. shared ... + CPPU_INTERNAL_INLINE ? + throw/catch will generate all except info ... + if (do_internal) ... + Minimal changes - go the other way [!] + (foo) + Need different guards in .hpp & .hppi files + and no redundancy [!] + [ since .hppi files cascade include .hpp ] + FIXME: should aIncludes be built in all 'dumpFiles' non-chaining overrides ? + .hidden symbols (?) + Different approach ? [1] + emit #ifdefs into the .hpp files (?) - so they do ~nothing ;-) + API re-factoring (?) + [foo] + + [ specific to header ? => back compat ? ] + [ fewer changes / conditionals etc. ] + Fixes include issues ... + no need to change 'inlines' though ... + nothing explicitely inline + Don't emit stuff for polymorphic foo: + whack the static method data out there + doesn't matter if there's a duplicate [I hope] + XInterface.hdl + - very problematic - ... + WOW ! + removing the ::com::sun::star::uno::Type const & cppu_detail_getUnoType(::com::sun::star::uno::XInterface const *); + prototype from XInterface.idl - makes it build ! + hpp different from .hdl + keep both [!?] + different in include depth + add 'bGenImpl' flag to dumpHxxFile + we want -all- include files + we want -all- C named typenames etc. + Looking good bug evil bugs: ../unxlngi6.pro/inc/com/sun/star/corba/iiop/Version.hppi: In constructor ‘com::sun::star::corba::iiop::Version::Version()’: ../unxlngi6.pro/inc/com/sun/star/corba/iiop/Version.hppi:31: error: class ‘com::sun::star::corba::iiop::Version’ does not have any field named ‘gnu_dev_major’ ../unxlngi6.pro/inc/com/sun/star/corba/iiop/Version.hppi:32: error: class ‘com::sun::star::corba::iiop::Version’ does not have any field named ‘gnu_dev_minor’ ... Pre-processor nightmare from: sys/sysmacros.h:extern __inline unsigned int gnu_dev_major (unsigned long long int __dev) sys/sysmacros.h:extern __inline unsigned long long int gnu_dev_makedev (unsigned int __major, sys/sysmacros.h:__NTH (gnu_dev_major (unsigned long long int __dev)) sys/sysmacros.h:__NTH (gnu_dev_makedev (unsigned int __major, unsigned int __minor)) sys/sysmacros.h:# define major(dev) gnu_dev_major (dev) sys/sysmacros.h:# define makedev(maj, min) gnu_dev_makedev (maj, min) from sys/types.h from stdlib.h from sal/config.h ... ../unxlngi6.pro/inc/com/sun/star/drawing/CaptionEscapeDirection.hdl: At global scope: ../unxlngi6.pro/inc/com/sun/star/drawing/CaptionEscapeDirection.hdl:19: error: expected unqualified-id before ‘=’ token + startup speedup: + 1st pass + generate unotypes.so + soffice.bin - link vs. that. + ensure it is dlopened' global before + any other library is opened [?] + include all .hpp files + remove 'inline' keywords + generate dummy / empty .hpp files + *.hppi files (?) + hpp impl. + un-inline constructors etc. + link all uno components to it + do as patch: then cws-commit-patch + 2nd pass + remove types.rdb (6Mb) and export types from unotypes.so + [ link soffice.bin to it ? ] + link all uno components to it ? + Very odd problem: + foo has: + GOTOFF - + 'offset of this foo inside my library' + just can't be done: we don't define that symbol + so *why* is it generating a GOTOFF reloc ? 000002eb 00004509 R_386_GOTOFF 00000000 com::sun::star::uno::RuntimeException::~RuntimeException() ... + As we generate the 'throw RuntimeException' + we have to (it seems) have the exception type info + and GOTOFF pointers to stuff ... + also - all these construct / destroy routines are ~empty (?) + or are they ?