diff options
author | maho <maho@FreeBSD.org> | 2005-01-24 19:44:27 +0800 |
---|---|---|
committer | maho <maho@FreeBSD.org> | 2005-01-24 19:44:27 +0800 |
commit | 132867b6a5ce1e7ac05474443b46010cc9299a9a (patch) | |
tree | 52c1735a2b0f4321e5facbe48f65be0fb717df43 | |
parent | cdb1b4c090b5df6ba88f8eea882fa0ed267f7a7e (diff) | |
download | freebsd-ports-gnome-132867b6a5ce1e7ac05474443b46010cc9299a9a.tar.gz freebsd-ports-gnome-132867b6a5ce1e7ac05474443b46010cc9299a9a.tar.zst freebsd-ports-gnome-132867b6a5ce1e7ac05474443b46010cc9299a9a.zip |
update to 1.9m73
96 files changed, 60 insertions, 16620 deletions
diff --git a/editors/openoffice-2.0-devel/Makefile b/editors/openoffice-2.0-devel/Makefile index c563bd2c2beb..e6be311f3b31 100644 --- a/editors/openoffice-2.0-devel/Makefile +++ b/editors/openoffice-2.0-devel/Makefile @@ -19,7 +19,7 @@ EXTRACT_ONLY= OOo_${RELEASE_NR}m${MILESTONE}_source.tar.bz2 MAINTAINER= openoffice@FreeBSD.org COMMENT?= Integrated wordprocessor/dbase/spreadheet/drawing/chart/browser(developer version) -SNAPDATE= 20050119 +SNAPDATE= 20050123 NO_LATEST_LINK= yes USE_GNOME= gtk20 MOZILLA_PROJECT= cws_srx645_mozooo.20041016.tar.gz @@ -49,7 +49,7 @@ BROKEN= "rtld depends on _end symbol. type make -DBROKEN to see how to upgrade CODELINE= 680 RELEASE_NR= 1.9 -MILESTONE= 72 +MILESTONE= 73 INSTALLATION_BASEDIR= openoffice.org${RELEASE_NR}m${MILESTONE} EXECBASE= openoffice.org-${RELEASE_NR}m${MILESTONE} DIST_SUBDIR= openoffice.org2.0 diff --git a/editors/openoffice-2.0-devel/distinfo b/editors/openoffice-2.0-devel/distinfo index 8b7774bf8f23..c9e7f5358b88 100644 --- a/editors/openoffice-2.0-devel/distinfo +++ b/editors/openoffice-2.0-devel/distinfo @@ -1,5 +1,5 @@ -MD5 (openoffice.org2.0/OOo_1.9m72_source.tar.bz2) = c51fa9d749f1e5eb3733d50b91f97fe8 -SIZE (openoffice.org2.0/OOo_1.9m72_source.tar.bz2) = 233690890 +MD5 (openoffice.org2.0/OOo_1.9m73_source.tar.bz2) = 0885bb45bd204b03b16f8276cbd922e0 +SIZE (openoffice.org2.0/OOo_1.9m73_source.tar.bz2) = 233756500 MD5 (openoffice.org2.0/gpc231.tar.Z) = fdb06fdb5a4670b172f9fb738b717be9 SIZE (openoffice.org2.0/gpc231.tar.Z) = 27917 MD5 (openoffice.org2.0/cws_srx645_mozooo.20041016.tar.gz) = eda0ab73b24c45890ae08bdfe04049bd diff --git a/editors/openoffice-2.0-devel/files/Makefile.knobs b/editors/openoffice-2.0-devel/files/Makefile.knobs index 5b9c07e3afce..0afc3acadf7e 100644 --- a/editors/openoffice-2.0-devel/files/Makefile.knobs +++ b/editors/openoffice-2.0-devel/files/Makefile.knobs @@ -19,7 +19,7 @@ CONFIGURE_ARGS+= --enable-cups .if defined(ALL_LOCALIZED_LANGS) CONFIGURE_ARGS+= --with-lang="en-US ar ca cs da de el es et fi fr he hi-IN hu it ja ko pl pt pt-BR ru sk sl sv th tr zh-CN zh-TW" -#following langs still seem to be under development +#following langs still seem to be under development #af bg cy eo eu gl kn-IN lt nb nl nn ns tn zu #CONFIGURE_ARGS+= --with-lang=ALL .else diff --git a/editors/openoffice-2.0-devel/files/patch-config_office+set_soenv.in b/editors/openoffice-2.0-devel/files/patch-config_office+set_soenv.in deleted file mode 100644 index 9b2a97774dc1..000000000000 --- a/editors/openoffice-2.0-devel/files/patch-config_office+set_soenv.in +++ /dev/null @@ -1,25 +0,0 @@ -#iZ and CWS -o http://www.openoffice.org/issues/show_bug.cgi?id=37731 -o http://eis.services.openoffice.org/EIS2/servlet/cws.ShowCWS?Id=2030&Path=SRC680%2Fpj16 -o pj16 - -Description -Do not export LINK to environment - -Index: config_office/set_soenv.in -=================================================================== -RCS file: /cvs/tools/config_office/set_soenv.in,v -retrieving revision 1.31 -diff -u -r1.31 set_soenv.in ---- config_office/set_soenv.in 5 Jan 2005 12:10:00 -0000 1.31 -+++ config_office/set_soenv.in 9 Jan 2005 18:51:24 -0000 -@@ -1684,9 +1684,6 @@ - ToFile( "CC", $CC, "e" ); - ToFile( "CXX", $CXX, "e" ); - ToFile( "USE_SYSTEM_STL", "@USE_SYSTEM_STL@", "e" ); --if ( $COM ne "MSC" ) { -- ToFile( "LINK", $CC, "e" ); --} - ToFile( "ENABLE_SYMBOLS", "@ENABLE_SYMBOLS@", "e" ); - ToFile( "ENABLE_CRASHDUMP", "@ENABLE_CRASHDUMP@", "e" ); - ToFile( "ENABLE_CUPS", "@ENABLE_CUPS@", "e" ); diff --git a/editors/openoffice-2.0-devel/files/patch-project-bridges b/editors/openoffice-2.0-devel/files/patch-project-bridges deleted file mode 100644 index 890cab171898..000000000000 --- a/editors/openoffice-2.0-devel/files/patch-project-bridges +++ /dev/null @@ -1,1004 +0,0 @@ -#iZ and CWS -o http://www.openoffice.org/issues/show_bug.cgi?id=40178 - -Description -catch up recent version of -bridges/source/cpp_uno/gcc3_linux_intel/cpp2uno.cxx -Only difference is: -- rtti = (type_info *)dlsym( m_hApp, symName.getStr() ); -+ rtti = (type_info *)dlsym( RTLD_DEFAULT, symName.getStr() ); -#iZ 22253 for reason why we changed m_hApp to RTLD_DEFAULT - -Index: bridges/source/cpp_uno/gcc3_freebsd_intel/cpp2uno.cxx -=================================================================== -RCS file: /cvs/udk/bridges/source/cpp_uno/gcc3_freebsd_intel/cpp2uno.cxx,v -retrieving revision 1.3 -diff -u -r1.3 cpp2uno.cxx ---- bridges/source/cpp_uno/gcc3_freebsd_intel/cpp2uno.cxx 28 Apr 2003 16:28:20 -0000 1.3 -+++ bridges/source/cpp_uno/gcc3_freebsd_intel/cpp2uno.cxx 27 Dec 2004 06:05:52 -0000 -@@ -2,9 +2,9 @@ - * - * $RCSfile: cpp2uno.cxx,v $ - * -- * $Revision: 1.3 $ -+ * $Revision: 1.6 $ - * -- * last change: $Author: hr $ $Date: 2003/04/28 16:28:20 $ -+ * last change: $Author: obo $ $Date: 2004/06/04 02:59:45 $ - * - * The Contents of this file are made available subject to the terms of - * either of the following licenses -@@ -59,34 +59,26 @@ - * - ************************************************************************/ - --#include <hash_map> -- --#include <sal/alloca.h> --#include <rtl/alloc.h> --#include <osl/mutex.hxx> -- -+#include <com/sun/star/uno/genfunc.hxx> -+#include "com/sun/star/uno/RuntimeException.hpp" - #include <uno/data.h> - #include <typelib/typedescription.hxx> - --#include <bridges/cpp_uno/bridge.hxx> --#include <bridges/cpp_uno/type_misc.hxx> -+#include "bridges/cpp_uno/shared/bridge.hxx" -+#include "bridges/cpp_uno/shared/cppinterfaceproxy.hxx" -+#include "bridges/cpp_uno/shared/types.hxx" -+#include "bridges/cpp_uno/shared/vtablefactory.hxx" - - #include "share.hxx" - -- --using namespace ::osl; --using namespace ::rtl; - using namespace ::com::sun::star::uno; - --namespace CPPU_CURRENT_NAMESPACE -+namespace - { - - //================================================================================================== --rtl_StandardModuleCount g_moduleCount = MODULE_COUNT_INIT; -- --//================================================================================================== - static typelib_TypeClass cpp2uno_call( -- cppu_cppInterfaceProxy * pThis, -+ bridges::cpp_uno::shared::CppInterfaceProxy * pThis, - const typelib_TypeDescription * pMemberTypeDescr, - typelib_TypeDescriptionReference * pReturnTypeRef, // 0 indicates void return - sal_Int32 nParams, typelib_MethodParameter * pParams, -@@ -106,7 +98,7 @@ - - if (pReturnTypeDescr) - { -- if (cppu_isSimpleType( pReturnTypeDescr )) -+ if (bridges::cpp_uno::shared::isSimpleType( pReturnTypeDescr )) - { - pUnoReturn = pRegisterReturn; // direct way for simple types - } -@@ -115,7 +107,8 @@ - pCppReturn = *(void **)pCppStack; - pCppStack += sizeof(void *); - -- pUnoReturn = (cppu_relatesToInterface( pReturnTypeDescr ) -+ pUnoReturn = (bridges::cpp_uno::shared::relatesToInterfaceType( -+ pReturnTypeDescr ) - ? alloca( pReturnTypeDescr->nSize ) - : pCppReturn); // direct way - } -@@ -141,7 +134,9 @@ - typelib_TypeDescription * pParamTypeDescr = 0; - TYPELIB_DANGER_GET( &pParamTypeDescr, rParam.pTypeRef ); - -- if (!rParam.bOut && cppu_isSimpleType( pParamTypeDescr )) // value -+ if (!rParam.bOut -+ && bridges::cpp_uno::shared::isSimpleType( pParamTypeDescr )) -+ // value - { - pCppArgs[nPos] = pCppStack; - pUnoArgs[nPos] = pCppStack; -@@ -168,11 +163,12 @@ - ppTempParamTypeDescr[nTempIndizes++] = pParamTypeDescr; - } - // is in/inout -- else if (cppu_relatesToInterface( pParamTypeDescr )) -+ else if (bridges::cpp_uno::shared::relatesToInterfaceType( -+ pParamTypeDescr )) - { - uno_copyAndConvertData( pUnoArgs[nPos] = alloca( pParamTypeDescr->nSize ), - *(void **)pCppStack, pParamTypeDescr, -- &pThis->pBridge->aCpp2Uno ); -+ pThis->getBridge()->getCpp2Uno() ); - pTempIndizes[nTempIndizes] = nPos; // has to be reconverted - // will be released at reconversion - ppTempParamTypeDescr[nTempIndizes++] = pParamTypeDescr; -@@ -192,7 +188,8 @@ - uno_Any * pUnoExc = &aUnoExc; - - // invoke uno dispatch call -- (*pThis->pUnoI->pDispatcher)( pThis->pUnoI, pMemberTypeDescr, pUnoReturn, pUnoArgs, &pUnoExc ); -+ (*pThis->getUnoI()->pDispatcher)( -+ pThis->getUnoI(), pMemberTypeDescr, pUnoReturn, pUnoArgs, &pUnoExc ); - - // in case an exception occured... - if (pUnoExc) -@@ -209,7 +206,9 @@ - if (pReturnTypeDescr) - TYPELIB_DANGER_RELEASE( pReturnTypeDescr ); - -- raiseException( &aUnoExc, &pThis->pBridge->aUno2Cpp ); // has to destruct the any -+ CPPU_CURRENT_NAMESPACE::raiseException( -+ &aUnoExc, pThis->getBridge()->getUno2Cpp() ); -+ // has to destruct the any - // is here for dummy - return typelib_TypeClass_VOID; - } -@@ -226,7 +225,7 @@ - // convert and assign - uno_destructData( pCppArgs[nIndex], pParamTypeDescr, cpp_release ); - uno_copyAndConvertData( pCppArgs[nIndex], pUnoArgs[nIndex], pParamTypeDescr, -- &pThis->pBridge->aUno2Cpp ); -+ pThis->getBridge()->getUno2Cpp() ); - } - // destroy temp uno param - uno_destructData( pUnoArgs[nIndex], pParamTypeDescr, 0 ); -@@ -239,7 +238,7 @@ - if (pUnoReturn != pCppReturn) // needs reconversion - { - uno_copyAndConvertData( pCppReturn, pUnoReturn, pReturnTypeDescr, -- &pThis->pBridge->aUno2Cpp ); -+ pThis->getBridge()->getUno2Cpp() ); - // destroy temp uno return - uno_destructData( pUnoReturn, pReturnTypeDescr, 0 ); - } -@@ -260,38 +259,41 @@ - - //================================================================================================== - static typelib_TypeClass cpp_mediate( -- sal_Int32 nVtableCall, -+ sal_Int32 nFunctionIndex, -+ sal_Int32 nVtableOffset, - void ** pCallStack, - sal_Int64 * pRegisterReturn /* space for register return */ ) - { - OSL_ENSURE( sizeof(sal_Int32)==sizeof(void *), "### unexpected!" ); - - // pCallStack: ret adr, [ret *], this, params -- // _this_ ptr is patched cppu_XInterfaceProxy object -- cppu_cppInterfaceProxy * pCppI = NULL; -- if( nVtableCall & 0x80000000 ) -+ void * pThis; -+ if( nFunctionIndex & 0x80000000 ) - { -- nVtableCall &= 0x7fffffff; -- pCppI = (cppu_cppInterfaceProxy *)(XInterface *)*(pCallStack +2); -+ nFunctionIndex &= 0x7fffffff; -+ pThis = pCallStack[2]; - } - else - { -- pCppI = (cppu_cppInterfaceProxy *)(XInterface *)*(pCallStack +1); -+ pThis = pCallStack[1]; - } -+ pThis = static_cast< char * >(pThis) - nVtableOffset; -+ bridges::cpp_uno::shared::CppInterfaceProxy * pCppI -+ = bridges::cpp_uno::shared::CppInterfaceProxy::castInterfaceToProxy( -+ pThis); - -- typelib_InterfaceTypeDescription * pTypeDescr = pCppI->pTypeDescr; -+ typelib_InterfaceTypeDescription * pTypeDescr = pCppI->getTypeDescr(); - -- OSL_ENSURE( nVtableCall < pTypeDescr->nMapFunctionIndexToMemberIndex, "### illegal vtable index!" ); -- if (nVtableCall >= pTypeDescr->nMapFunctionIndexToMemberIndex) -+ OSL_ENSURE( nFunctionIndex < pTypeDescr->nMapFunctionIndexToMemberIndex, "### illegal vtable index!" ); -+ if (nFunctionIndex >= pTypeDescr->nMapFunctionIndexToMemberIndex) - { - throw RuntimeException( -- OUString::createFromAscii("illegal vtable index!"), -- (XInterface *)pCppI ); -+ rtl::OUString::createFromAscii("illegal vtable index!"), -+ (XInterface *)pThis ); - } - - // determine called method -- OSL_ENSURE( nVtableCall < pTypeDescr->nMapFunctionIndexToMemberIndex, "### illegal vtable index!" ); -- sal_Int32 nMemberPos = pTypeDescr->pMapFunctionIndexToMemberIndex[nVtableCall]; -+ sal_Int32 nMemberPos = pTypeDescr->pMapFunctionIndexToMemberIndex[nFunctionIndex]; - OSL_ENSURE( nMemberPos < pTypeDescr->nAllMembers, "### illegal member index!" ); - - TypeDescription aMemberDescr( pTypeDescr->ppAllMembers[nMemberPos] ); -@@ -301,7 +303,7 @@ - { - case typelib_TypeClass_INTERFACE_ATTRIBUTE: - { -- if (pTypeDescr->pMapMemberIndexToFunctionIndex[nMemberPos] == nVtableCall) -+ if (pTypeDescr->pMapMemberIndexToFunctionIndex[nMemberPos] == nFunctionIndex) - { - // is GET method - eRet = cpp2uno_call( -@@ -330,7 +332,7 @@ - case typelib_TypeClass_INTERFACE_METHOD: - { - // is METHOD -- switch (nVtableCall) -+ switch (nFunctionIndex) - { - case 1: // acquire() - pCppI->acquireProxy(); // non virtual call! -@@ -347,9 +349,10 @@ - if (pTD) - { - XInterface * pInterface = 0; -- (*pCppI->pBridge->pCppEnv->getRegisteredInterface)( -- pCppI->pBridge->pCppEnv, -- (void **)&pInterface, pCppI->oid.pData, (typelib_InterfaceTypeDescription *)pTD ); -+ (*pCppI->getBridge()->getCppEnv()->getRegisteredInterface)( -+ pCppI->getBridge()->getCppEnv(), -+ (void **)&pInterface, pCppI->getOid().pData, -+ (typelib_InterfaceTypeDescription *)pTD ); - - if (pInterface) - { -@@ -378,8 +381,8 @@ - default: - { - throw RuntimeException( -- OUString::createFromAscii("no member description found!"), -- (XInterface *)pCppI ); -+ rtl::OUString::createFromAscii("no member description found!"), -+ (XInterface *)pThis ); - // is here for dummy - eRet = typelib_TypeClass_VOID; - } -@@ -393,12 +396,15 @@ - * is called on incoming vtable calls - * (called by asm snippets) - */ --static void cpp_vtable_call( int nTableEntry, void** pCallStack ) __attribute__((regparm(2))); -+static void cpp_vtable_call( -+ int nFunctionIndex, int nVtableOffset, void** pCallStack ) -+ __attribute__((regparm(3))); - --void cpp_vtable_call( int nTableEntry, void** pCallStack ) -+void cpp_vtable_call( int nFunctionIndex, int nVtableOffset, void** pCallStack ) - { - volatile long nRegReturn[2]; -- typelib_TypeClass aType = cpp_mediate( nTableEntry, pCallStack, (sal_Int64*)nRegReturn ); -+ typelib_TypeClass aType = cpp_mediate( -+ nFunctionIndex, nVtableOffset, pCallStack, (sal_Int64*)nRegReturn ); - - switch( aType ) - { -@@ -434,161 +440,103 @@ - - - //================================================================================================== --class MediateClassData --{ -- typedef ::std::hash_map< OUString, void *, OUStringHash > t_classdata_map; -- t_classdata_map m_map; -- Mutex m_mutex; -- --public: -- void const * get_vtable( typelib_InterfaceTypeDescription * pTD ) SAL_THROW( () ); -- -- inline MediateClassData() SAL_THROW( () ) -- {} -- ~MediateClassData() SAL_THROW( () ); --}; --//__________________________________________________________________________________________________ --MediateClassData::~MediateClassData() SAL_THROW( () ) -+int const codeSnippetSize = 20; -+ -+unsigned char * codeSnippet( -+ unsigned char * code, sal_Int32 functionIndex, sal_Int32 vtableOffset, -+ bool simpleRetType) - { -- OSL_TRACE( "> calling ~MediateClassData(): freeing mediate vtables." ); -- -- for ( t_classdata_map::const_iterator iPos( m_map.begin() ); iPos != m_map.end(); ++iPos ) -- { -- ::rtl_freeMemory( iPos->second ); -- } -+ if (!simpleRetType) { -+ functionIndex |= 0x80000000; -+ } -+ unsigned char * p = code; -+ OSL_ASSERT(sizeof (sal_Int32) == 4); -+ // mov function_index, %eax: -+ *p++ = 0xB8; -+ *reinterpret_cast< sal_Int32 * >(p) = functionIndex; -+ p += sizeof (sal_Int32); -+ // mov vtable_offset, %edx: -+ *p++ = 0xBA; -+ *reinterpret_cast< sal_Int32 * >(p) = vtableOffset; -+ p += sizeof (sal_Int32); -+ // mov %esp, %ecx: -+ *p++ = 0x89; -+ *p++ = 0xE1; -+ // jmp cpp_vtable_call: -+ *p++ = 0xE9; -+ *reinterpret_cast< sal_Int32 * >(p) -+ = ((unsigned char *) cpp_vtable_call) - p - sizeof (sal_Int32); -+ p += sizeof (sal_Int32); -+ OSL_ASSERT(p - code <= codeSnippetSize); -+ return code + codeSnippetSize; - } --//-------------------------------------------------------------------------------------------------- --static inline void codeSnippet( char * code, sal_uInt32 vtable_pos, bool simple_ret_type ) SAL_THROW( () ) --{ -- if (! simple_ret_type) -- vtable_pos |= 0x80000000; -- OSL_ASSERT( sizeof (long) == 4 ); -- // mov $nPos, %eax -- *code++ = 0xb8; -- *(long *)code = vtable_pos; -- code += sizeof (long); -- // mov %esp, %edx -- *code++ = 0x89; -- *code++ = 0xe2; -- // jmp cpp_vtable_call -- *code++ = 0xe9; -- *(long *)code = ((char *)cpp_vtable_call) - code - sizeof (long); -+ - } --//__________________________________________________________________________________________________ --void const * MediateClassData::get_vtable( typelib_InterfaceTypeDescription * pTD ) SAL_THROW( () ) --{ -- void * buffer; -- -- // avoiding locked counts -- OUString const & unoName = *(OUString const *)&((typelib_TypeDescription *)pTD)->pTypeName; -- { -- MutexGuard aGuard( m_mutex ); -- t_classdata_map::const_iterator iFind( m_map.find( unoName ) ); -- if (iFind == m_map.end()) -- { -- // create new vtable -- sal_Int32 nSlots = pTD->nMapFunctionIndexToMemberIndex; -- buffer = ::rtl_allocateMemory( ((2+ nSlots) * sizeof (void *)) + (nSlots *20) ); -- -- ::std::pair< t_classdata_map::iterator, bool > insertion( -- m_map.insert( t_classdata_map::value_type( unoName, buffer ) ) ); -- OSL_ENSURE( insertion.second, "### inserting new vtable buffer failed?!" ); -- -- void ** slots = (void **)buffer; -- *slots++ = 0; -- *slots++ = 0; // rtti -- char * code = (char *)(slots + nSlots); -- -- sal_uInt32 vtable_pos = 0; -- sal_Int32 nAllMembers = pTD->nAllMembers; -- typelib_TypeDescriptionReference ** ppAllMembers = pTD->ppAllMembers; -- for ( sal_Int32 nPos = 0; nPos < nAllMembers; ++nPos ) -- { -- typelib_TypeDescription * pTD = 0; -- TYPELIB_DANGER_GET( &pTD, ppAllMembers[ nPos ] ); -- OSL_ASSERT( pTD ); -- if (typelib_TypeClass_INTERFACE_ATTRIBUTE == pTD->eTypeClass) -- { -- bool simple_ret = cppu_isSimpleType( -- ((typelib_InterfaceAttributeTypeDescription *)pTD)->pAttributeTypeRef->eTypeClass ); -- // get method -- *slots++ = code; -- codeSnippet( code, vtable_pos++, simple_ret ); -- code += 20; -- if (! ((typelib_InterfaceAttributeTypeDescription *)pTD)->bReadOnly) -- { -- // set method -- *slots++ = code; -- codeSnippet( code, vtable_pos++, true ); -- code += 20; -- } -- } -- else -+ -+void ** bridges::cpp_uno::shared::VtableFactory::mapBlockToVtable(char * block) -+{ -+ return reinterpret_cast< void ** >(block) + 2; -+} -+ -+char * bridges::cpp_uno::shared::VtableFactory::createBlock( -+ sal_Int32 slotCount, void *** slots) -+{ -+ char * block = new char[ -+ (slotCount + 2) * sizeof (void *) + slotCount * codeSnippetSize]; -+ *slots = mapBlockToVtable(block); -+ (*slots)[-2] = 0; -+ (*slots)[-1] = 0; -+ return block; -+} -+ -+unsigned char * bridges::cpp_uno::shared::VtableFactory::addLocalFunctions( -+ void ** slots, unsigned char * code, -+ typelib_InterfaceTypeDescription const * type, sal_Int32 functionOffset, -+ sal_Int32 functionCount, sal_Int32 vtableOffset) -+{ -+ for (sal_Int32 i = 0; i < type->nMembers; ++i) { -+ typelib_TypeDescription * member = 0; -+ TYPELIB_DANGER_GET(&member, type->ppMembers[i]); -+ OSL_ASSERT(member != 0); -+ switch (member->eTypeClass) { -+ case typelib_TypeClass_INTERFACE_ATTRIBUTE: -+ // Getter: -+ *slots++ = code; -+ code = codeSnippet( -+ code, functionOffset++, vtableOffset, -+ bridges::cpp_uno::shared::isSimpleType( -+ reinterpret_cast< -+ typelib_InterfaceAttributeTypeDescription * >( -+ member)->pAttributeTypeRef)); -+ // Setter: -+ if (!reinterpret_cast< -+ typelib_InterfaceAttributeTypeDescription * >( -+ member)->bReadOnly) - { -- bool simple_ret = cppu_isSimpleType( -- ((typelib_InterfaceMethodTypeDescription *)pTD)->pReturnTypeRef->eTypeClass ); - *slots++ = code; -- codeSnippet( code, vtable_pos++, simple_ret ); -- code += 20; -+ code = codeSnippet(code, functionOffset++, vtableOffset, true); - } -- TYPELIB_DANGER_RELEASE( pTD ); -+ break; -+ -+ case typelib_TypeClass_INTERFACE_METHOD: -+ *slots++ = code; -+ code = codeSnippet( -+ code, functionOffset++, vtableOffset, -+ bridges::cpp_uno::shared::isSimpleType( -+ reinterpret_cast< -+ typelib_InterfaceMethodTypeDescription * >( -+ member)->pReturnTypeRef)); -+ break; -+ -+ default: -+ OSL_ASSERT(false); -+ break; - } -- OSL_ASSERT( vtable_pos == nSlots ); -- } -- else -- { -- buffer = iFind->second; -- } -+ TYPELIB_DANGER_RELEASE(member); - } -- -- return ((void **)buffer +2); --} -- --//================================================================================================== --void SAL_CALL cppu_cppInterfaceProxy_patchVtable( -- XInterface * pCppI, typelib_InterfaceTypeDescription * pTypeDescr ) throw () --{ -- static MediateClassData * s_pMediateClassData = 0; -- if (! s_pMediateClassData) -- { -- MutexGuard aGuard( Mutex::getGlobalMutex() ); -- if (! s_pMediateClassData) -- { --#ifdef LEAK_STATIC_DATA -- s_pMediateClassData = new MediateClassData(); --#else -- static MediateClassData s_aMediateClassData; -- s_pMediateClassData = &s_aMediateClassData; --#endif -- } -- } -- *(void const **)pCppI = s_pMediateClassData->get_vtable( pTypeDescr ); --} -- -+ return code; - } - --extern "C" --{ --//################################################################################################## --sal_Bool SAL_CALL component_canUnload( TimeValue * pTime ) -- SAL_THROW_EXTERN_C() --{ -- return CPPU_CURRENT_NAMESPACE::g_moduleCount.canUnload( -- &CPPU_CURRENT_NAMESPACE::g_moduleCount, pTime ); --} --//################################################################################################## --void SAL_CALL uno_initEnvironment( uno_Environment * pCppEnv ) -- SAL_THROW_EXTERN_C() --{ -- CPPU_CURRENT_NAMESPACE::cppu_cppenv_initEnvironment( -- pCppEnv ); --} --//################################################################################################## --void SAL_CALL uno_ext_getMapping( -- uno_Mapping ** ppMapping, uno_Environment * pFrom, uno_Environment * pTo ) -- SAL_THROW_EXTERN_C() --{ -- CPPU_CURRENT_NAMESPACE::cppu_ext_getMapping( -- ppMapping, pFrom, pTo ); --} --} -+void bridges::cpp_uno::shared::VtableFactory::flushCode( -+ unsigned char const *, unsigned char const *) -+{} -Index: bridges/source/cpp_uno/gcc3_freebsd_intel/except.cxx -=================================================================== -RCS file: /cvs/udk/bridges/source/cpp_uno/gcc3_freebsd_intel/except.cxx,v -retrieving revision 1.4 -diff -u -r1.4 except.cxx ---- bridges/source/cpp_uno/gcc3_freebsd_intel/except.cxx 28 Apr 2003 16:41:25 -0000 1.4 -+++ bridges/source/cpp_uno/gcc3_freebsd_intel/except.cxx 27 Dec 2004 06:05:52 -0000 -@@ -2,9 +2,9 @@ - * - * $RCSfile: except.cxx,v $ - * -- * $Revision: 1.4 $ -+ * $Revision: 1.10 $ - * -- * last change: $Author: hr $ $Date: 2003/04/28 16:41:25 $ -+ * last change: $Author: obo $ $Date: 2004/06/04 02:59:59 $ - * - * The Contents of this file are made available subject to the terms of - * either of the following licenses -@@ -69,7 +69,8 @@ - #include <osl/diagnose.h> - #include <osl/mutex.hxx> - --#include <bridges/cpp_uno/bridge.hxx> -+#include <com/sun/star/uno/genfunc.hxx> -+#include "com/sun/star/uno/RuntimeException.hpp" - #include <typelib/typedescription.hxx> - #include <uno/any2.h> - -@@ -147,7 +148,7 @@ - }; - //__________________________________________________________________________________________________ - RTTI::RTTI() SAL_THROW( () ) -- : m_hApp( dlopen( 0, RTLD_LAZY ) ) -+ : m_hApp( dlopen( 0, RTLD_NOW | RTLD_GLOBAL ) ) - { - } - //__________________________________________________________________________________________________ -@@ -182,7 +183,8 @@ - buf.append( 'E' ); - - OString symName( buf.makeStringAndClear() ); -- rtti = (type_info *)dlsym( m_hApp, symName.getStr() ); -+//#iZ 22253 -+ rtti = (type_info *)dlsym( RTLD_DEFAULT, symName.getStr() ); - - if (rtti) - { -@@ -253,7 +255,7 @@ - //================================================================================================== - void raiseException( uno_Any * pUnoExc, uno_Mapping * pUno2Cpp ) - { --#if defined DEBUG -+#if OSL_DEBUG_LEVEL > 1 - OString cstr( - OUStringToOString( - *reinterpret_cast< OUString const * >( &pUnoExc->pType->pTypeName ), -@@ -275,7 +277,7 @@ - *reinterpret_cast< OUString const * >( &pUnoExc->pType->pTypeName ), - Reference< XInterface >() ); - } -- -+ - pCppExc = __cxa_allocate_exception( pTypeDescr->nSize ); - ::uno_copyAndConvertData( pCppExc, pUnoExc->pData, pTypeDescr, pUno2Cpp ); - -@@ -321,16 +323,16 @@ - Reference< XInterface >() ); - Type const & rType = ::getCppuType( &aRE ); - uno_type_any_constructAndConvert( pUnoExc, &aRE, rType.getTypeLibType(), pCpp2Uno ); --#if defined _DEBUG -+#if OSL_DEBUG_LEVEL > 0 - OString cstr( OUStringToOString( aRE.Message, RTL_TEXTENCODING_ASCII_US ) ); - OSL_ENSURE( 0, cstr.getStr() ); - #endif - return; - } -- -+ - typelib_TypeDescription * pExcTypeDescr = 0; - OUString unoName( toUNOname( header->exceptionType->name() ) ); --#if defined DEBUG -+#if OSL_DEBUG_LEVEL > 1 - OString cstr_unoName( OUStringToOString( unoName, RTL_TEXTENCODING_ASCII_US ) ); - fprintf( stderr, "> c++ exception occured: %s\n", cstr_unoName.getStr() ); - #endif -@@ -342,7 +344,7 @@ - Reference< XInterface >() ); - Type const & rType = ::getCppuType( &aRE ); - uno_type_any_constructAndConvert( pUnoExc, &aRE, rType.getTypeLibType(), pCpp2Uno ); --#if defined _DEBUG -+#if OSL_DEBUG_LEVEL > 0 - OString cstr( OUStringToOString( aRE.Message, RTL_TEXTENCODING_ASCII_US ) ); - OSL_ENSURE( 0, cstr.getStr() ); - #endif -Index: bridges/source/cpp_uno/gcc3_freebsd_intel/makefile.mk -=================================================================== -RCS file: /cvs/udk/bridges/source/cpp_uno/gcc3_freebsd_intel/makefile.mk,v -retrieving revision 1.2 -diff -u -r1.2 makefile.mk ---- bridges/source/cpp_uno/gcc3_freebsd_intel/makefile.mk 18 Mar 2003 19:06:52 -0000 1.2 -+++ bridges/source/cpp_uno/gcc3_freebsd_intel/makefile.mk 27 Dec 2004 06:05:52 -0000 -@@ -2,9 +2,9 @@ - # - # $RCSfile: makefile.mk,v $ - # --# $Revision: 1.2 $ -+# $Revision: 1.3 $ - # --# last change: $Author: hr $ $Date: 2003/03/18 19:06:52 $ -+# last change: $Author: hr $ $Date: 2004/02/03 12:37:41 $ - # - # The Contents of this file are made available subject to the terms of - # either of the following licenses -@@ -95,10 +95,8 @@ - SHL1IMPLIB=i$(TARGET) - SHL1VERSIONMAP=..$/..$/bridge_exports.map - --SHL1OBJS= \ -- $(SLO)$/except.obj \ -- $(SLO)$/cpp2uno.obj \ -- $(SLO)$/uno2cpp.obj -+SHL1OBJS = $(SLOFILES) -+SHL1LIBS = $(SLB)$/cpp_uno_shared.lib - - SHL1STDLIBS= \ - $(CPPULIB) \ -Index: bridges/source/cpp_uno/gcc3_freebsd_intel/share.hxx -=================================================================== -RCS file: /cvs/udk/bridges/source/cpp_uno/gcc3_freebsd_intel/share.hxx,v -retrieving revision 1.2 -diff -u -r1.2 share.hxx ---- bridges/source/cpp_uno/gcc3_freebsd_intel/share.hxx 18 Mar 2003 19:06:53 -0000 1.2 -+++ bridges/source/cpp_uno/gcc3_freebsd_intel/share.hxx 27 Dec 2004 06:05:52 -0000 -@@ -4,7 +4,7 @@ - * - * $Revision: 1.2 $ - * -- * last change: $Author: hr $ $Date: 2003/03/18 19:06:53 $ -+ * last change: $Author: hr $ $Date: 2004/02/03 12:38:19 $ - * - * The Contents of this file are made available subject to the terms of - * either of the following licenses -@@ -59,6 +59,8 @@ - * - ************************************************************************/ - -+#include "uno/mapping.h" -+ - #include <typeinfo> - #include <exception> - #include <cstddef> -@@ -66,6 +68,8 @@ - namespace CPPU_CURRENT_NAMESPACE - { - -+void dummy_can_throw_anything( char const * ); -+ - // ----- following decl from libstdc++-v3/libsupc++/unwind-cxx.h and unwind.h - - struct _Unwind_Exception -Index: bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx -=================================================================== -RCS file: /cvs/udk/bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx,v -retrieving revision 1.5 -diff -u -r1.5 uno2cpp.cxx ---- bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx 3 Nov 2004 09:03:15 -0000 1.5 -+++ bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx 27 Dec 2004 06:05:52 -0000 -@@ -2,9 +2,9 @@ - * - * $RCSfile: uno2cpp.cxx,v $ - * -- * $Revision: 1.5 $ -+ * $Revision: 1.7 $ - * -- * last change: $Author: pjunck $ $Date: 2004/11/03 09:03:15 $ -+ * last change: $Author: sb $ $Date: 2004/09/27 09:08:35 $ - * - * The Contents of this file are made available subject to the terms of - * either of the following licenses -@@ -59,24 +59,25 @@ - * - ************************************************************************/ - --#include <sal/alloca.h> --#include <rtl/alloc.h> -+#include <stdlib.h> - -+#include <com/sun/star/uno/genfunc.hxx> -+#include "com/sun/star/uno/RuntimeException.hpp" - #include <uno/data.h> --#include <bridges/cpp_uno/bridge.hxx> --#include <bridges/cpp_uno/type_misc.hxx> - --#include "share.hxx" -+#include "bridges/cpp_uno/shared/bridge.hxx" -+#include "bridges/cpp_uno/shared/types.hxx" -+#include "bridges/cpp_uno/shared/unointerfaceproxy.hxx" -+#include "bridges/cpp_uno/shared/vtables.hxx" - -+#include "share.hxx" - - using namespace ::rtl; - using namespace ::com::sun::star::uno; - --namespace CPPU_CURRENT_NAMESPACE -+namespace - { - --void dummy_can_throw_anything( char const * ); -- - //================================================================================================== - // The call instruction within the asm section of callVirtualMethod may throw - // exceptions. So that the compiler handles this correctly, it is important -@@ -85,7 +86,7 @@ - // callVirtualMethod is not inlined at its call site (so that any exceptions are - // caught which are thrown from the instruction calling callVirtualMethod): - void callVirtualMethod( -- void * pThis, -+ void * pAdjustedThisPtr, - sal_Int32 nVtableIndex, - void * pRegisterReturn, - typelib_TypeClass eReturnType, -@@ -93,7 +94,7 @@ - sal_Int32 nStackLongs ) __attribute__((noinline)); - - void callVirtualMethod( -- void * pThis, -+ void * pAdjustedThisPtr, - sal_Int32 nVtableIndex, - void * pRegisterReturn, - typelib_TypeClass eReturnType, -@@ -103,13 +104,13 @@ - // parameter list is mixed list of * and values - // reference parameters are pointers - -- OSL_ENSURE( pStackLongs && pThis, "### null ptr!" ); -+ OSL_ENSURE( pStackLongs && pAdjustedThisPtr, "### null ptr!" ); - OSL_ENSURE( (sizeof(void *) == 4) && (sizeof(sal_Int32) == 4), "### unexpected size of int!" ); - OSL_ENSURE( nStackLongs && pStackLongs, "### no stack in callVirtualMethod !" ); - - // never called -- if (! pThis) dummy_can_throw_anything("xxx"); // address something -- -+ if (! pAdjustedThisPtr) CPPU_CURRENT_NAMESPACE::dummy_can_throw_anything("xxx"); // address something -+ - volatile long edx = 0, eax = 0; // for register returns - void * stackptr; - asm volatile ( -@@ -139,8 +140,8 @@ - // cleanup stack - "mov %6, %%esp\n\t" - : -- : "m"(nStackLongs), "m"(pStackLongs), "m"(pThis), "m"(nVtableIndex), -- "m"(eax), "m"(edx), "m"(stackptr) -+ : "m"(nStackLongs), "m"(pStackLongs), "m"(pAdjustedThisPtr), -+ "m"(nVtableIndex), "m"(eax), "m"(edx), "m"(stackptr) - : "eax", "edx" ); - switch( eReturnType ) - { -@@ -172,8 +173,8 @@ - - //================================================================================================== - static void cpp_call( -- cppu_unoInterfaceProxy * pThis, -- sal_Int32 nVtableCall, -+ bridges::cpp_uno::shared::UnoInterfaceProxy * pThis, -+ bridges::cpp_uno::shared::VtableSlot aVtableSlot, - typelib_TypeDescriptionReference * pReturnTypeRef, - sal_Int32 nParams, typelib_MethodParameter * pParams, - void * pUnoReturn, void * pUnoArgs[], uno_Any ** ppUnoExc ) -@@ -192,21 +193,25 @@ - - if (pReturnTypeDescr) - { -- if (cppu_isSimpleType( pReturnTypeDescr )) -+ if (bridges::cpp_uno::shared::isSimpleType( pReturnTypeDescr )) - { - pCppReturn = pUnoReturn; // direct way for simple types - } - else - { - // complex return via ptr -- pCppReturn = *(void **)pCppStack = (cppu_relatesToInterface( pReturnTypeDescr ) -- ? alloca( pReturnTypeDescr->nSize ) -- : pUnoReturn); // direct way -+ pCppReturn = *(void **)pCppStack -+ = (bridges::cpp_uno::shared::relatesToInterfaceType( -+ pReturnTypeDescr ) -+ ? alloca( pReturnTypeDescr->nSize ) -+ : pUnoReturn); // direct way - pCppStack += sizeof(void *); - } - } - // push this -- *(void**)pCppStack = pThis->pCppI; -+ void * pAdjustedThisPtr = reinterpret_cast< void ** >(pThis->getCppI()) -+ + aVtableSlot.offset; -+ *(void**)pCppStack = pAdjustedThisPtr; - pCppStack += sizeof( void* ); - - // stack space -@@ -226,10 +231,11 @@ - typelib_TypeDescription * pParamTypeDescr = 0; - TYPELIB_DANGER_GET( &pParamTypeDescr, rParam.pTypeRef ); - -- if (!rParam.bOut && cppu_isSimpleType( pParamTypeDescr )) -+ if (!rParam.bOut -+ && bridges::cpp_uno::shared::isSimpleType( pParamTypeDescr )) - { - uno_copyAndConvertData( pCppArgs[nPos] = pCppStack, pUnoArgs[nPos], pParamTypeDescr, -- &pThis->pBridge->aUno2Cpp ); -+ pThis->getBridge()->getUno2Cpp() ); - - switch (pParamTypeDescr->eTypeClass) - { -@@ -254,11 +260,13 @@ - ppTempParamTypeDescr[nTempIndizes++] = pParamTypeDescr; - } - // is in/inout -- else if (cppu_relatesToInterface( pParamTypeDescr )) -+ else if (bridges::cpp_uno::shared::relatesToInterfaceType( -+ pParamTypeDescr )) - { - uno_copyAndConvertData( - *(void **)pCppStack = pCppArgs[nPos] = alloca( pParamTypeDescr->nSize ), -- pUnoArgs[nPos], pParamTypeDescr, &pThis->pBridge->aUno2Cpp ); -+ pUnoArgs[nPos], pParamTypeDescr, -+ pThis->getBridge()->getUno2Cpp() ); - - pTempIndizes[nTempIndizes] = nPos; // has to be reconverted - // will be released at reconversion -@@ -278,7 +286,7 @@ - { - OSL_ENSURE( !( (pCppStack - pCppStackStart ) & 3), "UNALIGNED STACK !!! (Please DO panic)" ); - callVirtualMethod( -- pThis->pCppI, nVtableCall, -+ pAdjustedThisPtr, aVtableSlot.index, - pCppReturn, pReturnTypeDescr->eTypeClass, - (sal_Int32 *)pCppStackStart, (pCppStack - pCppStackStart) / sizeof(sal_Int32) ); - // NO exception occured... -@@ -296,13 +304,13 @@ - { - uno_destructData( pUnoArgs[nIndex], pParamTypeDescr, 0 ); // destroy uno value - uno_copyAndConvertData( pUnoArgs[nIndex], pCppArgs[nIndex], pParamTypeDescr, -- &pThis->pBridge->aCpp2Uno ); -+ pThis->getBridge()->getCpp2Uno() ); - } - } - else // pure out - { - uno_copyAndConvertData( pUnoArgs[nIndex], pCppArgs[nIndex], pParamTypeDescr, -- &pThis->pBridge->aCpp2Uno ); -+ pThis->getBridge()->getCpp2Uno() ); - } - // destroy temp cpp param => cpp: every param was constructed - uno_destructData( pCppArgs[nIndex], pParamTypeDescr, cpp_release ); -@@ -313,14 +321,14 @@ - if (pCppReturn && pUnoReturn != pCppReturn) - { - uno_copyAndConvertData( pUnoReturn, pCppReturn, pReturnTypeDescr, -- &pThis->pBridge->aCpp2Uno ); -+ pThis->getBridge()->getCpp2Uno() ); - uno_destructData( pCppReturn, pReturnTypeDescr, cpp_release ); - } - } - catch (...) - { - // fill uno exception -- fillUnoException( __cxa_get_globals()->caughtExceptions, *ppUnoExc, &pThis->pBridge->aCpp2Uno ); -+ fillUnoException( CPPU_CURRENT_NAMESPACE::__cxa_get_globals()->caughtExceptions, *ppUnoExc, pThis->getBridge()->getCpp2Uno() ); - - // temporary params - for ( ; nTempIndizes--; ) -@@ -336,32 +344,32 @@ - } - } - -+} - - //================================================================================================== --void SAL_CALL cppu_unoInterfaceProxy_dispatch( -+void bridges::cpp_uno::shared::UnoInterfaceProxy::dispatch( - uno_Interface * pUnoI, const typelib_TypeDescription * pMemberDescr, -- void * pReturn, void * pArgs[], uno_Any ** ppException ) throw () -+ void * pReturn, void * pArgs[], uno_Any ** ppException ) SAL_THROW(()) - { - // is my surrogate -- cppu_unoInterfaceProxy * pThis = (cppu_unoInterfaceProxy *)pUnoI; -+ bridges::cpp_uno::shared::UnoInterfaceProxy * pThis -+ = static_cast< bridges::cpp_uno::shared::UnoInterfaceProxy * >(pUnoI); - typelib_InterfaceTypeDescription * pTypeDescr = pThis->pTypeDescr; - - switch (pMemberDescr->eTypeClass) - { - case typelib_TypeClass_INTERFACE_ATTRIBUTE: - { -- // determine vtable call index -- sal_Int32 nMemberPos = ((typelib_InterfaceMemberTypeDescription *)pMemberDescr)->nPosition; -- OSL_ENSURE( nMemberPos < pTypeDescr->nAllMembers, "### member pos out of range!" ); -- -- sal_Int32 nVtableCall = pTypeDescr->pMapMemberIndexToFunctionIndex[nMemberPos]; -- OSL_ENSURE( nVtableCall < pTypeDescr->nMapFunctionIndexToMemberIndex, "### illegal vtable index!" ); -- -+ VtableSlot aVtableSlot( -+ getVtableSlot( -+ reinterpret_cast< -+ typelib_InterfaceAttributeTypeDescription const * >( -+ pMemberDescr))); - if (pReturn) - { - // dependent dispatch - cpp_call( -- pThis, nVtableCall, -+ pThis, aVtableSlot, - ((typelib_InterfaceAttributeTypeDescription *)pMemberDescr)->pAttributeTypeRef, - 0, 0, // no params - pReturn, pArgs, ppException ); -@@ -381,8 +389,9 @@ - &pReturnTypeRef, typelib_TypeClass_VOID, aVoidName.pData ); - - // dependent dispatch -+ aVtableSlot.index += 1; // get, then set method - cpp_call( -- pThis, nVtableCall +1, // get, then set method -+ pThis, aVtableSlot, - pReturnTypeRef, - 1, &aParam, - pReturn, pArgs, ppException ); -@@ -394,14 +403,12 @@ - } - case typelib_TypeClass_INTERFACE_METHOD: - { -- // determine vtable call index -- sal_Int32 nMemberPos = ((typelib_InterfaceMemberTypeDescription *)pMemberDescr)->nPosition; -- OSL_ENSURE( nMemberPos < pTypeDescr->nAllMembers, "### member pos out of range!" ); -- -- sal_Int32 nVtableCall = pTypeDescr->pMapMemberIndexToFunctionIndex[nMemberPos]; -- OSL_ENSURE( nVtableCall < pTypeDescr->nMapFunctionIndexToMemberIndex, "### illegal vtable index!" ); -- -- switch (nVtableCall) -+ VtableSlot aVtableSlot( -+ getVtableSlot( -+ reinterpret_cast< -+ typelib_InterfaceMethodTypeDescription const * >( -+ pMemberDescr))); -+ switch (aVtableSlot.index) - { - // standard calls - case 1: // acquire uno interface -@@ -419,8 +426,8 @@ - if (pTD) - { - uno_Interface * pInterface = 0; -- (*pThis->pBridge->pUnoEnv->getRegisteredInterface)( -- pThis->pBridge->pUnoEnv, -+ (*pThis->pBridge->getUnoEnv()->getRegisteredInterface)( -+ pThis->pBridge->getUnoEnv(), - (void **)&pInterface, pThis->oid.pData, (typelib_InterfaceTypeDescription *)pTD ); - - if (pInterface) -@@ -439,7 +446,7 @@ - default: - // dependent dispatch - cpp_call( -- pThis, nVtableCall, -+ pThis, aVtableSlot, - ((typelib_InterfaceMethodTypeDescription *)pMemberDescr)->pReturnTypeRef, - ((typelib_InterfaceMethodTypeDescription *)pMemberDescr)->nParams, - ((typelib_InterfaceMethodTypeDescription *)pMemberDescr)->pParams, -@@ -459,6 +466,3 @@ - } - } - } -- --} -- diff --git a/editors/openoffice-2.0-devel/files/patch-project-extentions b/editors/openoffice-2.0-devel/files/patch-project-extentions deleted file mode 100644 index a8b9d7ee9416..000000000000 --- a/editors/openoffice-2.0-devel/files/patch-project-extentions +++ /dev/null @@ -1,65 +0,0 @@ -#iZ and CWS -o http://www.openoffice.org/issues/show_bug.cgi?id=40179 -o http://eis.services.openoffice.org/EIS2/servlet/cws.ShowCWS?Id=2030&Path=SRC680%2Fpj16 -o pj16 - -Description - -o source/config/ldap/makefile.mk needs -lcompat since re_comp is defined here. -o FreeBSD doesn't have -ldl -o INC+= -DNP_LINUX is also requried for FreeBSD - -Index: source/config/ldap/makefile.mk -=================================================================== -RCS file: /cvs/util/extensions/source/config/ldap/makefile.mk,v -retrieving revision 1.4 -diff -u -r1.4 makefile.mk ---- extensions/source/config/ldap/makefile.mk 15 Nov 2004 14:14:22 -0000 1.4 -+++ extensions/source/config/ldap/makefile.mk 8 Jan 2005 02:48:29 -0000 -@@ -116,6 +116,9 @@ - $(CPPULIB) \ - $(SALHELPERLIB) \ - $(SALLIB) -+.IF "$(OS)"=="FREEBSD" -+SHL1STDLIBS+=-lcompat -+.ENDIF - - DEF1NAME=$(SHL1TARGET) - DEF1EXPORTFILE=exports.dxp -Index: source/nsplugin/source/makefile.mk -=================================================================== -RCS file: /cvs/util/extensions/source/nsplugin/source/makefile.mk,v -retrieving revision 1.8 -diff -u -r1.8 makefile.mk ---- extensions/source/nsplugin/source/makefile.mk 3 Jan 2005 09:04:51 -0000 1.8 -+++ extensions/source/nsplugin/source/makefile.mk 8 Jan 2005 02:48:30 -0000 -@@ -78,7 +78,7 @@ - @echo GTK disabled - nothing to build - - .ELSE # "$(ENABLE_GTK)"=="" --.IF "$(OS)"=="LINUX" -+.IF "$(OS)"=="LINUX" || "$(OS)"=="FREEBSD" - INC+= -DNP_LINUX - .ENDIF - PKGCONFIG_MODULES=gtk+-2.0 -@@ -99,8 +99,10 @@ - .IF "$(GUI)"=="UNX" - SHL1OBJS+=$(SLO)$/npunix.obj - SLOFILES+=$(SLO)$/npunix.obj -+.IF "$(OS)"!="FREEBSD" - SHL1STDLIBS+= -ldl -lnsl --.ENDIF -+.ENDIF #FREEBSD -+.ENDIF #UNX - .IF "$(GUI)"=="WNT" - SHL1OBJS+=$(SLO)$/npwin.obj - SLOFILES+=$(SLO)$/npwin.obj -@@ -131,7 +133,7 @@ - - .IF "$(GUI)"=="UNX" - APP1STDLIBS+=$(PKGCONFIG_LIBS:s/-lpangoxft-1.0//) --.IF "$(OS)"=="LINUX" -+.IF "$(OS)"=="LINUX" || "$(OS)"=="FREEBSD" - .ELSE - APP1STDLIBS+= -ldl -lnsl -lnls -lsocket - .ENDIF diff --git a/editors/openoffice-2.0-devel/files/patch-solenv+inc+unxfbsdi.mk b/editors/openoffice-2.0-devel/files/patch-solenv+inc+unxfbsdi.mk deleted file mode 100644 index f3f55df061d4..000000000000 --- a/editors/openoffice-2.0-devel/files/patch-solenv+inc+unxfbsdi.mk +++ /dev/null @@ -1,262 +0,0 @@ -#iZ and CWS -o http://www.openoffice.org/issues/show_bug.cgi?id=40182 - -Description -o catch up recent unxlngi6.mk -o -Wl,-z,defs -> comment out - -Index: solenv/inc/unxfbsdi.mk -=================================================================== -RCS file: /cvs/tools/solenv/inc/unxfbsdi.mk,v -retrieving revision 1.11 -diff -u -r1.11 unxfbsdi.mk ---- solenv/inc/unxfbsdi.mk 20 Sep 2004 08:37:13 -0000 1.11 -+++ solenv/inc/unxfbsdi.mk 10 Jan 2005 07:44:44 -0000 -@@ -60,16 +60,26 @@ - # - #************************************************************************* - --# mak file for unxfbsdi --ASM=$(CC) --AFLAGS=-x assembler-with-cpp -c $(CDEFS) -+# mk file for unxfbsdi -+ASM= -+AFLAGS= -+ -+SOLAR_JAVA*=TRUE -+JAVAFLAGSDEBUG=-g - - # filter for supressing verbose messages from linker - #not needed at the moment - #LINKOUTPUT_FILTER=" |& $(SOLARENV)$/bin$/msg_filter" - -+# _PTHREADS is needed for the stl -+CDEFS+=$(PTHREAD_CFLAGS) -DX86 -D_PTHREADS -D_REENTRANT -DNEW_SOLAR -D_USE_NAMESPACE=1 -DSTLPORT_VERSION=400 -+ -+# enable visibility define in "sal/types.h" -+.IF "$(HAVE_GCC_VISIBILITY_FEATURE)" == "TRUE" -+CDEFS += -DHAVE_GCC_VISIBILITY_FEATURE -+.ENDIF # "$(HAVE_GCC_VISIBILITY_FEATURE)" == "TRUE" -+ - # this is a platform with JAVA support --SOLAR_JAVA*=TRUE - .IF "$(SOLAR_JAVA)"!="" - JAVADEF=-DSOLAR_JAVA - .IF "$(debug)"=="" -@@ -83,90 +93,82 @@ - CXX*=g++ - # name of C Compiler - CC*=gcc -+.IF "$(SYSBASE)"!="" -+CFLAGS_SYSBASE:=-isystem $(SYSBASE)$/usr$/include -+CXX+:=$(CFLAGS_SYSBASE) -+CC+:=$(CFLAGS_SYSBASE) -+.ENDIF # "$(SYSBASE)"!="" -+CFLAGS+=-Wreturn-type -fmessage-length=0 -c $(INCLUDE) -+.IF "$(PRODUCT)"!="" -+CFLAGS+=-Wuninitialized -+.ENDIF - --# filter for supressing verbose messages from linker --# not needed at the moment --LINKOUTPUT_FILTER=" |& $(SOLARENV)$/bin$/msg_filter" -+# flags to enable build with symbols; required for crashdump feature -+.IF "$(ENABLE_SYMBOLS)"=="SMALL" -+CFLAGSENABLESYMBOLS=-g1 -+.ELSE -+CFLAGSENABLESYMBOLS=-g # was temporarily commented out, reenabled before Beta - --# options for C and C++ Compiler --CDEFS+= -D_USE_NAMESPACE=1 -DX86 -DNEW_SOLAR -DSTLPORT_VERSION=450 -DOSVERSION=$(OSVERSION) --CDEFS+= $(PTHREAD_CFLAGS) -D_REENTRANT -- --# flags for C and C++ Compile --CFLAGS+= -w -c $(INCLUDE) --CFLAGS+= -I/usr/X11R6/include -+.ENDIF - - # flags for the C++ Compiler --CFLAGSCC= -pipe -fno-rtti --CFLAGSCXX= -pipe -fno-rtti --CFLAGSCXX+= -Wno-ctor-dtor-privacy -- -+CFLAGSCC= -pipe -mtune=pentiumpro - # Flags for enabling exception handling --CFLAGSEXCEPTIONS= -fexceptions --CFLAGS_NO_EXCEPTIONS= -fno-exceptions -- --# Compiler flags for compiling static object in single threaded --# environment with graphical user interface --CFLAGSOBJGUIST= -fPIC -- --# Compiler flags for compiling static object in single threaded --# environment with character user interface --CFLAGSOBJCUIST= -fPIC -- --# Compiler flags for compiling static object in multi threaded --# environment with graphical user interface --CFLAGSOBJGUIMT= -fPIC -- --# Compiler flags for compiling static object in multi threaded --# environment with character user interface --CFLAGSOBJCUIMT= -fPIC -- --# Compiler flags for compiling shared object in multi threaded --# environment with graphical user interface --CFLAGSSLOGUIMT= -fPIC -- --# Compiler flags for compiling shared object in multi threaded --# environment with character user interface --CFLAGSSLOCUIMT= -fPIC -+CFLAGSEXCEPTIONS=-fexceptions -fno-enforce-eh-specs -+# Flags for disabling exception handling -+CFLAGS_NO_EXCEPTIONS=-fno-exceptions - --# Compiler flags for profilin --CFLAGSPROF= -pg -+# -fpermissive should be removed as soon as possible -+CFLAGSCXX= -pipe -mtune=pentiumpro -+CFLAGSCXX+= -Wno-ctor-dtor-privacy - -+# Compiler flags for compiling static object in single threaded environment with graphical user interface -+CFLAGSOBJGUIST= -+# Compiler flags for compiling static object in single threaded environment with character user interface -+CFLAGSOBJCUIST= -+# Compiler flags for compiling static object in multi threaded environment with graphical user interface -+CFLAGSOBJGUIMT= -+# Compiler flags for compiling static object in multi threaded environment with character user interface -+CFLAGSOBJCUIMT= -+# Compiler flags for compiling shared object in multi threaded environment with graphical user interface -+CFLAGSSLOGUIMT=-fPIC -+# Compiler flags for compiling shared object in multi threaded environment with character user interface -+CFLAGSSLOCUIMT=-fPIC -+# Compiler flags for profiling -+CFLAGSPROF= - # Compiler flags for debugging --CFLAGSDEBUG= -g -+CFLAGSDEBUG=-g - CFLAGSDBGUTIL= -- --# Compiler flags to enable optimizations --# -02 is broken for FreeBSD --CFLAGSOPT= -O -- --# Compiler flags to disable optimizations --# -0 is broken for STLport for FreeBSD --CFLAGSNOOPT= -O0 -- --# Compiler flags for the output path --CFLAGSOUTOBJ= -o -- -+# Compiler flags for enabling optimazations -+.IF "$(PRODUCT)"!="" -+CFLAGSOPT=-Os -fno-strict-aliasing # optimizing for products -+.ELSE # "$(PRODUCT)"!="" -+CFLAGSOPT= # no optimizing for non products -+.ENDIF # "$(PRODUCT)"!="" -+# Compiler flags for disabling optimazations -+CFLAGSNOOPT=-O0 -+# Compiler flags for discibing the output path -+CFLAGSOUTOBJ=-o - # Enable all warnings - CFLAGSWALL=-Wall -- - # Set default warn level --CFLAGSDFLTWARN=-w -+CFLAGSDFLTWARN= - - # switches for dynamic and static linking --STATIC= -Wl,-Bstatic --DYNAMIC= -Wl,-Bdynamic -+STATIC = -Wl,-Bstatic -+DYNAMIC = -Wl,-Bdynamic - - # name of linker --LINK=$(CC) -+LINK*=$(CXX) - - # default linker flags --# LINKFLAGSRUNPATH*=-Wl,-rpath\''$$ORIGIN'\' --LINKFLAGS=$(LINKFLAGSRUNPATH) -+LINKFLAGSDEFS*=#-Wl,-z,defs -+LINKFLAGSRUNPATH*=-Wl,-rpath,\''$$ORIGIN'\' -+LINKFLAGS=-z combreloc $(LINKFLAGSDEFS) $(LINKFLAGSRUNPATH) - - # linker flags for linking applications --LINKFLAGSAPPGUI= -Wl,--noinhibit-exec --LINKFLAGSAPPCUI= -Wl,--noinhibit-exec -+LINKFLAGSAPPGUI= -Wl,-export-dynamic -Wl,--noinhibit-exec -+LINKFLAGSAPPCUI= -Wl,-export-dynamic -Wl,--noinhibit-exec - - # linker flags for linking shared libraries - LINKFLAGSSHLGUI= -shared -@@ -177,23 +179,19 @@ - LINKFLAGSDEBUG=-g - LINKFLAGSOPT= - --.IF "$(NO_BSYMBOLIC)"=="" --.IF "$(PRJNAME)" != "envtest" --LINKFLAGSSHLGUI+= -Wl,-Bsymbolic --LINKFLAGSSHLCUI+= -Wl,-Bsymbolic --.ENDIF --.ENDIF -+# linker flags for optimization (symbol hashtable) -+# for now, applied to symbol scoped libraries, only -+LINKFLAGSOPTIMIZE*=-Wl,-O1 -+LINKVERSIONMAPFLAG=$(LINKFLAGSOPTIMIZE) -Wl,--version-script - --LINKVERSIONMAPFLAG=-Wl,--version-script -+SONAME_SWITCH=-Wl,-h - - # Sequence of libs does matter ! --STDLIBCPP=-lstdc++ - --# _SYSLIBS= -L/usr/lib -lm --# _X11LIBS= -L/usr/X11R6/lib -lXext -lX11 --# _CXXLIBS= -L/usr/lib -lstdc++ -L/usr/local/lib -+STDLIBCPP=-lstdc++ - - # default objectfilenames to link -+STDOBJVCL=$(L)$/salmain.o - STDOBJGUI= - STDSLOGUI= - STDOBJCUI= -@@ -201,24 +199,25 @@ - - # libraries for linking applications - STDLIBCUIST=-lm --STDLIBGUIST=-lXaw -lXt -lX11 -lm --STDLIBGUIMT=-lXaw -lXt -lX11 $(PTHREAD_LIBS) -lm -+STDLIBGUIMT=-lX11 $(PTHREAD_LIBS) -lm - STDLIBCUIMT=$(PTHREAD_LIBS) -lm -- -+STDLIBGUIST=-lX11 -lm - # libraries for linking shared libraries --STDSHLGUIMT=-lXaw -lXt -lX11 -lXext $(PTHREAD_LIBS) -lm -+STDSHLGUIMT=-lX11 -lXext $(PTHREAD_LIBS) -lm - STDSHLCUIMT=$(PTHREAD_LIBS) -lm -+STDSHLGUIST=-lX11 -lXext -lm -+STDSHLCUIST=-lm - - LIBSALCPPRT*=-Wl,--whole-archive -lsalcpprt -Wl,--no-whole-archive - --# STLport always needs pthread. --LIBSTLPORT=$(DYNAMIC) -lstlport_gcc $(STDLIBCPP) $(PTHREAD_LIBS) --LIBSTLPORTST=$(STATIC) -lstlport_gcc $(DYNAMIC) $(PTHREAD_LIBS) -+LIBSTLPORT=$(DYNAMIC) -lstlport_gcc -+LIBSTLPORTST=$(STATIC) -lstlport_gcc $(DYNAMIC) -+ -+#FILLUPARC=$(STATIC) -lsupc++ $(DYNAMIC) - - # name of library manager - LIBMGR=ar - LIBFLAGS=-r --LIBEXT= .a - - # tool for generating import libraries - IMPLIB= -@@ -237,3 +236,4 @@ - DLLPOSTFIX=fi - DLLPRE=lib - DLLPOST=.so -+ diff --git a/editors/openoffice-2.0-devel/files/patch-transex3+source+xmlparse.cxx b/editors/openoffice-2.0-devel/files/patch-transex3+source+xmlparse.cxx deleted file mode 100644 index de1864d5e9cb..000000000000 --- a/editors/openoffice-2.0-devel/files/patch-transex3+source+xmlparse.cxx +++ /dev/null @@ -1,24 +0,0 @@ -#iZ and CWS -o http://www.openoffice.org/issues/show_bug.cgi?id=40184 -o http://eis.services.openoffice.org/EIS2/servlet/cws.ShowCWS?Id=2030&Path=SRC680%2Fpj16 -o pj16 - -Description -FreeBSD doesn't have alloca.h - -Index: source/xmlparse.cxx -=================================================================== -RCS file: /cvs/l10n/transex3/source/xmlparse.cxx,v -retrieving revision 1.5 -diff -u -r1.5 xmlparse.cxx ---- transex3/source/xmlparse.cxx 18 Nov 2004 08:17:50 -0000 1.5 -+++ transex3/source/xmlparse.cxx 8 Jan 2005 02:56:14 -0000 -@@ -67,7 +67,7 @@ - #ifdef WIN32 - #include <malloc.h> - #else --#ifndef MACOSX -+#if !(defined(MACOSX) || defined(FREEBSD)) - #include <alloca.h> - #endif - #endif diff --git a/editors/openoffice-3-devel/Makefile b/editors/openoffice-3-devel/Makefile index c563bd2c2beb..e6be311f3b31 100644 --- a/editors/openoffice-3-devel/Makefile +++ b/editors/openoffice-3-devel/Makefile @@ -19,7 +19,7 @@ EXTRACT_ONLY= OOo_${RELEASE_NR}m${MILESTONE}_source.tar.bz2 MAINTAINER= openoffice@FreeBSD.org COMMENT?= Integrated wordprocessor/dbase/spreadheet/drawing/chart/browser(developer version) -SNAPDATE= 20050119 +SNAPDATE= 20050123 NO_LATEST_LINK= yes USE_GNOME= gtk20 MOZILLA_PROJECT= cws_srx645_mozooo.20041016.tar.gz @@ -49,7 +49,7 @@ BROKEN= "rtld depends on _end symbol. type make -DBROKEN to see how to upgrade CODELINE= 680 RELEASE_NR= 1.9 -MILESTONE= 72 +MILESTONE= 73 INSTALLATION_BASEDIR= openoffice.org${RELEASE_NR}m${MILESTONE} EXECBASE= openoffice.org-${RELEASE_NR}m${MILESTONE} DIST_SUBDIR= openoffice.org2.0 diff --git a/editors/openoffice-3-devel/distinfo b/editors/openoffice-3-devel/distinfo index 8b7774bf8f23..c9e7f5358b88 100644 --- a/editors/openoffice-3-devel/distinfo +++ b/editors/openoffice-3-devel/distinfo @@ -1,5 +1,5 @@ -MD5 (openoffice.org2.0/OOo_1.9m72_source.tar.bz2) = c51fa9d749f1e5eb3733d50b91f97fe8 -SIZE (openoffice.org2.0/OOo_1.9m72_source.tar.bz2) = 233690890 +MD5 (openoffice.org2.0/OOo_1.9m73_source.tar.bz2) = 0885bb45bd204b03b16f8276cbd922e0 +SIZE (openoffice.org2.0/OOo_1.9m73_source.tar.bz2) = 233756500 MD5 (openoffice.org2.0/gpc231.tar.Z) = fdb06fdb5a4670b172f9fb738b717be9 SIZE (openoffice.org2.0/gpc231.tar.Z) = 27917 MD5 (openoffice.org2.0/cws_srx645_mozooo.20041016.tar.gz) = eda0ab73b24c45890ae08bdfe04049bd diff --git a/editors/openoffice-3-devel/files/Makefile.knobs b/editors/openoffice-3-devel/files/Makefile.knobs index 5b9c07e3afce..0afc3acadf7e 100644 --- a/editors/openoffice-3-devel/files/Makefile.knobs +++ b/editors/openoffice-3-devel/files/Makefile.knobs @@ -19,7 +19,7 @@ CONFIGURE_ARGS+= --enable-cups .if defined(ALL_LOCALIZED_LANGS) CONFIGURE_ARGS+= --with-lang="en-US ar ca cs da de el es et fi fr he hi-IN hu it ja ko pl pt pt-BR ru sk sl sv th tr zh-CN zh-TW" -#following langs still seem to be under development +#following langs still seem to be under development #af bg cy eo eu gl kn-IN lt nb nl nn ns tn zu #CONFIGURE_ARGS+= --with-lang=ALL .else diff --git a/editors/openoffice-3-devel/files/patch-config_office+set_soenv.in b/editors/openoffice-3-devel/files/patch-config_office+set_soenv.in deleted file mode 100644 index 9b2a97774dc1..000000000000 --- a/editors/openoffice-3-devel/files/patch-config_office+set_soenv.in +++ /dev/null @@ -1,25 +0,0 @@ -#iZ and CWS -o http://www.openoffice.org/issues/show_bug.cgi?id=37731 -o http://eis.services.openoffice.org/EIS2/servlet/cws.ShowCWS?Id=2030&Path=SRC680%2Fpj16 -o pj16 - -Description -Do not export LINK to environment - -Index: config_office/set_soenv.in -=================================================================== -RCS file: /cvs/tools/config_office/set_soenv.in,v -retrieving revision 1.31 -diff -u -r1.31 set_soenv.in ---- config_office/set_soenv.in 5 Jan 2005 12:10:00 -0000 1.31 -+++ config_office/set_soenv.in 9 Jan 2005 18:51:24 -0000 -@@ -1684,9 +1684,6 @@ - ToFile( "CC", $CC, "e" ); - ToFile( "CXX", $CXX, "e" ); - ToFile( "USE_SYSTEM_STL", "@USE_SYSTEM_STL@", "e" ); --if ( $COM ne "MSC" ) { -- ToFile( "LINK", $CC, "e" ); --} - ToFile( "ENABLE_SYMBOLS", "@ENABLE_SYMBOLS@", "e" ); - ToFile( "ENABLE_CRASHDUMP", "@ENABLE_CRASHDUMP@", "e" ); - ToFile( "ENABLE_CUPS", "@ENABLE_CUPS@", "e" ); diff --git a/editors/openoffice-3-devel/files/patch-project-bridges b/editors/openoffice-3-devel/files/patch-project-bridges deleted file mode 100644 index 890cab171898..000000000000 --- a/editors/openoffice-3-devel/files/patch-project-bridges +++ /dev/null @@ -1,1004 +0,0 @@ -#iZ and CWS -o http://www.openoffice.org/issues/show_bug.cgi?id=40178 - -Description -catch up recent version of -bridges/source/cpp_uno/gcc3_linux_intel/cpp2uno.cxx -Only difference is: -- rtti = (type_info *)dlsym( m_hApp, symName.getStr() ); -+ rtti = (type_info *)dlsym( RTLD_DEFAULT, symName.getStr() ); -#iZ 22253 for reason why we changed m_hApp to RTLD_DEFAULT - -Index: bridges/source/cpp_uno/gcc3_freebsd_intel/cpp2uno.cxx -=================================================================== -RCS file: /cvs/udk/bridges/source/cpp_uno/gcc3_freebsd_intel/cpp2uno.cxx,v -retrieving revision 1.3 -diff -u -r1.3 cpp2uno.cxx ---- bridges/source/cpp_uno/gcc3_freebsd_intel/cpp2uno.cxx 28 Apr 2003 16:28:20 -0000 1.3 -+++ bridges/source/cpp_uno/gcc3_freebsd_intel/cpp2uno.cxx 27 Dec 2004 06:05:52 -0000 -@@ -2,9 +2,9 @@ - * - * $RCSfile: cpp2uno.cxx,v $ - * -- * $Revision: 1.3 $ -+ * $Revision: 1.6 $ - * -- * last change: $Author: hr $ $Date: 2003/04/28 16:28:20 $ -+ * last change: $Author: obo $ $Date: 2004/06/04 02:59:45 $ - * - * The Contents of this file are made available subject to the terms of - * either of the following licenses -@@ -59,34 +59,26 @@ - * - ************************************************************************/ - --#include <hash_map> -- --#include <sal/alloca.h> --#include <rtl/alloc.h> --#include <osl/mutex.hxx> -- -+#include <com/sun/star/uno/genfunc.hxx> -+#include "com/sun/star/uno/RuntimeException.hpp" - #include <uno/data.h> - #include <typelib/typedescription.hxx> - --#include <bridges/cpp_uno/bridge.hxx> --#include <bridges/cpp_uno/type_misc.hxx> -+#include "bridges/cpp_uno/shared/bridge.hxx" -+#include "bridges/cpp_uno/shared/cppinterfaceproxy.hxx" -+#include "bridges/cpp_uno/shared/types.hxx" -+#include "bridges/cpp_uno/shared/vtablefactory.hxx" - - #include "share.hxx" - -- --using namespace ::osl; --using namespace ::rtl; - using namespace ::com::sun::star::uno; - --namespace CPPU_CURRENT_NAMESPACE -+namespace - { - - //================================================================================================== --rtl_StandardModuleCount g_moduleCount = MODULE_COUNT_INIT; -- --//================================================================================================== - static typelib_TypeClass cpp2uno_call( -- cppu_cppInterfaceProxy * pThis, -+ bridges::cpp_uno::shared::CppInterfaceProxy * pThis, - const typelib_TypeDescription * pMemberTypeDescr, - typelib_TypeDescriptionReference * pReturnTypeRef, // 0 indicates void return - sal_Int32 nParams, typelib_MethodParameter * pParams, -@@ -106,7 +98,7 @@ - - if (pReturnTypeDescr) - { -- if (cppu_isSimpleType( pReturnTypeDescr )) -+ if (bridges::cpp_uno::shared::isSimpleType( pReturnTypeDescr )) - { - pUnoReturn = pRegisterReturn; // direct way for simple types - } -@@ -115,7 +107,8 @@ - pCppReturn = *(void **)pCppStack; - pCppStack += sizeof(void *); - -- pUnoReturn = (cppu_relatesToInterface( pReturnTypeDescr ) -+ pUnoReturn = (bridges::cpp_uno::shared::relatesToInterfaceType( -+ pReturnTypeDescr ) - ? alloca( pReturnTypeDescr->nSize ) - : pCppReturn); // direct way - } -@@ -141,7 +134,9 @@ - typelib_TypeDescription * pParamTypeDescr = 0; - TYPELIB_DANGER_GET( &pParamTypeDescr, rParam.pTypeRef ); - -- if (!rParam.bOut && cppu_isSimpleType( pParamTypeDescr )) // value -+ if (!rParam.bOut -+ && bridges::cpp_uno::shared::isSimpleType( pParamTypeDescr )) -+ // value - { - pCppArgs[nPos] = pCppStack; - pUnoArgs[nPos] = pCppStack; -@@ -168,11 +163,12 @@ - ppTempParamTypeDescr[nTempIndizes++] = pParamTypeDescr; - } - // is in/inout -- else if (cppu_relatesToInterface( pParamTypeDescr )) -+ else if (bridges::cpp_uno::shared::relatesToInterfaceType( -+ pParamTypeDescr )) - { - uno_copyAndConvertData( pUnoArgs[nPos] = alloca( pParamTypeDescr->nSize ), - *(void **)pCppStack, pParamTypeDescr, -- &pThis->pBridge->aCpp2Uno ); -+ pThis->getBridge()->getCpp2Uno() ); - pTempIndizes[nTempIndizes] = nPos; // has to be reconverted - // will be released at reconversion - ppTempParamTypeDescr[nTempIndizes++] = pParamTypeDescr; -@@ -192,7 +188,8 @@ - uno_Any * pUnoExc = &aUnoExc; - - // invoke uno dispatch call -- (*pThis->pUnoI->pDispatcher)( pThis->pUnoI, pMemberTypeDescr, pUnoReturn, pUnoArgs, &pUnoExc ); -+ (*pThis->getUnoI()->pDispatcher)( -+ pThis->getUnoI(), pMemberTypeDescr, pUnoReturn, pUnoArgs, &pUnoExc ); - - // in case an exception occured... - if (pUnoExc) -@@ -209,7 +206,9 @@ - if (pReturnTypeDescr) - TYPELIB_DANGER_RELEASE( pReturnTypeDescr ); - -- raiseException( &aUnoExc, &pThis->pBridge->aUno2Cpp ); // has to destruct the any -+ CPPU_CURRENT_NAMESPACE::raiseException( -+ &aUnoExc, pThis->getBridge()->getUno2Cpp() ); -+ // has to destruct the any - // is here for dummy - return typelib_TypeClass_VOID; - } -@@ -226,7 +225,7 @@ - // convert and assign - uno_destructData( pCppArgs[nIndex], pParamTypeDescr, cpp_release ); - uno_copyAndConvertData( pCppArgs[nIndex], pUnoArgs[nIndex], pParamTypeDescr, -- &pThis->pBridge->aUno2Cpp ); -+ pThis->getBridge()->getUno2Cpp() ); - } - // destroy temp uno param - uno_destructData( pUnoArgs[nIndex], pParamTypeDescr, 0 ); -@@ -239,7 +238,7 @@ - if (pUnoReturn != pCppReturn) // needs reconversion - { - uno_copyAndConvertData( pCppReturn, pUnoReturn, pReturnTypeDescr, -- &pThis->pBridge->aUno2Cpp ); -+ pThis->getBridge()->getUno2Cpp() ); - // destroy temp uno return - uno_destructData( pUnoReturn, pReturnTypeDescr, 0 ); - } -@@ -260,38 +259,41 @@ - - //================================================================================================== - static typelib_TypeClass cpp_mediate( -- sal_Int32 nVtableCall, -+ sal_Int32 nFunctionIndex, -+ sal_Int32 nVtableOffset, - void ** pCallStack, - sal_Int64 * pRegisterReturn /* space for register return */ ) - { - OSL_ENSURE( sizeof(sal_Int32)==sizeof(void *), "### unexpected!" ); - - // pCallStack: ret adr, [ret *], this, params -- // _this_ ptr is patched cppu_XInterfaceProxy object -- cppu_cppInterfaceProxy * pCppI = NULL; -- if( nVtableCall & 0x80000000 ) -+ void * pThis; -+ if( nFunctionIndex & 0x80000000 ) - { -- nVtableCall &= 0x7fffffff; -- pCppI = (cppu_cppInterfaceProxy *)(XInterface *)*(pCallStack +2); -+ nFunctionIndex &= 0x7fffffff; -+ pThis = pCallStack[2]; - } - else - { -- pCppI = (cppu_cppInterfaceProxy *)(XInterface *)*(pCallStack +1); -+ pThis = pCallStack[1]; - } -+ pThis = static_cast< char * >(pThis) - nVtableOffset; -+ bridges::cpp_uno::shared::CppInterfaceProxy * pCppI -+ = bridges::cpp_uno::shared::CppInterfaceProxy::castInterfaceToProxy( -+ pThis); - -- typelib_InterfaceTypeDescription * pTypeDescr = pCppI->pTypeDescr; -+ typelib_InterfaceTypeDescription * pTypeDescr = pCppI->getTypeDescr(); - -- OSL_ENSURE( nVtableCall < pTypeDescr->nMapFunctionIndexToMemberIndex, "### illegal vtable index!" ); -- if (nVtableCall >= pTypeDescr->nMapFunctionIndexToMemberIndex) -+ OSL_ENSURE( nFunctionIndex < pTypeDescr->nMapFunctionIndexToMemberIndex, "### illegal vtable index!" ); -+ if (nFunctionIndex >= pTypeDescr->nMapFunctionIndexToMemberIndex) - { - throw RuntimeException( -- OUString::createFromAscii("illegal vtable index!"), -- (XInterface *)pCppI ); -+ rtl::OUString::createFromAscii("illegal vtable index!"), -+ (XInterface *)pThis ); - } - - // determine called method -- OSL_ENSURE( nVtableCall < pTypeDescr->nMapFunctionIndexToMemberIndex, "### illegal vtable index!" ); -- sal_Int32 nMemberPos = pTypeDescr->pMapFunctionIndexToMemberIndex[nVtableCall]; -+ sal_Int32 nMemberPos = pTypeDescr->pMapFunctionIndexToMemberIndex[nFunctionIndex]; - OSL_ENSURE( nMemberPos < pTypeDescr->nAllMembers, "### illegal member index!" ); - - TypeDescription aMemberDescr( pTypeDescr->ppAllMembers[nMemberPos] ); -@@ -301,7 +303,7 @@ - { - case typelib_TypeClass_INTERFACE_ATTRIBUTE: - { -- if (pTypeDescr->pMapMemberIndexToFunctionIndex[nMemberPos] == nVtableCall) -+ if (pTypeDescr->pMapMemberIndexToFunctionIndex[nMemberPos] == nFunctionIndex) - { - // is GET method - eRet = cpp2uno_call( -@@ -330,7 +332,7 @@ - case typelib_TypeClass_INTERFACE_METHOD: - { - // is METHOD -- switch (nVtableCall) -+ switch (nFunctionIndex) - { - case 1: // acquire() - pCppI->acquireProxy(); // non virtual call! -@@ -347,9 +349,10 @@ - if (pTD) - { - XInterface * pInterface = 0; -- (*pCppI->pBridge->pCppEnv->getRegisteredInterface)( -- pCppI->pBridge->pCppEnv, -- (void **)&pInterface, pCppI->oid.pData, (typelib_InterfaceTypeDescription *)pTD ); -+ (*pCppI->getBridge()->getCppEnv()->getRegisteredInterface)( -+ pCppI->getBridge()->getCppEnv(), -+ (void **)&pInterface, pCppI->getOid().pData, -+ (typelib_InterfaceTypeDescription *)pTD ); - - if (pInterface) - { -@@ -378,8 +381,8 @@ - default: - { - throw RuntimeException( -- OUString::createFromAscii("no member description found!"), -- (XInterface *)pCppI ); -+ rtl::OUString::createFromAscii("no member description found!"), -+ (XInterface *)pThis ); - // is here for dummy - eRet = typelib_TypeClass_VOID; - } -@@ -393,12 +396,15 @@ - * is called on incoming vtable calls - * (called by asm snippets) - */ --static void cpp_vtable_call( int nTableEntry, void** pCallStack ) __attribute__((regparm(2))); -+static void cpp_vtable_call( -+ int nFunctionIndex, int nVtableOffset, void** pCallStack ) -+ __attribute__((regparm(3))); - --void cpp_vtable_call( int nTableEntry, void** pCallStack ) -+void cpp_vtable_call( int nFunctionIndex, int nVtableOffset, void** pCallStack ) - { - volatile long nRegReturn[2]; -- typelib_TypeClass aType = cpp_mediate( nTableEntry, pCallStack, (sal_Int64*)nRegReturn ); -+ typelib_TypeClass aType = cpp_mediate( -+ nFunctionIndex, nVtableOffset, pCallStack, (sal_Int64*)nRegReturn ); - - switch( aType ) - { -@@ -434,161 +440,103 @@ - - - //================================================================================================== --class MediateClassData --{ -- typedef ::std::hash_map< OUString, void *, OUStringHash > t_classdata_map; -- t_classdata_map m_map; -- Mutex m_mutex; -- --public: -- void const * get_vtable( typelib_InterfaceTypeDescription * pTD ) SAL_THROW( () ); -- -- inline MediateClassData() SAL_THROW( () ) -- {} -- ~MediateClassData() SAL_THROW( () ); --}; --//__________________________________________________________________________________________________ --MediateClassData::~MediateClassData() SAL_THROW( () ) -+int const codeSnippetSize = 20; -+ -+unsigned char * codeSnippet( -+ unsigned char * code, sal_Int32 functionIndex, sal_Int32 vtableOffset, -+ bool simpleRetType) - { -- OSL_TRACE( "> calling ~MediateClassData(): freeing mediate vtables." ); -- -- for ( t_classdata_map::const_iterator iPos( m_map.begin() ); iPos != m_map.end(); ++iPos ) -- { -- ::rtl_freeMemory( iPos->second ); -- } -+ if (!simpleRetType) { -+ functionIndex |= 0x80000000; -+ } -+ unsigned char * p = code; -+ OSL_ASSERT(sizeof (sal_Int32) == 4); -+ // mov function_index, %eax: -+ *p++ = 0xB8; -+ *reinterpret_cast< sal_Int32 * >(p) = functionIndex; -+ p += sizeof (sal_Int32); -+ // mov vtable_offset, %edx: -+ *p++ = 0xBA; -+ *reinterpret_cast< sal_Int32 * >(p) = vtableOffset; -+ p += sizeof (sal_Int32); -+ // mov %esp, %ecx: -+ *p++ = 0x89; -+ *p++ = 0xE1; -+ // jmp cpp_vtable_call: -+ *p++ = 0xE9; -+ *reinterpret_cast< sal_Int32 * >(p) -+ = ((unsigned char *) cpp_vtable_call) - p - sizeof (sal_Int32); -+ p += sizeof (sal_Int32); -+ OSL_ASSERT(p - code <= codeSnippetSize); -+ return code + codeSnippetSize; - } --//-------------------------------------------------------------------------------------------------- --static inline void codeSnippet( char * code, sal_uInt32 vtable_pos, bool simple_ret_type ) SAL_THROW( () ) --{ -- if (! simple_ret_type) -- vtable_pos |= 0x80000000; -- OSL_ASSERT( sizeof (long) == 4 ); -- // mov $nPos, %eax -- *code++ = 0xb8; -- *(long *)code = vtable_pos; -- code += sizeof (long); -- // mov %esp, %edx -- *code++ = 0x89; -- *code++ = 0xe2; -- // jmp cpp_vtable_call -- *code++ = 0xe9; -- *(long *)code = ((char *)cpp_vtable_call) - code - sizeof (long); -+ - } --//__________________________________________________________________________________________________ --void const * MediateClassData::get_vtable( typelib_InterfaceTypeDescription * pTD ) SAL_THROW( () ) --{ -- void * buffer; -- -- // avoiding locked counts -- OUString const & unoName = *(OUString const *)&((typelib_TypeDescription *)pTD)->pTypeName; -- { -- MutexGuard aGuard( m_mutex ); -- t_classdata_map::const_iterator iFind( m_map.find( unoName ) ); -- if (iFind == m_map.end()) -- { -- // create new vtable -- sal_Int32 nSlots = pTD->nMapFunctionIndexToMemberIndex; -- buffer = ::rtl_allocateMemory( ((2+ nSlots) * sizeof (void *)) + (nSlots *20) ); -- -- ::std::pair< t_classdata_map::iterator, bool > insertion( -- m_map.insert( t_classdata_map::value_type( unoName, buffer ) ) ); -- OSL_ENSURE( insertion.second, "### inserting new vtable buffer failed?!" ); -- -- void ** slots = (void **)buffer; -- *slots++ = 0; -- *slots++ = 0; // rtti -- char * code = (char *)(slots + nSlots); -- -- sal_uInt32 vtable_pos = 0; -- sal_Int32 nAllMembers = pTD->nAllMembers; -- typelib_TypeDescriptionReference ** ppAllMembers = pTD->ppAllMembers; -- for ( sal_Int32 nPos = 0; nPos < nAllMembers; ++nPos ) -- { -- typelib_TypeDescription * pTD = 0; -- TYPELIB_DANGER_GET( &pTD, ppAllMembers[ nPos ] ); -- OSL_ASSERT( pTD ); -- if (typelib_TypeClass_INTERFACE_ATTRIBUTE == pTD->eTypeClass) -- { -- bool simple_ret = cppu_isSimpleType( -- ((typelib_InterfaceAttributeTypeDescription *)pTD)->pAttributeTypeRef->eTypeClass ); -- // get method -- *slots++ = code; -- codeSnippet( code, vtable_pos++, simple_ret ); -- code += 20; -- if (! ((typelib_InterfaceAttributeTypeDescription *)pTD)->bReadOnly) -- { -- // set method -- *slots++ = code; -- codeSnippet( code, vtable_pos++, true ); -- code += 20; -- } -- } -- else -+ -+void ** bridges::cpp_uno::shared::VtableFactory::mapBlockToVtable(char * block) -+{ -+ return reinterpret_cast< void ** >(block) + 2; -+} -+ -+char * bridges::cpp_uno::shared::VtableFactory::createBlock( -+ sal_Int32 slotCount, void *** slots) -+{ -+ char * block = new char[ -+ (slotCount + 2) * sizeof (void *) + slotCount * codeSnippetSize]; -+ *slots = mapBlockToVtable(block); -+ (*slots)[-2] = 0; -+ (*slots)[-1] = 0; -+ return block; -+} -+ -+unsigned char * bridges::cpp_uno::shared::VtableFactory::addLocalFunctions( -+ void ** slots, unsigned char * code, -+ typelib_InterfaceTypeDescription const * type, sal_Int32 functionOffset, -+ sal_Int32 functionCount, sal_Int32 vtableOffset) -+{ -+ for (sal_Int32 i = 0; i < type->nMembers; ++i) { -+ typelib_TypeDescription * member = 0; -+ TYPELIB_DANGER_GET(&member, type->ppMembers[i]); -+ OSL_ASSERT(member != 0); -+ switch (member->eTypeClass) { -+ case typelib_TypeClass_INTERFACE_ATTRIBUTE: -+ // Getter: -+ *slots++ = code; -+ code = codeSnippet( -+ code, functionOffset++, vtableOffset, -+ bridges::cpp_uno::shared::isSimpleType( -+ reinterpret_cast< -+ typelib_InterfaceAttributeTypeDescription * >( -+ member)->pAttributeTypeRef)); -+ // Setter: -+ if (!reinterpret_cast< -+ typelib_InterfaceAttributeTypeDescription * >( -+ member)->bReadOnly) - { -- bool simple_ret = cppu_isSimpleType( -- ((typelib_InterfaceMethodTypeDescription *)pTD)->pReturnTypeRef->eTypeClass ); - *slots++ = code; -- codeSnippet( code, vtable_pos++, simple_ret ); -- code += 20; -+ code = codeSnippet(code, functionOffset++, vtableOffset, true); - } -- TYPELIB_DANGER_RELEASE( pTD ); -+ break; -+ -+ case typelib_TypeClass_INTERFACE_METHOD: -+ *slots++ = code; -+ code = codeSnippet( -+ code, functionOffset++, vtableOffset, -+ bridges::cpp_uno::shared::isSimpleType( -+ reinterpret_cast< -+ typelib_InterfaceMethodTypeDescription * >( -+ member)->pReturnTypeRef)); -+ break; -+ -+ default: -+ OSL_ASSERT(false); -+ break; - } -- OSL_ASSERT( vtable_pos == nSlots ); -- } -- else -- { -- buffer = iFind->second; -- } -+ TYPELIB_DANGER_RELEASE(member); - } -- -- return ((void **)buffer +2); --} -- --//================================================================================================== --void SAL_CALL cppu_cppInterfaceProxy_patchVtable( -- XInterface * pCppI, typelib_InterfaceTypeDescription * pTypeDescr ) throw () --{ -- static MediateClassData * s_pMediateClassData = 0; -- if (! s_pMediateClassData) -- { -- MutexGuard aGuard( Mutex::getGlobalMutex() ); -- if (! s_pMediateClassData) -- { --#ifdef LEAK_STATIC_DATA -- s_pMediateClassData = new MediateClassData(); --#else -- static MediateClassData s_aMediateClassData; -- s_pMediateClassData = &s_aMediateClassData; --#endif -- } -- } -- *(void const **)pCppI = s_pMediateClassData->get_vtable( pTypeDescr ); --} -- -+ return code; - } - --extern "C" --{ --//################################################################################################## --sal_Bool SAL_CALL component_canUnload( TimeValue * pTime ) -- SAL_THROW_EXTERN_C() --{ -- return CPPU_CURRENT_NAMESPACE::g_moduleCount.canUnload( -- &CPPU_CURRENT_NAMESPACE::g_moduleCount, pTime ); --} --//################################################################################################## --void SAL_CALL uno_initEnvironment( uno_Environment * pCppEnv ) -- SAL_THROW_EXTERN_C() --{ -- CPPU_CURRENT_NAMESPACE::cppu_cppenv_initEnvironment( -- pCppEnv ); --} --//################################################################################################## --void SAL_CALL uno_ext_getMapping( -- uno_Mapping ** ppMapping, uno_Environment * pFrom, uno_Environment * pTo ) -- SAL_THROW_EXTERN_C() --{ -- CPPU_CURRENT_NAMESPACE::cppu_ext_getMapping( -- ppMapping, pFrom, pTo ); --} --} -+void bridges::cpp_uno::shared::VtableFactory::flushCode( -+ unsigned char const *, unsigned char const *) -+{} -Index: bridges/source/cpp_uno/gcc3_freebsd_intel/except.cxx -=================================================================== -RCS file: /cvs/udk/bridges/source/cpp_uno/gcc3_freebsd_intel/except.cxx,v -retrieving revision 1.4 -diff -u -r1.4 except.cxx ---- bridges/source/cpp_uno/gcc3_freebsd_intel/except.cxx 28 Apr 2003 16:41:25 -0000 1.4 -+++ bridges/source/cpp_uno/gcc3_freebsd_intel/except.cxx 27 Dec 2004 06:05:52 -0000 -@@ -2,9 +2,9 @@ - * - * $RCSfile: except.cxx,v $ - * -- * $Revision: 1.4 $ -+ * $Revision: 1.10 $ - * -- * last change: $Author: hr $ $Date: 2003/04/28 16:41:25 $ -+ * last change: $Author: obo $ $Date: 2004/06/04 02:59:59 $ - * - * The Contents of this file are made available subject to the terms of - * either of the following licenses -@@ -69,7 +69,8 @@ - #include <osl/diagnose.h> - #include <osl/mutex.hxx> - --#include <bridges/cpp_uno/bridge.hxx> -+#include <com/sun/star/uno/genfunc.hxx> -+#include "com/sun/star/uno/RuntimeException.hpp" - #include <typelib/typedescription.hxx> - #include <uno/any2.h> - -@@ -147,7 +148,7 @@ - }; - //__________________________________________________________________________________________________ - RTTI::RTTI() SAL_THROW( () ) -- : m_hApp( dlopen( 0, RTLD_LAZY ) ) -+ : m_hApp( dlopen( 0, RTLD_NOW | RTLD_GLOBAL ) ) - { - } - //__________________________________________________________________________________________________ -@@ -182,7 +183,8 @@ - buf.append( 'E' ); - - OString symName( buf.makeStringAndClear() ); -- rtti = (type_info *)dlsym( m_hApp, symName.getStr() ); -+//#iZ 22253 -+ rtti = (type_info *)dlsym( RTLD_DEFAULT, symName.getStr() ); - - if (rtti) - { -@@ -253,7 +255,7 @@ - //================================================================================================== - void raiseException( uno_Any * pUnoExc, uno_Mapping * pUno2Cpp ) - { --#if defined DEBUG -+#if OSL_DEBUG_LEVEL > 1 - OString cstr( - OUStringToOString( - *reinterpret_cast< OUString const * >( &pUnoExc->pType->pTypeName ), -@@ -275,7 +277,7 @@ - *reinterpret_cast< OUString const * >( &pUnoExc->pType->pTypeName ), - Reference< XInterface >() ); - } -- -+ - pCppExc = __cxa_allocate_exception( pTypeDescr->nSize ); - ::uno_copyAndConvertData( pCppExc, pUnoExc->pData, pTypeDescr, pUno2Cpp ); - -@@ -321,16 +323,16 @@ - Reference< XInterface >() ); - Type const & rType = ::getCppuType( &aRE ); - uno_type_any_constructAndConvert( pUnoExc, &aRE, rType.getTypeLibType(), pCpp2Uno ); --#if defined _DEBUG -+#if OSL_DEBUG_LEVEL > 0 - OString cstr( OUStringToOString( aRE.Message, RTL_TEXTENCODING_ASCII_US ) ); - OSL_ENSURE( 0, cstr.getStr() ); - #endif - return; - } -- -+ - typelib_TypeDescription * pExcTypeDescr = 0; - OUString unoName( toUNOname( header->exceptionType->name() ) ); --#if defined DEBUG -+#if OSL_DEBUG_LEVEL > 1 - OString cstr_unoName( OUStringToOString( unoName, RTL_TEXTENCODING_ASCII_US ) ); - fprintf( stderr, "> c++ exception occured: %s\n", cstr_unoName.getStr() ); - #endif -@@ -342,7 +344,7 @@ - Reference< XInterface >() ); - Type const & rType = ::getCppuType( &aRE ); - uno_type_any_constructAndConvert( pUnoExc, &aRE, rType.getTypeLibType(), pCpp2Uno ); --#if defined _DEBUG -+#if OSL_DEBUG_LEVEL > 0 - OString cstr( OUStringToOString( aRE.Message, RTL_TEXTENCODING_ASCII_US ) ); - OSL_ENSURE( 0, cstr.getStr() ); - #endif -Index: bridges/source/cpp_uno/gcc3_freebsd_intel/makefile.mk -=================================================================== -RCS file: /cvs/udk/bridges/source/cpp_uno/gcc3_freebsd_intel/makefile.mk,v -retrieving revision 1.2 -diff -u -r1.2 makefile.mk ---- bridges/source/cpp_uno/gcc3_freebsd_intel/makefile.mk 18 Mar 2003 19:06:52 -0000 1.2 -+++ bridges/source/cpp_uno/gcc3_freebsd_intel/makefile.mk 27 Dec 2004 06:05:52 -0000 -@@ -2,9 +2,9 @@ - # - # $RCSfile: makefile.mk,v $ - # --# $Revision: 1.2 $ -+# $Revision: 1.3 $ - # --# last change: $Author: hr $ $Date: 2003/03/18 19:06:52 $ -+# last change: $Author: hr $ $Date: 2004/02/03 12:37:41 $ - # - # The Contents of this file are made available subject to the terms of - # either of the following licenses -@@ -95,10 +95,8 @@ - SHL1IMPLIB=i$(TARGET) - SHL1VERSIONMAP=..$/..$/bridge_exports.map - --SHL1OBJS= \ -- $(SLO)$/except.obj \ -- $(SLO)$/cpp2uno.obj \ -- $(SLO)$/uno2cpp.obj -+SHL1OBJS = $(SLOFILES) -+SHL1LIBS = $(SLB)$/cpp_uno_shared.lib - - SHL1STDLIBS= \ - $(CPPULIB) \ -Index: bridges/source/cpp_uno/gcc3_freebsd_intel/share.hxx -=================================================================== -RCS file: /cvs/udk/bridges/source/cpp_uno/gcc3_freebsd_intel/share.hxx,v -retrieving revision 1.2 -diff -u -r1.2 share.hxx ---- bridges/source/cpp_uno/gcc3_freebsd_intel/share.hxx 18 Mar 2003 19:06:53 -0000 1.2 -+++ bridges/source/cpp_uno/gcc3_freebsd_intel/share.hxx 27 Dec 2004 06:05:52 -0000 -@@ -4,7 +4,7 @@ - * - * $Revision: 1.2 $ - * -- * last change: $Author: hr $ $Date: 2003/03/18 19:06:53 $ -+ * last change: $Author: hr $ $Date: 2004/02/03 12:38:19 $ - * - * The Contents of this file are made available subject to the terms of - * either of the following licenses -@@ -59,6 +59,8 @@ - * - ************************************************************************/ - -+#include "uno/mapping.h" -+ - #include <typeinfo> - #include <exception> - #include <cstddef> -@@ -66,6 +68,8 @@ - namespace CPPU_CURRENT_NAMESPACE - { - -+void dummy_can_throw_anything( char const * ); -+ - // ----- following decl from libstdc++-v3/libsupc++/unwind-cxx.h and unwind.h - - struct _Unwind_Exception -Index: bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx -=================================================================== -RCS file: /cvs/udk/bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx,v -retrieving revision 1.5 -diff -u -r1.5 uno2cpp.cxx ---- bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx 3 Nov 2004 09:03:15 -0000 1.5 -+++ bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx 27 Dec 2004 06:05:52 -0000 -@@ -2,9 +2,9 @@ - * - * $RCSfile: uno2cpp.cxx,v $ - * -- * $Revision: 1.5 $ -+ * $Revision: 1.7 $ - * -- * last change: $Author: pjunck $ $Date: 2004/11/03 09:03:15 $ -+ * last change: $Author: sb $ $Date: 2004/09/27 09:08:35 $ - * - * The Contents of this file are made available subject to the terms of - * either of the following licenses -@@ -59,24 +59,25 @@ - * - ************************************************************************/ - --#include <sal/alloca.h> --#include <rtl/alloc.h> -+#include <stdlib.h> - -+#include <com/sun/star/uno/genfunc.hxx> -+#include "com/sun/star/uno/RuntimeException.hpp" - #include <uno/data.h> --#include <bridges/cpp_uno/bridge.hxx> --#include <bridges/cpp_uno/type_misc.hxx> - --#include "share.hxx" -+#include "bridges/cpp_uno/shared/bridge.hxx" -+#include "bridges/cpp_uno/shared/types.hxx" -+#include "bridges/cpp_uno/shared/unointerfaceproxy.hxx" -+#include "bridges/cpp_uno/shared/vtables.hxx" - -+#include "share.hxx" - - using namespace ::rtl; - using namespace ::com::sun::star::uno; - --namespace CPPU_CURRENT_NAMESPACE -+namespace - { - --void dummy_can_throw_anything( char const * ); -- - //================================================================================================== - // The call instruction within the asm section of callVirtualMethod may throw - // exceptions. So that the compiler handles this correctly, it is important -@@ -85,7 +86,7 @@ - // callVirtualMethod is not inlined at its call site (so that any exceptions are - // caught which are thrown from the instruction calling callVirtualMethod): - void callVirtualMethod( -- void * pThis, -+ void * pAdjustedThisPtr, - sal_Int32 nVtableIndex, - void * pRegisterReturn, - typelib_TypeClass eReturnType, -@@ -93,7 +94,7 @@ - sal_Int32 nStackLongs ) __attribute__((noinline)); - - void callVirtualMethod( -- void * pThis, -+ void * pAdjustedThisPtr, - sal_Int32 nVtableIndex, - void * pRegisterReturn, - typelib_TypeClass eReturnType, -@@ -103,13 +104,13 @@ - // parameter list is mixed list of * and values - // reference parameters are pointers - -- OSL_ENSURE( pStackLongs && pThis, "### null ptr!" ); -+ OSL_ENSURE( pStackLongs && pAdjustedThisPtr, "### null ptr!" ); - OSL_ENSURE( (sizeof(void *) == 4) && (sizeof(sal_Int32) == 4), "### unexpected size of int!" ); - OSL_ENSURE( nStackLongs && pStackLongs, "### no stack in callVirtualMethod !" ); - - // never called -- if (! pThis) dummy_can_throw_anything("xxx"); // address something -- -+ if (! pAdjustedThisPtr) CPPU_CURRENT_NAMESPACE::dummy_can_throw_anything("xxx"); // address something -+ - volatile long edx = 0, eax = 0; // for register returns - void * stackptr; - asm volatile ( -@@ -139,8 +140,8 @@ - // cleanup stack - "mov %6, %%esp\n\t" - : -- : "m"(nStackLongs), "m"(pStackLongs), "m"(pThis), "m"(nVtableIndex), -- "m"(eax), "m"(edx), "m"(stackptr) -+ : "m"(nStackLongs), "m"(pStackLongs), "m"(pAdjustedThisPtr), -+ "m"(nVtableIndex), "m"(eax), "m"(edx), "m"(stackptr) - : "eax", "edx" ); - switch( eReturnType ) - { -@@ -172,8 +173,8 @@ - - //================================================================================================== - static void cpp_call( -- cppu_unoInterfaceProxy * pThis, -- sal_Int32 nVtableCall, -+ bridges::cpp_uno::shared::UnoInterfaceProxy * pThis, -+ bridges::cpp_uno::shared::VtableSlot aVtableSlot, - typelib_TypeDescriptionReference * pReturnTypeRef, - sal_Int32 nParams, typelib_MethodParameter * pParams, - void * pUnoReturn, void * pUnoArgs[], uno_Any ** ppUnoExc ) -@@ -192,21 +193,25 @@ - - if (pReturnTypeDescr) - { -- if (cppu_isSimpleType( pReturnTypeDescr )) -+ if (bridges::cpp_uno::shared::isSimpleType( pReturnTypeDescr )) - { - pCppReturn = pUnoReturn; // direct way for simple types - } - else - { - // complex return via ptr -- pCppReturn = *(void **)pCppStack = (cppu_relatesToInterface( pReturnTypeDescr ) -- ? alloca( pReturnTypeDescr->nSize ) -- : pUnoReturn); // direct way -+ pCppReturn = *(void **)pCppStack -+ = (bridges::cpp_uno::shared::relatesToInterfaceType( -+ pReturnTypeDescr ) -+ ? alloca( pReturnTypeDescr->nSize ) -+ : pUnoReturn); // direct way - pCppStack += sizeof(void *); - } - } - // push this -- *(void**)pCppStack = pThis->pCppI; -+ void * pAdjustedThisPtr = reinterpret_cast< void ** >(pThis->getCppI()) -+ + aVtableSlot.offset; -+ *(void**)pCppStack = pAdjustedThisPtr; - pCppStack += sizeof( void* ); - - // stack space -@@ -226,10 +231,11 @@ - typelib_TypeDescription * pParamTypeDescr = 0; - TYPELIB_DANGER_GET( &pParamTypeDescr, rParam.pTypeRef ); - -- if (!rParam.bOut && cppu_isSimpleType( pParamTypeDescr )) -+ if (!rParam.bOut -+ && bridges::cpp_uno::shared::isSimpleType( pParamTypeDescr )) - { - uno_copyAndConvertData( pCppArgs[nPos] = pCppStack, pUnoArgs[nPos], pParamTypeDescr, -- &pThis->pBridge->aUno2Cpp ); -+ pThis->getBridge()->getUno2Cpp() ); - - switch (pParamTypeDescr->eTypeClass) - { -@@ -254,11 +260,13 @@ - ppTempParamTypeDescr[nTempIndizes++] = pParamTypeDescr; - } - // is in/inout -- else if (cppu_relatesToInterface( pParamTypeDescr )) -+ else if (bridges::cpp_uno::shared::relatesToInterfaceType( -+ pParamTypeDescr )) - { - uno_copyAndConvertData( - *(void **)pCppStack = pCppArgs[nPos] = alloca( pParamTypeDescr->nSize ), -- pUnoArgs[nPos], pParamTypeDescr, &pThis->pBridge->aUno2Cpp ); -+ pUnoArgs[nPos], pParamTypeDescr, -+ pThis->getBridge()->getUno2Cpp() ); - - pTempIndizes[nTempIndizes] = nPos; // has to be reconverted - // will be released at reconversion -@@ -278,7 +286,7 @@ - { - OSL_ENSURE( !( (pCppStack - pCppStackStart ) & 3), "UNALIGNED STACK !!! (Please DO panic)" ); - callVirtualMethod( -- pThis->pCppI, nVtableCall, -+ pAdjustedThisPtr, aVtableSlot.index, - pCppReturn, pReturnTypeDescr->eTypeClass, - (sal_Int32 *)pCppStackStart, (pCppStack - pCppStackStart) / sizeof(sal_Int32) ); - // NO exception occured... -@@ -296,13 +304,13 @@ - { - uno_destructData( pUnoArgs[nIndex], pParamTypeDescr, 0 ); // destroy uno value - uno_copyAndConvertData( pUnoArgs[nIndex], pCppArgs[nIndex], pParamTypeDescr, -- &pThis->pBridge->aCpp2Uno ); -+ pThis->getBridge()->getCpp2Uno() ); - } - } - else // pure out - { - uno_copyAndConvertData( pUnoArgs[nIndex], pCppArgs[nIndex], pParamTypeDescr, -- &pThis->pBridge->aCpp2Uno ); -+ pThis->getBridge()->getCpp2Uno() ); - } - // destroy temp cpp param => cpp: every param was constructed - uno_destructData( pCppArgs[nIndex], pParamTypeDescr, cpp_release ); -@@ -313,14 +321,14 @@ - if (pCppReturn && pUnoReturn != pCppReturn) - { - uno_copyAndConvertData( pUnoReturn, pCppReturn, pReturnTypeDescr, -- &pThis->pBridge->aCpp2Uno ); -+ pThis->getBridge()->getCpp2Uno() ); - uno_destructData( pCppReturn, pReturnTypeDescr, cpp_release ); - } - } - catch (...) - { - // fill uno exception -- fillUnoException( __cxa_get_globals()->caughtExceptions, *ppUnoExc, &pThis->pBridge->aCpp2Uno ); -+ fillUnoException( CPPU_CURRENT_NAMESPACE::__cxa_get_globals()->caughtExceptions, *ppUnoExc, pThis->getBridge()->getCpp2Uno() ); - - // temporary params - for ( ; nTempIndizes--; ) -@@ -336,32 +344,32 @@ - } - } - -+} - - //================================================================================================== --void SAL_CALL cppu_unoInterfaceProxy_dispatch( -+void bridges::cpp_uno::shared::UnoInterfaceProxy::dispatch( - uno_Interface * pUnoI, const typelib_TypeDescription * pMemberDescr, -- void * pReturn, void * pArgs[], uno_Any ** ppException ) throw () -+ void * pReturn, void * pArgs[], uno_Any ** ppException ) SAL_THROW(()) - { - // is my surrogate -- cppu_unoInterfaceProxy * pThis = (cppu_unoInterfaceProxy *)pUnoI; -+ bridges::cpp_uno::shared::UnoInterfaceProxy * pThis -+ = static_cast< bridges::cpp_uno::shared::UnoInterfaceProxy * >(pUnoI); - typelib_InterfaceTypeDescription * pTypeDescr = pThis->pTypeDescr; - - switch (pMemberDescr->eTypeClass) - { - case typelib_TypeClass_INTERFACE_ATTRIBUTE: - { -- // determine vtable call index -- sal_Int32 nMemberPos = ((typelib_InterfaceMemberTypeDescription *)pMemberDescr)->nPosition; -- OSL_ENSURE( nMemberPos < pTypeDescr->nAllMembers, "### member pos out of range!" ); -- -- sal_Int32 nVtableCall = pTypeDescr->pMapMemberIndexToFunctionIndex[nMemberPos]; -- OSL_ENSURE( nVtableCall < pTypeDescr->nMapFunctionIndexToMemberIndex, "### illegal vtable index!" ); -- -+ VtableSlot aVtableSlot( -+ getVtableSlot( -+ reinterpret_cast< -+ typelib_InterfaceAttributeTypeDescription const * >( -+ pMemberDescr))); - if (pReturn) - { - // dependent dispatch - cpp_call( -- pThis, nVtableCall, -+ pThis, aVtableSlot, - ((typelib_InterfaceAttributeTypeDescription *)pMemberDescr)->pAttributeTypeRef, - 0, 0, // no params - pReturn, pArgs, ppException ); -@@ -381,8 +389,9 @@ - &pReturnTypeRef, typelib_TypeClass_VOID, aVoidName.pData ); - - // dependent dispatch -+ aVtableSlot.index += 1; // get, then set method - cpp_call( -- pThis, nVtableCall +1, // get, then set method -+ pThis, aVtableSlot, - pReturnTypeRef, - 1, &aParam, - pReturn, pArgs, ppException ); -@@ -394,14 +403,12 @@ - } - case typelib_TypeClass_INTERFACE_METHOD: - { -- // determine vtable call index -- sal_Int32 nMemberPos = ((typelib_InterfaceMemberTypeDescription *)pMemberDescr)->nPosition; -- OSL_ENSURE( nMemberPos < pTypeDescr->nAllMembers, "### member pos out of range!" ); -- -- sal_Int32 nVtableCall = pTypeDescr->pMapMemberIndexToFunctionIndex[nMemberPos]; -- OSL_ENSURE( nVtableCall < pTypeDescr->nMapFunctionIndexToMemberIndex, "### illegal vtable index!" ); -- -- switch (nVtableCall) -+ VtableSlot aVtableSlot( -+ getVtableSlot( -+ reinterpret_cast< -+ typelib_InterfaceMethodTypeDescription const * >( -+ pMemberDescr))); -+ switch (aVtableSlot.index) - { - // standard calls - case 1: // acquire uno interface -@@ -419,8 +426,8 @@ - if (pTD) - { - uno_Interface * pInterface = 0; -- (*pThis->pBridge->pUnoEnv->getRegisteredInterface)( -- pThis->pBridge->pUnoEnv, -+ (*pThis->pBridge->getUnoEnv()->getRegisteredInterface)( -+ pThis->pBridge->getUnoEnv(), - (void **)&pInterface, pThis->oid.pData, (typelib_InterfaceTypeDescription *)pTD ); - - if (pInterface) -@@ -439,7 +446,7 @@ - default: - // dependent dispatch - cpp_call( -- pThis, nVtableCall, -+ pThis, aVtableSlot, - ((typelib_InterfaceMethodTypeDescription *)pMemberDescr)->pReturnTypeRef, - ((typelib_InterfaceMethodTypeDescription *)pMemberDescr)->nParams, - ((typelib_InterfaceMethodTypeDescription *)pMemberDescr)->pParams, -@@ -459,6 +466,3 @@ - } - } - } -- --} -- diff --git a/editors/openoffice-3-devel/files/patch-project-extentions b/editors/openoffice-3-devel/files/patch-project-extentions deleted file mode 100644 index a8b9d7ee9416..000000000000 --- a/editors/openoffice-3-devel/files/patch-project-extentions +++ /dev/null @@ -1,65 +0,0 @@ -#iZ and CWS -o http://www.openoffice.org/issues/show_bug.cgi?id=40179 -o http://eis.services.openoffice.org/EIS2/servlet/cws.ShowCWS?Id=2030&Path=SRC680%2Fpj16 -o pj16 - -Description - -o source/config/ldap/makefile.mk needs -lcompat since re_comp is defined here. -o FreeBSD doesn't have -ldl -o INC+= -DNP_LINUX is also requried for FreeBSD - -Index: source/config/ldap/makefile.mk -=================================================================== -RCS file: /cvs/util/extensions/source/config/ldap/makefile.mk,v -retrieving revision 1.4 -diff -u -r1.4 makefile.mk ---- extensions/source/config/ldap/makefile.mk 15 Nov 2004 14:14:22 -0000 1.4 -+++ extensions/source/config/ldap/makefile.mk 8 Jan 2005 02:48:29 -0000 -@@ -116,6 +116,9 @@ - $(CPPULIB) \ - $(SALHELPERLIB) \ - $(SALLIB) -+.IF "$(OS)"=="FREEBSD" -+SHL1STDLIBS+=-lcompat -+.ENDIF - - DEF1NAME=$(SHL1TARGET) - DEF1EXPORTFILE=exports.dxp -Index: source/nsplugin/source/makefile.mk -=================================================================== -RCS file: /cvs/util/extensions/source/nsplugin/source/makefile.mk,v -retrieving revision 1.8 -diff -u -r1.8 makefile.mk ---- extensions/source/nsplugin/source/makefile.mk 3 Jan 2005 09:04:51 -0000 1.8 -+++ extensions/source/nsplugin/source/makefile.mk 8 Jan 2005 02:48:30 -0000 -@@ -78,7 +78,7 @@ - @echo GTK disabled - nothing to build - - .ELSE # "$(ENABLE_GTK)"=="" --.IF "$(OS)"=="LINUX" -+.IF "$(OS)"=="LINUX" || "$(OS)"=="FREEBSD" - INC+= -DNP_LINUX - .ENDIF - PKGCONFIG_MODULES=gtk+-2.0 -@@ -99,8 +99,10 @@ - .IF "$(GUI)"=="UNX" - SHL1OBJS+=$(SLO)$/npunix.obj - SLOFILES+=$(SLO)$/npunix.obj -+.IF "$(OS)"!="FREEBSD" - SHL1STDLIBS+= -ldl -lnsl --.ENDIF -+.ENDIF #FREEBSD -+.ENDIF #UNX - .IF "$(GUI)"=="WNT" - SHL1OBJS+=$(SLO)$/npwin.obj - SLOFILES+=$(SLO)$/npwin.obj -@@ -131,7 +133,7 @@ - - .IF "$(GUI)"=="UNX" - APP1STDLIBS+=$(PKGCONFIG_LIBS:s/-lpangoxft-1.0//) --.IF "$(OS)"=="LINUX" -+.IF "$(OS)"=="LINUX" || "$(OS)"=="FREEBSD" - .ELSE - APP1STDLIBS+= -ldl -lnsl -lnls -lsocket - .ENDIF diff --git a/editors/openoffice-3-devel/files/patch-solenv+inc+unxfbsdi.mk b/editors/openoffice-3-devel/files/patch-solenv+inc+unxfbsdi.mk deleted file mode 100644 index f3f55df061d4..000000000000 --- a/editors/openoffice-3-devel/files/patch-solenv+inc+unxfbsdi.mk +++ /dev/null @@ -1,262 +0,0 @@ -#iZ and CWS -o http://www.openoffice.org/issues/show_bug.cgi?id=40182 - -Description -o catch up recent unxlngi6.mk -o -Wl,-z,defs -> comment out - -Index: solenv/inc/unxfbsdi.mk -=================================================================== -RCS file: /cvs/tools/solenv/inc/unxfbsdi.mk,v -retrieving revision 1.11 -diff -u -r1.11 unxfbsdi.mk ---- solenv/inc/unxfbsdi.mk 20 Sep 2004 08:37:13 -0000 1.11 -+++ solenv/inc/unxfbsdi.mk 10 Jan 2005 07:44:44 -0000 -@@ -60,16 +60,26 @@ - # - #************************************************************************* - --# mak file for unxfbsdi --ASM=$(CC) --AFLAGS=-x assembler-with-cpp -c $(CDEFS) -+# mk file for unxfbsdi -+ASM= -+AFLAGS= -+ -+SOLAR_JAVA*=TRUE -+JAVAFLAGSDEBUG=-g - - # filter for supressing verbose messages from linker - #not needed at the moment - #LINKOUTPUT_FILTER=" |& $(SOLARENV)$/bin$/msg_filter" - -+# _PTHREADS is needed for the stl -+CDEFS+=$(PTHREAD_CFLAGS) -DX86 -D_PTHREADS -D_REENTRANT -DNEW_SOLAR -D_USE_NAMESPACE=1 -DSTLPORT_VERSION=400 -+ -+# enable visibility define in "sal/types.h" -+.IF "$(HAVE_GCC_VISIBILITY_FEATURE)" == "TRUE" -+CDEFS += -DHAVE_GCC_VISIBILITY_FEATURE -+.ENDIF # "$(HAVE_GCC_VISIBILITY_FEATURE)" == "TRUE" -+ - # this is a platform with JAVA support --SOLAR_JAVA*=TRUE - .IF "$(SOLAR_JAVA)"!="" - JAVADEF=-DSOLAR_JAVA - .IF "$(debug)"=="" -@@ -83,90 +93,82 @@ - CXX*=g++ - # name of C Compiler - CC*=gcc -+.IF "$(SYSBASE)"!="" -+CFLAGS_SYSBASE:=-isystem $(SYSBASE)$/usr$/include -+CXX+:=$(CFLAGS_SYSBASE) -+CC+:=$(CFLAGS_SYSBASE) -+.ENDIF # "$(SYSBASE)"!="" -+CFLAGS+=-Wreturn-type -fmessage-length=0 -c $(INCLUDE) -+.IF "$(PRODUCT)"!="" -+CFLAGS+=-Wuninitialized -+.ENDIF - --# filter for supressing verbose messages from linker --# not needed at the moment --LINKOUTPUT_FILTER=" |& $(SOLARENV)$/bin$/msg_filter" -+# flags to enable build with symbols; required for crashdump feature -+.IF "$(ENABLE_SYMBOLS)"=="SMALL" -+CFLAGSENABLESYMBOLS=-g1 -+.ELSE -+CFLAGSENABLESYMBOLS=-g # was temporarily commented out, reenabled before Beta - --# options for C and C++ Compiler --CDEFS+= -D_USE_NAMESPACE=1 -DX86 -DNEW_SOLAR -DSTLPORT_VERSION=450 -DOSVERSION=$(OSVERSION) --CDEFS+= $(PTHREAD_CFLAGS) -D_REENTRANT -- --# flags for C and C++ Compile --CFLAGS+= -w -c $(INCLUDE) --CFLAGS+= -I/usr/X11R6/include -+.ENDIF - - # flags for the C++ Compiler --CFLAGSCC= -pipe -fno-rtti --CFLAGSCXX= -pipe -fno-rtti --CFLAGSCXX+= -Wno-ctor-dtor-privacy -- -+CFLAGSCC= -pipe -mtune=pentiumpro - # Flags for enabling exception handling --CFLAGSEXCEPTIONS= -fexceptions --CFLAGS_NO_EXCEPTIONS= -fno-exceptions -- --# Compiler flags for compiling static object in single threaded --# environment with graphical user interface --CFLAGSOBJGUIST= -fPIC -- --# Compiler flags for compiling static object in single threaded --# environment with character user interface --CFLAGSOBJCUIST= -fPIC -- --# Compiler flags for compiling static object in multi threaded --# environment with graphical user interface --CFLAGSOBJGUIMT= -fPIC -- --# Compiler flags for compiling static object in multi threaded --# environment with character user interface --CFLAGSOBJCUIMT= -fPIC -- --# Compiler flags for compiling shared object in multi threaded --# environment with graphical user interface --CFLAGSSLOGUIMT= -fPIC -- --# Compiler flags for compiling shared object in multi threaded --# environment with character user interface --CFLAGSSLOCUIMT= -fPIC -+CFLAGSEXCEPTIONS=-fexceptions -fno-enforce-eh-specs -+# Flags for disabling exception handling -+CFLAGS_NO_EXCEPTIONS=-fno-exceptions - --# Compiler flags for profilin --CFLAGSPROF= -pg -+# -fpermissive should be removed as soon as possible -+CFLAGSCXX= -pipe -mtune=pentiumpro -+CFLAGSCXX+= -Wno-ctor-dtor-privacy - -+# Compiler flags for compiling static object in single threaded environment with graphical user interface -+CFLAGSOBJGUIST= -+# Compiler flags for compiling static object in single threaded environment with character user interface -+CFLAGSOBJCUIST= -+# Compiler flags for compiling static object in multi threaded environment with graphical user interface -+CFLAGSOBJGUIMT= -+# Compiler flags for compiling static object in multi threaded environment with character user interface -+CFLAGSOBJCUIMT= -+# Compiler flags for compiling shared object in multi threaded environment with graphical user interface -+CFLAGSSLOGUIMT=-fPIC -+# Compiler flags for compiling shared object in multi threaded environment with character user interface -+CFLAGSSLOCUIMT=-fPIC -+# Compiler flags for profiling -+CFLAGSPROF= - # Compiler flags for debugging --CFLAGSDEBUG= -g -+CFLAGSDEBUG=-g - CFLAGSDBGUTIL= -- --# Compiler flags to enable optimizations --# -02 is broken for FreeBSD --CFLAGSOPT= -O -- --# Compiler flags to disable optimizations --# -0 is broken for STLport for FreeBSD --CFLAGSNOOPT= -O0 -- --# Compiler flags for the output path --CFLAGSOUTOBJ= -o -- -+# Compiler flags for enabling optimazations -+.IF "$(PRODUCT)"!="" -+CFLAGSOPT=-Os -fno-strict-aliasing # optimizing for products -+.ELSE # "$(PRODUCT)"!="" -+CFLAGSOPT= # no optimizing for non products -+.ENDIF # "$(PRODUCT)"!="" -+# Compiler flags for disabling optimazations -+CFLAGSNOOPT=-O0 -+# Compiler flags for discibing the output path -+CFLAGSOUTOBJ=-o - # Enable all warnings - CFLAGSWALL=-Wall -- - # Set default warn level --CFLAGSDFLTWARN=-w -+CFLAGSDFLTWARN= - - # switches for dynamic and static linking --STATIC= -Wl,-Bstatic --DYNAMIC= -Wl,-Bdynamic -+STATIC = -Wl,-Bstatic -+DYNAMIC = -Wl,-Bdynamic - - # name of linker --LINK=$(CC) -+LINK*=$(CXX) - - # default linker flags --# LINKFLAGSRUNPATH*=-Wl,-rpath\''$$ORIGIN'\' --LINKFLAGS=$(LINKFLAGSRUNPATH) -+LINKFLAGSDEFS*=#-Wl,-z,defs -+LINKFLAGSRUNPATH*=-Wl,-rpath,\''$$ORIGIN'\' -+LINKFLAGS=-z combreloc $(LINKFLAGSDEFS) $(LINKFLAGSRUNPATH) - - # linker flags for linking applications --LINKFLAGSAPPGUI= -Wl,--noinhibit-exec --LINKFLAGSAPPCUI= -Wl,--noinhibit-exec -+LINKFLAGSAPPGUI= -Wl,-export-dynamic -Wl,--noinhibit-exec -+LINKFLAGSAPPCUI= -Wl,-export-dynamic -Wl,--noinhibit-exec - - # linker flags for linking shared libraries - LINKFLAGSSHLGUI= -shared -@@ -177,23 +179,19 @@ - LINKFLAGSDEBUG=-g - LINKFLAGSOPT= - --.IF "$(NO_BSYMBOLIC)"=="" --.IF "$(PRJNAME)" != "envtest" --LINKFLAGSSHLGUI+= -Wl,-Bsymbolic --LINKFLAGSSHLCUI+= -Wl,-Bsymbolic --.ENDIF --.ENDIF -+# linker flags for optimization (symbol hashtable) -+# for now, applied to symbol scoped libraries, only -+LINKFLAGSOPTIMIZE*=-Wl,-O1 -+LINKVERSIONMAPFLAG=$(LINKFLAGSOPTIMIZE) -Wl,--version-script - --LINKVERSIONMAPFLAG=-Wl,--version-script -+SONAME_SWITCH=-Wl,-h - - # Sequence of libs does matter ! --STDLIBCPP=-lstdc++ - --# _SYSLIBS= -L/usr/lib -lm --# _X11LIBS= -L/usr/X11R6/lib -lXext -lX11 --# _CXXLIBS= -L/usr/lib -lstdc++ -L/usr/local/lib -+STDLIBCPP=-lstdc++ - - # default objectfilenames to link -+STDOBJVCL=$(L)$/salmain.o - STDOBJGUI= - STDSLOGUI= - STDOBJCUI= -@@ -201,24 +199,25 @@ - - # libraries for linking applications - STDLIBCUIST=-lm --STDLIBGUIST=-lXaw -lXt -lX11 -lm --STDLIBGUIMT=-lXaw -lXt -lX11 $(PTHREAD_LIBS) -lm -+STDLIBGUIMT=-lX11 $(PTHREAD_LIBS) -lm - STDLIBCUIMT=$(PTHREAD_LIBS) -lm -- -+STDLIBGUIST=-lX11 -lm - # libraries for linking shared libraries --STDSHLGUIMT=-lXaw -lXt -lX11 -lXext $(PTHREAD_LIBS) -lm -+STDSHLGUIMT=-lX11 -lXext $(PTHREAD_LIBS) -lm - STDSHLCUIMT=$(PTHREAD_LIBS) -lm -+STDSHLGUIST=-lX11 -lXext -lm -+STDSHLCUIST=-lm - - LIBSALCPPRT*=-Wl,--whole-archive -lsalcpprt -Wl,--no-whole-archive - --# STLport always needs pthread. --LIBSTLPORT=$(DYNAMIC) -lstlport_gcc $(STDLIBCPP) $(PTHREAD_LIBS) --LIBSTLPORTST=$(STATIC) -lstlport_gcc $(DYNAMIC) $(PTHREAD_LIBS) -+LIBSTLPORT=$(DYNAMIC) -lstlport_gcc -+LIBSTLPORTST=$(STATIC) -lstlport_gcc $(DYNAMIC) -+ -+#FILLUPARC=$(STATIC) -lsupc++ $(DYNAMIC) - - # name of library manager - LIBMGR=ar - LIBFLAGS=-r --LIBEXT= .a - - # tool for generating import libraries - IMPLIB= -@@ -237,3 +236,4 @@ - DLLPOSTFIX=fi - DLLPRE=lib - DLLPOST=.so -+ diff --git a/editors/openoffice-3-devel/files/patch-transex3+source+xmlparse.cxx b/editors/openoffice-3-devel/files/patch-transex3+source+xmlparse.cxx deleted file mode 100644 index de1864d5e9cb..000000000000 --- a/editors/openoffice-3-devel/files/patch-transex3+source+xmlparse.cxx +++ /dev/null @@ -1,24 +0,0 @@ -#iZ and CWS -o http://www.openoffice.org/issues/show_bug.cgi?id=40184 -o http://eis.services.openoffice.org/EIS2/servlet/cws.ShowCWS?Id=2030&Path=SRC680%2Fpj16 -o pj16 - -Description -FreeBSD doesn't have alloca.h - -Index: source/xmlparse.cxx -=================================================================== -RCS file: /cvs/l10n/transex3/source/xmlparse.cxx,v -retrieving revision 1.5 -diff -u -r1.5 xmlparse.cxx ---- transex3/source/xmlparse.cxx 18 Nov 2004 08:17:50 -0000 1.5 -+++ transex3/source/xmlparse.cxx 8 Jan 2005 02:56:14 -0000 -@@ -67,7 +67,7 @@ - #ifdef WIN32 - #include <malloc.h> - #else --#ifndef MACOSX -+#if !(defined(MACOSX) || defined(FREEBSD)) - #include <alloca.h> - #endif - #endif diff --git a/editors/openoffice-3/Makefile b/editors/openoffice-3/Makefile index c563bd2c2beb..e6be311f3b31 100644 --- a/editors/openoffice-3/Makefile +++ b/editors/openoffice-3/Makefile @@ -19,7 +19,7 @@ EXTRACT_ONLY= OOo_${RELEASE_NR}m${MILESTONE}_source.tar.bz2 MAINTAINER= openoffice@FreeBSD.org COMMENT?= Integrated wordprocessor/dbase/spreadheet/drawing/chart/browser(developer version) -SNAPDATE= 20050119 +SNAPDATE= 20050123 NO_LATEST_LINK= yes USE_GNOME= gtk20 MOZILLA_PROJECT= cws_srx645_mozooo.20041016.tar.gz @@ -49,7 +49,7 @@ BROKEN= "rtld depends on _end symbol. type make -DBROKEN to see how to upgrade CODELINE= 680 RELEASE_NR= 1.9 -MILESTONE= 72 +MILESTONE= 73 INSTALLATION_BASEDIR= openoffice.org${RELEASE_NR}m${MILESTONE} EXECBASE= openoffice.org-${RELEASE_NR}m${MILESTONE} DIST_SUBDIR= openoffice.org2.0 diff --git a/editors/openoffice-3/distinfo b/editors/openoffice-3/distinfo index 8b7774bf8f23..c9e7f5358b88 100644 --- a/editors/openoffice-3/distinfo +++ b/editors/openoffice-3/distinfo @@ -1,5 +1,5 @@ -MD5 (openoffice.org2.0/OOo_1.9m72_source.tar.bz2) = c51fa9d749f1e5eb3733d50b91f97fe8 -SIZE (openoffice.org2.0/OOo_1.9m72_source.tar.bz2) = 233690890 +MD5 (openoffice.org2.0/OOo_1.9m73_source.tar.bz2) = 0885bb45bd204b03b16f8276cbd922e0 +SIZE (openoffice.org2.0/OOo_1.9m73_source.tar.bz2) = 233756500 MD5 (openoffice.org2.0/gpc231.tar.Z) = fdb06fdb5a4670b172f9fb738b717be9 SIZE (openoffice.org2.0/gpc231.tar.Z) = 27917 MD5 (openoffice.org2.0/cws_srx645_mozooo.20041016.tar.gz) = eda0ab73b24c45890ae08bdfe04049bd diff --git a/editors/openoffice-3/files/Makefile.knobs b/editors/openoffice-3/files/Makefile.knobs index 5b9c07e3afce..0afc3acadf7e 100644 --- a/editors/openoffice-3/files/Makefile.knobs +++ b/editors/openoffice-3/files/Makefile.knobs @@ -19,7 +19,7 @@ CONFIGURE_ARGS+= --enable-cups .if defined(ALL_LOCALIZED_LANGS) CONFIGURE_ARGS+= --with-lang="en-US ar ca cs da de el es et fi fr he hi-IN hu it ja ko pl pt pt-BR ru sk sl sv th tr zh-CN zh-TW" -#following langs still seem to be under development +#following langs still seem to be under development #af bg cy eo eu gl kn-IN lt nb nl nn ns tn zu #CONFIGURE_ARGS+= --with-lang=ALL .else diff --git a/editors/openoffice-3/files/patch-config_office+set_soenv.in b/editors/openoffice-3/files/patch-config_office+set_soenv.in deleted file mode 100644 index 9b2a97774dc1..000000000000 --- a/editors/openoffice-3/files/patch-config_office+set_soenv.in +++ /dev/null @@ -1,25 +0,0 @@ -#iZ and CWS -o http://www.openoffice.org/issues/show_bug.cgi?id=37731 -o http://eis.services.openoffice.org/EIS2/servlet/cws.ShowCWS?Id=2030&Path=SRC680%2Fpj16 -o pj16 - -Description -Do not export LINK to environment - -Index: config_office/set_soenv.in -=================================================================== -RCS file: /cvs/tools/config_office/set_soenv.in,v -retrieving revision 1.31 -diff -u -r1.31 set_soenv.in ---- config_office/set_soenv.in 5 Jan 2005 12:10:00 -0000 1.31 -+++ config_office/set_soenv.in 9 Jan 2005 18:51:24 -0000 -@@ -1684,9 +1684,6 @@ - ToFile( "CC", $CC, "e" ); - ToFile( "CXX", $CXX, "e" ); - ToFile( "USE_SYSTEM_STL", "@USE_SYSTEM_STL@", "e" ); --if ( $COM ne "MSC" ) { -- ToFile( "LINK", $CC, "e" ); --} - ToFile( "ENABLE_SYMBOLS", "@ENABLE_SYMBOLS@", "e" ); - ToFile( "ENABLE_CRASHDUMP", "@ENABLE_CRASHDUMP@", "e" ); - ToFile( "ENABLE_CUPS", "@ENABLE_CUPS@", "e" ); diff --git a/editors/openoffice-3/files/patch-project-bridges b/editors/openoffice-3/files/patch-project-bridges deleted file mode 100644 index 890cab171898..000000000000 --- a/editors/openoffice-3/files/patch-project-bridges +++ /dev/null @@ -1,1004 +0,0 @@ -#iZ and CWS -o http://www.openoffice.org/issues/show_bug.cgi?id=40178 - -Description -catch up recent version of -bridges/source/cpp_uno/gcc3_linux_intel/cpp2uno.cxx -Only difference is: -- rtti = (type_info *)dlsym( m_hApp, symName.getStr() ); -+ rtti = (type_info *)dlsym( RTLD_DEFAULT, symName.getStr() ); -#iZ 22253 for reason why we changed m_hApp to RTLD_DEFAULT - -Index: bridges/source/cpp_uno/gcc3_freebsd_intel/cpp2uno.cxx -=================================================================== -RCS file: /cvs/udk/bridges/source/cpp_uno/gcc3_freebsd_intel/cpp2uno.cxx,v -retrieving revision 1.3 -diff -u -r1.3 cpp2uno.cxx ---- bridges/source/cpp_uno/gcc3_freebsd_intel/cpp2uno.cxx 28 Apr 2003 16:28:20 -0000 1.3 -+++ bridges/source/cpp_uno/gcc3_freebsd_intel/cpp2uno.cxx 27 Dec 2004 06:05:52 -0000 -@@ -2,9 +2,9 @@ - * - * $RCSfile: cpp2uno.cxx,v $ - * -- * $Revision: 1.3 $ -+ * $Revision: 1.6 $ - * -- * last change: $Author: hr $ $Date: 2003/04/28 16:28:20 $ -+ * last change: $Author: obo $ $Date: 2004/06/04 02:59:45 $ - * - * The Contents of this file are made available subject to the terms of - * either of the following licenses -@@ -59,34 +59,26 @@ - * - ************************************************************************/ - --#include <hash_map> -- --#include <sal/alloca.h> --#include <rtl/alloc.h> --#include <osl/mutex.hxx> -- -+#include <com/sun/star/uno/genfunc.hxx> -+#include "com/sun/star/uno/RuntimeException.hpp" - #include <uno/data.h> - #include <typelib/typedescription.hxx> - --#include <bridges/cpp_uno/bridge.hxx> --#include <bridges/cpp_uno/type_misc.hxx> -+#include "bridges/cpp_uno/shared/bridge.hxx" -+#include "bridges/cpp_uno/shared/cppinterfaceproxy.hxx" -+#include "bridges/cpp_uno/shared/types.hxx" -+#include "bridges/cpp_uno/shared/vtablefactory.hxx" - - #include "share.hxx" - -- --using namespace ::osl; --using namespace ::rtl; - using namespace ::com::sun::star::uno; - --namespace CPPU_CURRENT_NAMESPACE -+namespace - { - - //================================================================================================== --rtl_StandardModuleCount g_moduleCount = MODULE_COUNT_INIT; -- --//================================================================================================== - static typelib_TypeClass cpp2uno_call( -- cppu_cppInterfaceProxy * pThis, -+ bridges::cpp_uno::shared::CppInterfaceProxy * pThis, - const typelib_TypeDescription * pMemberTypeDescr, - typelib_TypeDescriptionReference * pReturnTypeRef, // 0 indicates void return - sal_Int32 nParams, typelib_MethodParameter * pParams, -@@ -106,7 +98,7 @@ - - if (pReturnTypeDescr) - { -- if (cppu_isSimpleType( pReturnTypeDescr )) -+ if (bridges::cpp_uno::shared::isSimpleType( pReturnTypeDescr )) - { - pUnoReturn = pRegisterReturn; // direct way for simple types - } -@@ -115,7 +107,8 @@ - pCppReturn = *(void **)pCppStack; - pCppStack += sizeof(void *); - -- pUnoReturn = (cppu_relatesToInterface( pReturnTypeDescr ) -+ pUnoReturn = (bridges::cpp_uno::shared::relatesToInterfaceType( -+ pReturnTypeDescr ) - ? alloca( pReturnTypeDescr->nSize ) - : pCppReturn); // direct way - } -@@ -141,7 +134,9 @@ - typelib_TypeDescription * pParamTypeDescr = 0; - TYPELIB_DANGER_GET( &pParamTypeDescr, rParam.pTypeRef ); - -- if (!rParam.bOut && cppu_isSimpleType( pParamTypeDescr )) // value -+ if (!rParam.bOut -+ && bridges::cpp_uno::shared::isSimpleType( pParamTypeDescr )) -+ // value - { - pCppArgs[nPos] = pCppStack; - pUnoArgs[nPos] = pCppStack; -@@ -168,11 +163,12 @@ - ppTempParamTypeDescr[nTempIndizes++] = pParamTypeDescr; - } - // is in/inout -- else if (cppu_relatesToInterface( pParamTypeDescr )) -+ else if (bridges::cpp_uno::shared::relatesToInterfaceType( -+ pParamTypeDescr )) - { - uno_copyAndConvertData( pUnoArgs[nPos] = alloca( pParamTypeDescr->nSize ), - *(void **)pCppStack, pParamTypeDescr, -- &pThis->pBridge->aCpp2Uno ); -+ pThis->getBridge()->getCpp2Uno() ); - pTempIndizes[nTempIndizes] = nPos; // has to be reconverted - // will be released at reconversion - ppTempParamTypeDescr[nTempIndizes++] = pParamTypeDescr; -@@ -192,7 +188,8 @@ - uno_Any * pUnoExc = &aUnoExc; - - // invoke uno dispatch call -- (*pThis->pUnoI->pDispatcher)( pThis->pUnoI, pMemberTypeDescr, pUnoReturn, pUnoArgs, &pUnoExc ); -+ (*pThis->getUnoI()->pDispatcher)( -+ pThis->getUnoI(), pMemberTypeDescr, pUnoReturn, pUnoArgs, &pUnoExc ); - - // in case an exception occured... - if (pUnoExc) -@@ -209,7 +206,9 @@ - if (pReturnTypeDescr) - TYPELIB_DANGER_RELEASE( pReturnTypeDescr ); - -- raiseException( &aUnoExc, &pThis->pBridge->aUno2Cpp ); // has to destruct the any -+ CPPU_CURRENT_NAMESPACE::raiseException( -+ &aUnoExc, pThis->getBridge()->getUno2Cpp() ); -+ // has to destruct the any - // is here for dummy - return typelib_TypeClass_VOID; - } -@@ -226,7 +225,7 @@ - // convert and assign - uno_destructData( pCppArgs[nIndex], pParamTypeDescr, cpp_release ); - uno_copyAndConvertData( pCppArgs[nIndex], pUnoArgs[nIndex], pParamTypeDescr, -- &pThis->pBridge->aUno2Cpp ); -+ pThis->getBridge()->getUno2Cpp() ); - } - // destroy temp uno param - uno_destructData( pUnoArgs[nIndex], pParamTypeDescr, 0 ); -@@ -239,7 +238,7 @@ - if (pUnoReturn != pCppReturn) // needs reconversion - { - uno_copyAndConvertData( pCppReturn, pUnoReturn, pReturnTypeDescr, -- &pThis->pBridge->aUno2Cpp ); -+ pThis->getBridge()->getUno2Cpp() ); - // destroy temp uno return - uno_destructData( pUnoReturn, pReturnTypeDescr, 0 ); - } -@@ -260,38 +259,41 @@ - - //================================================================================================== - static typelib_TypeClass cpp_mediate( -- sal_Int32 nVtableCall, -+ sal_Int32 nFunctionIndex, -+ sal_Int32 nVtableOffset, - void ** pCallStack, - sal_Int64 * pRegisterReturn /* space for register return */ ) - { - OSL_ENSURE( sizeof(sal_Int32)==sizeof(void *), "### unexpected!" ); - - // pCallStack: ret adr, [ret *], this, params -- // _this_ ptr is patched cppu_XInterfaceProxy object -- cppu_cppInterfaceProxy * pCppI = NULL; -- if( nVtableCall & 0x80000000 ) -+ void * pThis; -+ if( nFunctionIndex & 0x80000000 ) - { -- nVtableCall &= 0x7fffffff; -- pCppI = (cppu_cppInterfaceProxy *)(XInterface *)*(pCallStack +2); -+ nFunctionIndex &= 0x7fffffff; -+ pThis = pCallStack[2]; - } - else - { -- pCppI = (cppu_cppInterfaceProxy *)(XInterface *)*(pCallStack +1); -+ pThis = pCallStack[1]; - } -+ pThis = static_cast< char * >(pThis) - nVtableOffset; -+ bridges::cpp_uno::shared::CppInterfaceProxy * pCppI -+ = bridges::cpp_uno::shared::CppInterfaceProxy::castInterfaceToProxy( -+ pThis); - -- typelib_InterfaceTypeDescription * pTypeDescr = pCppI->pTypeDescr; -+ typelib_InterfaceTypeDescription * pTypeDescr = pCppI->getTypeDescr(); - -- OSL_ENSURE( nVtableCall < pTypeDescr->nMapFunctionIndexToMemberIndex, "### illegal vtable index!" ); -- if (nVtableCall >= pTypeDescr->nMapFunctionIndexToMemberIndex) -+ OSL_ENSURE( nFunctionIndex < pTypeDescr->nMapFunctionIndexToMemberIndex, "### illegal vtable index!" ); -+ if (nFunctionIndex >= pTypeDescr->nMapFunctionIndexToMemberIndex) - { - throw RuntimeException( -- OUString::createFromAscii("illegal vtable index!"), -- (XInterface *)pCppI ); -+ rtl::OUString::createFromAscii("illegal vtable index!"), -+ (XInterface *)pThis ); - } - - // determine called method -- OSL_ENSURE( nVtableCall < pTypeDescr->nMapFunctionIndexToMemberIndex, "### illegal vtable index!" ); -- sal_Int32 nMemberPos = pTypeDescr->pMapFunctionIndexToMemberIndex[nVtableCall]; -+ sal_Int32 nMemberPos = pTypeDescr->pMapFunctionIndexToMemberIndex[nFunctionIndex]; - OSL_ENSURE( nMemberPos < pTypeDescr->nAllMembers, "### illegal member index!" ); - - TypeDescription aMemberDescr( pTypeDescr->ppAllMembers[nMemberPos] ); -@@ -301,7 +303,7 @@ - { - case typelib_TypeClass_INTERFACE_ATTRIBUTE: - { -- if (pTypeDescr->pMapMemberIndexToFunctionIndex[nMemberPos] == nVtableCall) -+ if (pTypeDescr->pMapMemberIndexToFunctionIndex[nMemberPos] == nFunctionIndex) - { - // is GET method - eRet = cpp2uno_call( -@@ -330,7 +332,7 @@ - case typelib_TypeClass_INTERFACE_METHOD: - { - // is METHOD -- switch (nVtableCall) -+ switch (nFunctionIndex) - { - case 1: // acquire() - pCppI->acquireProxy(); // non virtual call! -@@ -347,9 +349,10 @@ - if (pTD) - { - XInterface * pInterface = 0; -- (*pCppI->pBridge->pCppEnv->getRegisteredInterface)( -- pCppI->pBridge->pCppEnv, -- (void **)&pInterface, pCppI->oid.pData, (typelib_InterfaceTypeDescription *)pTD ); -+ (*pCppI->getBridge()->getCppEnv()->getRegisteredInterface)( -+ pCppI->getBridge()->getCppEnv(), -+ (void **)&pInterface, pCppI->getOid().pData, -+ (typelib_InterfaceTypeDescription *)pTD ); - - if (pInterface) - { -@@ -378,8 +381,8 @@ - default: - { - throw RuntimeException( -- OUString::createFromAscii("no member description found!"), -- (XInterface *)pCppI ); -+ rtl::OUString::createFromAscii("no member description found!"), -+ (XInterface *)pThis ); - // is here for dummy - eRet = typelib_TypeClass_VOID; - } -@@ -393,12 +396,15 @@ - * is called on incoming vtable calls - * (called by asm snippets) - */ --static void cpp_vtable_call( int nTableEntry, void** pCallStack ) __attribute__((regparm(2))); -+static void cpp_vtable_call( -+ int nFunctionIndex, int nVtableOffset, void** pCallStack ) -+ __attribute__((regparm(3))); - --void cpp_vtable_call( int nTableEntry, void** pCallStack ) -+void cpp_vtable_call( int nFunctionIndex, int nVtableOffset, void** pCallStack ) - { - volatile long nRegReturn[2]; -- typelib_TypeClass aType = cpp_mediate( nTableEntry, pCallStack, (sal_Int64*)nRegReturn ); -+ typelib_TypeClass aType = cpp_mediate( -+ nFunctionIndex, nVtableOffset, pCallStack, (sal_Int64*)nRegReturn ); - - switch( aType ) - { -@@ -434,161 +440,103 @@ - - - //================================================================================================== --class MediateClassData --{ -- typedef ::std::hash_map< OUString, void *, OUStringHash > t_classdata_map; -- t_classdata_map m_map; -- Mutex m_mutex; -- --public: -- void const * get_vtable( typelib_InterfaceTypeDescription * pTD ) SAL_THROW( () ); -- -- inline MediateClassData() SAL_THROW( () ) -- {} -- ~MediateClassData() SAL_THROW( () ); --}; --//__________________________________________________________________________________________________ --MediateClassData::~MediateClassData() SAL_THROW( () ) -+int const codeSnippetSize = 20; -+ -+unsigned char * codeSnippet( -+ unsigned char * code, sal_Int32 functionIndex, sal_Int32 vtableOffset, -+ bool simpleRetType) - { -- OSL_TRACE( "> calling ~MediateClassData(): freeing mediate vtables." ); -- -- for ( t_classdata_map::const_iterator iPos( m_map.begin() ); iPos != m_map.end(); ++iPos ) -- { -- ::rtl_freeMemory( iPos->second ); -- } -+ if (!simpleRetType) { -+ functionIndex |= 0x80000000; -+ } -+ unsigned char * p = code; -+ OSL_ASSERT(sizeof (sal_Int32) == 4); -+ // mov function_index, %eax: -+ *p++ = 0xB8; -+ *reinterpret_cast< sal_Int32 * >(p) = functionIndex; -+ p += sizeof (sal_Int32); -+ // mov vtable_offset, %edx: -+ *p++ = 0xBA; -+ *reinterpret_cast< sal_Int32 * >(p) = vtableOffset; -+ p += sizeof (sal_Int32); -+ // mov %esp, %ecx: -+ *p++ = 0x89; -+ *p++ = 0xE1; -+ // jmp cpp_vtable_call: -+ *p++ = 0xE9; -+ *reinterpret_cast< sal_Int32 * >(p) -+ = ((unsigned char *) cpp_vtable_call) - p - sizeof (sal_Int32); -+ p += sizeof (sal_Int32); -+ OSL_ASSERT(p - code <= codeSnippetSize); -+ return code + codeSnippetSize; - } --//-------------------------------------------------------------------------------------------------- --static inline void codeSnippet( char * code, sal_uInt32 vtable_pos, bool simple_ret_type ) SAL_THROW( () ) --{ -- if (! simple_ret_type) -- vtable_pos |= 0x80000000; -- OSL_ASSERT( sizeof (long) == 4 ); -- // mov $nPos, %eax -- *code++ = 0xb8; -- *(long *)code = vtable_pos; -- code += sizeof (long); -- // mov %esp, %edx -- *code++ = 0x89; -- *code++ = 0xe2; -- // jmp cpp_vtable_call -- *code++ = 0xe9; -- *(long *)code = ((char *)cpp_vtable_call) - code - sizeof (long); -+ - } --//__________________________________________________________________________________________________ --void const * MediateClassData::get_vtable( typelib_InterfaceTypeDescription * pTD ) SAL_THROW( () ) --{ -- void * buffer; -- -- // avoiding locked counts -- OUString const & unoName = *(OUString const *)&((typelib_TypeDescription *)pTD)->pTypeName; -- { -- MutexGuard aGuard( m_mutex ); -- t_classdata_map::const_iterator iFind( m_map.find( unoName ) ); -- if (iFind == m_map.end()) -- { -- // create new vtable -- sal_Int32 nSlots = pTD->nMapFunctionIndexToMemberIndex; -- buffer = ::rtl_allocateMemory( ((2+ nSlots) * sizeof (void *)) + (nSlots *20) ); -- -- ::std::pair< t_classdata_map::iterator, bool > insertion( -- m_map.insert( t_classdata_map::value_type( unoName, buffer ) ) ); -- OSL_ENSURE( insertion.second, "### inserting new vtable buffer failed?!" ); -- -- void ** slots = (void **)buffer; -- *slots++ = 0; -- *slots++ = 0; // rtti -- char * code = (char *)(slots + nSlots); -- -- sal_uInt32 vtable_pos = 0; -- sal_Int32 nAllMembers = pTD->nAllMembers; -- typelib_TypeDescriptionReference ** ppAllMembers = pTD->ppAllMembers; -- for ( sal_Int32 nPos = 0; nPos < nAllMembers; ++nPos ) -- { -- typelib_TypeDescription * pTD = 0; -- TYPELIB_DANGER_GET( &pTD, ppAllMembers[ nPos ] ); -- OSL_ASSERT( pTD ); -- if (typelib_TypeClass_INTERFACE_ATTRIBUTE == pTD->eTypeClass) -- { -- bool simple_ret = cppu_isSimpleType( -- ((typelib_InterfaceAttributeTypeDescription *)pTD)->pAttributeTypeRef->eTypeClass ); -- // get method -- *slots++ = code; -- codeSnippet( code, vtable_pos++, simple_ret ); -- code += 20; -- if (! ((typelib_InterfaceAttributeTypeDescription *)pTD)->bReadOnly) -- { -- // set method -- *slots++ = code; -- codeSnippet( code, vtable_pos++, true ); -- code += 20; -- } -- } -- else -+ -+void ** bridges::cpp_uno::shared::VtableFactory::mapBlockToVtable(char * block) -+{ -+ return reinterpret_cast< void ** >(block) + 2; -+} -+ -+char * bridges::cpp_uno::shared::VtableFactory::createBlock( -+ sal_Int32 slotCount, void *** slots) -+{ -+ char * block = new char[ -+ (slotCount + 2) * sizeof (void *) + slotCount * codeSnippetSize]; -+ *slots = mapBlockToVtable(block); -+ (*slots)[-2] = 0; -+ (*slots)[-1] = 0; -+ return block; -+} -+ -+unsigned char * bridges::cpp_uno::shared::VtableFactory::addLocalFunctions( -+ void ** slots, unsigned char * code, -+ typelib_InterfaceTypeDescription const * type, sal_Int32 functionOffset, -+ sal_Int32 functionCount, sal_Int32 vtableOffset) -+{ -+ for (sal_Int32 i = 0; i < type->nMembers; ++i) { -+ typelib_TypeDescription * member = 0; -+ TYPELIB_DANGER_GET(&member, type->ppMembers[i]); -+ OSL_ASSERT(member != 0); -+ switch (member->eTypeClass) { -+ case typelib_TypeClass_INTERFACE_ATTRIBUTE: -+ // Getter: -+ *slots++ = code; -+ code = codeSnippet( -+ code, functionOffset++, vtableOffset, -+ bridges::cpp_uno::shared::isSimpleType( -+ reinterpret_cast< -+ typelib_InterfaceAttributeTypeDescription * >( -+ member)->pAttributeTypeRef)); -+ // Setter: -+ if (!reinterpret_cast< -+ typelib_InterfaceAttributeTypeDescription * >( -+ member)->bReadOnly) - { -- bool simple_ret = cppu_isSimpleType( -- ((typelib_InterfaceMethodTypeDescription *)pTD)->pReturnTypeRef->eTypeClass ); - *slots++ = code; -- codeSnippet( code, vtable_pos++, simple_ret ); -- code += 20; -+ code = codeSnippet(code, functionOffset++, vtableOffset, true); - } -- TYPELIB_DANGER_RELEASE( pTD ); -+ break; -+ -+ case typelib_TypeClass_INTERFACE_METHOD: -+ *slots++ = code; -+ code = codeSnippet( -+ code, functionOffset++, vtableOffset, -+ bridges::cpp_uno::shared::isSimpleType( -+ reinterpret_cast< -+ typelib_InterfaceMethodTypeDescription * >( -+ member)->pReturnTypeRef)); -+ break; -+ -+ default: -+ OSL_ASSERT(false); -+ break; - } -- OSL_ASSERT( vtable_pos == nSlots ); -- } -- else -- { -- buffer = iFind->second; -- } -+ TYPELIB_DANGER_RELEASE(member); - } -- -- return ((void **)buffer +2); --} -- --//================================================================================================== --void SAL_CALL cppu_cppInterfaceProxy_patchVtable( -- XInterface * pCppI, typelib_InterfaceTypeDescription * pTypeDescr ) throw () --{ -- static MediateClassData * s_pMediateClassData = 0; -- if (! s_pMediateClassData) -- { -- MutexGuard aGuard( Mutex::getGlobalMutex() ); -- if (! s_pMediateClassData) -- { --#ifdef LEAK_STATIC_DATA -- s_pMediateClassData = new MediateClassData(); --#else -- static MediateClassData s_aMediateClassData; -- s_pMediateClassData = &s_aMediateClassData; --#endif -- } -- } -- *(void const **)pCppI = s_pMediateClassData->get_vtable( pTypeDescr ); --} -- -+ return code; - } - --extern "C" --{ --//################################################################################################## --sal_Bool SAL_CALL component_canUnload( TimeValue * pTime ) -- SAL_THROW_EXTERN_C() --{ -- return CPPU_CURRENT_NAMESPACE::g_moduleCount.canUnload( -- &CPPU_CURRENT_NAMESPACE::g_moduleCount, pTime ); --} --//################################################################################################## --void SAL_CALL uno_initEnvironment( uno_Environment * pCppEnv ) -- SAL_THROW_EXTERN_C() --{ -- CPPU_CURRENT_NAMESPACE::cppu_cppenv_initEnvironment( -- pCppEnv ); --} --//################################################################################################## --void SAL_CALL uno_ext_getMapping( -- uno_Mapping ** ppMapping, uno_Environment * pFrom, uno_Environment * pTo ) -- SAL_THROW_EXTERN_C() --{ -- CPPU_CURRENT_NAMESPACE::cppu_ext_getMapping( -- ppMapping, pFrom, pTo ); --} --} -+void bridges::cpp_uno::shared::VtableFactory::flushCode( -+ unsigned char const *, unsigned char const *) -+{} -Index: bridges/source/cpp_uno/gcc3_freebsd_intel/except.cxx -=================================================================== -RCS file: /cvs/udk/bridges/source/cpp_uno/gcc3_freebsd_intel/except.cxx,v -retrieving revision 1.4 -diff -u -r1.4 except.cxx ---- bridges/source/cpp_uno/gcc3_freebsd_intel/except.cxx 28 Apr 2003 16:41:25 -0000 1.4 -+++ bridges/source/cpp_uno/gcc3_freebsd_intel/except.cxx 27 Dec 2004 06:05:52 -0000 -@@ -2,9 +2,9 @@ - * - * $RCSfile: except.cxx,v $ - * -- * $Revision: 1.4 $ -+ * $Revision: 1.10 $ - * -- * last change: $Author: hr $ $Date: 2003/04/28 16:41:25 $ -+ * last change: $Author: obo $ $Date: 2004/06/04 02:59:59 $ - * - * The Contents of this file are made available subject to the terms of - * either of the following licenses -@@ -69,7 +69,8 @@ - #include <osl/diagnose.h> - #include <osl/mutex.hxx> - --#include <bridges/cpp_uno/bridge.hxx> -+#include <com/sun/star/uno/genfunc.hxx> -+#include "com/sun/star/uno/RuntimeException.hpp" - #include <typelib/typedescription.hxx> - #include <uno/any2.h> - -@@ -147,7 +148,7 @@ - }; - //__________________________________________________________________________________________________ - RTTI::RTTI() SAL_THROW( () ) -- : m_hApp( dlopen( 0, RTLD_LAZY ) ) -+ : m_hApp( dlopen( 0, RTLD_NOW | RTLD_GLOBAL ) ) - { - } - //__________________________________________________________________________________________________ -@@ -182,7 +183,8 @@ - buf.append( 'E' ); - - OString symName( buf.makeStringAndClear() ); -- rtti = (type_info *)dlsym( m_hApp, symName.getStr() ); -+//#iZ 22253 -+ rtti = (type_info *)dlsym( RTLD_DEFAULT, symName.getStr() ); - - if (rtti) - { -@@ -253,7 +255,7 @@ - //================================================================================================== - void raiseException( uno_Any * pUnoExc, uno_Mapping * pUno2Cpp ) - { --#if defined DEBUG -+#if OSL_DEBUG_LEVEL > 1 - OString cstr( - OUStringToOString( - *reinterpret_cast< OUString const * >( &pUnoExc->pType->pTypeName ), -@@ -275,7 +277,7 @@ - *reinterpret_cast< OUString const * >( &pUnoExc->pType->pTypeName ), - Reference< XInterface >() ); - } -- -+ - pCppExc = __cxa_allocate_exception( pTypeDescr->nSize ); - ::uno_copyAndConvertData( pCppExc, pUnoExc->pData, pTypeDescr, pUno2Cpp ); - -@@ -321,16 +323,16 @@ - Reference< XInterface >() ); - Type const & rType = ::getCppuType( &aRE ); - uno_type_any_constructAndConvert( pUnoExc, &aRE, rType.getTypeLibType(), pCpp2Uno ); --#if defined _DEBUG -+#if OSL_DEBUG_LEVEL > 0 - OString cstr( OUStringToOString( aRE.Message, RTL_TEXTENCODING_ASCII_US ) ); - OSL_ENSURE( 0, cstr.getStr() ); - #endif - return; - } -- -+ - typelib_TypeDescription * pExcTypeDescr = 0; - OUString unoName( toUNOname( header->exceptionType->name() ) ); --#if defined DEBUG -+#if OSL_DEBUG_LEVEL > 1 - OString cstr_unoName( OUStringToOString( unoName, RTL_TEXTENCODING_ASCII_US ) ); - fprintf( stderr, "> c++ exception occured: %s\n", cstr_unoName.getStr() ); - #endif -@@ -342,7 +344,7 @@ - Reference< XInterface >() ); - Type const & rType = ::getCppuType( &aRE ); - uno_type_any_constructAndConvert( pUnoExc, &aRE, rType.getTypeLibType(), pCpp2Uno ); --#if defined _DEBUG -+#if OSL_DEBUG_LEVEL > 0 - OString cstr( OUStringToOString( aRE.Message, RTL_TEXTENCODING_ASCII_US ) ); - OSL_ENSURE( 0, cstr.getStr() ); - #endif -Index: bridges/source/cpp_uno/gcc3_freebsd_intel/makefile.mk -=================================================================== -RCS file: /cvs/udk/bridges/source/cpp_uno/gcc3_freebsd_intel/makefile.mk,v -retrieving revision 1.2 -diff -u -r1.2 makefile.mk ---- bridges/source/cpp_uno/gcc3_freebsd_intel/makefile.mk 18 Mar 2003 19:06:52 -0000 1.2 -+++ bridges/source/cpp_uno/gcc3_freebsd_intel/makefile.mk 27 Dec 2004 06:05:52 -0000 -@@ -2,9 +2,9 @@ - # - # $RCSfile: makefile.mk,v $ - # --# $Revision: 1.2 $ -+# $Revision: 1.3 $ - # --# last change: $Author: hr $ $Date: 2003/03/18 19:06:52 $ -+# last change: $Author: hr $ $Date: 2004/02/03 12:37:41 $ - # - # The Contents of this file are made available subject to the terms of - # either of the following licenses -@@ -95,10 +95,8 @@ - SHL1IMPLIB=i$(TARGET) - SHL1VERSIONMAP=..$/..$/bridge_exports.map - --SHL1OBJS= \ -- $(SLO)$/except.obj \ -- $(SLO)$/cpp2uno.obj \ -- $(SLO)$/uno2cpp.obj -+SHL1OBJS = $(SLOFILES) -+SHL1LIBS = $(SLB)$/cpp_uno_shared.lib - - SHL1STDLIBS= \ - $(CPPULIB) \ -Index: bridges/source/cpp_uno/gcc3_freebsd_intel/share.hxx -=================================================================== -RCS file: /cvs/udk/bridges/source/cpp_uno/gcc3_freebsd_intel/share.hxx,v -retrieving revision 1.2 -diff -u -r1.2 share.hxx ---- bridges/source/cpp_uno/gcc3_freebsd_intel/share.hxx 18 Mar 2003 19:06:53 -0000 1.2 -+++ bridges/source/cpp_uno/gcc3_freebsd_intel/share.hxx 27 Dec 2004 06:05:52 -0000 -@@ -4,7 +4,7 @@ - * - * $Revision: 1.2 $ - * -- * last change: $Author: hr $ $Date: 2003/03/18 19:06:53 $ -+ * last change: $Author: hr $ $Date: 2004/02/03 12:38:19 $ - * - * The Contents of this file are made available subject to the terms of - * either of the following licenses -@@ -59,6 +59,8 @@ - * - ************************************************************************/ - -+#include "uno/mapping.h" -+ - #include <typeinfo> - #include <exception> - #include <cstddef> -@@ -66,6 +68,8 @@ - namespace CPPU_CURRENT_NAMESPACE - { - -+void dummy_can_throw_anything( char const * ); -+ - // ----- following decl from libstdc++-v3/libsupc++/unwind-cxx.h and unwind.h - - struct _Unwind_Exception -Index: bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx -=================================================================== -RCS file: /cvs/udk/bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx,v -retrieving revision 1.5 -diff -u -r1.5 uno2cpp.cxx ---- bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx 3 Nov 2004 09:03:15 -0000 1.5 -+++ bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx 27 Dec 2004 06:05:52 -0000 -@@ -2,9 +2,9 @@ - * - * $RCSfile: uno2cpp.cxx,v $ - * -- * $Revision: 1.5 $ -+ * $Revision: 1.7 $ - * -- * last change: $Author: pjunck $ $Date: 2004/11/03 09:03:15 $ -+ * last change: $Author: sb $ $Date: 2004/09/27 09:08:35 $ - * - * The Contents of this file are made available subject to the terms of - * either of the following licenses -@@ -59,24 +59,25 @@ - * - ************************************************************************/ - --#include <sal/alloca.h> --#include <rtl/alloc.h> -+#include <stdlib.h> - -+#include <com/sun/star/uno/genfunc.hxx> -+#include "com/sun/star/uno/RuntimeException.hpp" - #include <uno/data.h> --#include <bridges/cpp_uno/bridge.hxx> --#include <bridges/cpp_uno/type_misc.hxx> - --#include "share.hxx" -+#include "bridges/cpp_uno/shared/bridge.hxx" -+#include "bridges/cpp_uno/shared/types.hxx" -+#include "bridges/cpp_uno/shared/unointerfaceproxy.hxx" -+#include "bridges/cpp_uno/shared/vtables.hxx" - -+#include "share.hxx" - - using namespace ::rtl; - using namespace ::com::sun::star::uno; - --namespace CPPU_CURRENT_NAMESPACE -+namespace - { - --void dummy_can_throw_anything( char const * ); -- - //================================================================================================== - // The call instruction within the asm section of callVirtualMethod may throw - // exceptions. So that the compiler handles this correctly, it is important -@@ -85,7 +86,7 @@ - // callVirtualMethod is not inlined at its call site (so that any exceptions are - // caught which are thrown from the instruction calling callVirtualMethod): - void callVirtualMethod( -- void * pThis, -+ void * pAdjustedThisPtr, - sal_Int32 nVtableIndex, - void * pRegisterReturn, - typelib_TypeClass eReturnType, -@@ -93,7 +94,7 @@ - sal_Int32 nStackLongs ) __attribute__((noinline)); - - void callVirtualMethod( -- void * pThis, -+ void * pAdjustedThisPtr, - sal_Int32 nVtableIndex, - void * pRegisterReturn, - typelib_TypeClass eReturnType, -@@ -103,13 +104,13 @@ - // parameter list is mixed list of * and values - // reference parameters are pointers - -- OSL_ENSURE( pStackLongs && pThis, "### null ptr!" ); -+ OSL_ENSURE( pStackLongs && pAdjustedThisPtr, "### null ptr!" ); - OSL_ENSURE( (sizeof(void *) == 4) && (sizeof(sal_Int32) == 4), "### unexpected size of int!" ); - OSL_ENSURE( nStackLongs && pStackLongs, "### no stack in callVirtualMethod !" ); - - // never called -- if (! pThis) dummy_can_throw_anything("xxx"); // address something -- -+ if (! pAdjustedThisPtr) CPPU_CURRENT_NAMESPACE::dummy_can_throw_anything("xxx"); // address something -+ - volatile long edx = 0, eax = 0; // for register returns - void * stackptr; - asm volatile ( -@@ -139,8 +140,8 @@ - // cleanup stack - "mov %6, %%esp\n\t" - : -- : "m"(nStackLongs), "m"(pStackLongs), "m"(pThis), "m"(nVtableIndex), -- "m"(eax), "m"(edx), "m"(stackptr) -+ : "m"(nStackLongs), "m"(pStackLongs), "m"(pAdjustedThisPtr), -+ "m"(nVtableIndex), "m"(eax), "m"(edx), "m"(stackptr) - : "eax", "edx" ); - switch( eReturnType ) - { -@@ -172,8 +173,8 @@ - - //================================================================================================== - static void cpp_call( -- cppu_unoInterfaceProxy * pThis, -- sal_Int32 nVtableCall, -+ bridges::cpp_uno::shared::UnoInterfaceProxy * pThis, -+ bridges::cpp_uno::shared::VtableSlot aVtableSlot, - typelib_TypeDescriptionReference * pReturnTypeRef, - sal_Int32 nParams, typelib_MethodParameter * pParams, - void * pUnoReturn, void * pUnoArgs[], uno_Any ** ppUnoExc ) -@@ -192,21 +193,25 @@ - - if (pReturnTypeDescr) - { -- if (cppu_isSimpleType( pReturnTypeDescr )) -+ if (bridges::cpp_uno::shared::isSimpleType( pReturnTypeDescr )) - { - pCppReturn = pUnoReturn; // direct way for simple types - } - else - { - // complex return via ptr -- pCppReturn = *(void **)pCppStack = (cppu_relatesToInterface( pReturnTypeDescr ) -- ? alloca( pReturnTypeDescr->nSize ) -- : pUnoReturn); // direct way -+ pCppReturn = *(void **)pCppStack -+ = (bridges::cpp_uno::shared::relatesToInterfaceType( -+ pReturnTypeDescr ) -+ ? alloca( pReturnTypeDescr->nSize ) -+ : pUnoReturn); // direct way - pCppStack += sizeof(void *); - } - } - // push this -- *(void**)pCppStack = pThis->pCppI; -+ void * pAdjustedThisPtr = reinterpret_cast< void ** >(pThis->getCppI()) -+ + aVtableSlot.offset; -+ *(void**)pCppStack = pAdjustedThisPtr; - pCppStack += sizeof( void* ); - - // stack space -@@ -226,10 +231,11 @@ - typelib_TypeDescription * pParamTypeDescr = 0; - TYPELIB_DANGER_GET( &pParamTypeDescr, rParam.pTypeRef ); - -- if (!rParam.bOut && cppu_isSimpleType( pParamTypeDescr )) -+ if (!rParam.bOut -+ && bridges::cpp_uno::shared::isSimpleType( pParamTypeDescr )) - { - uno_copyAndConvertData( pCppArgs[nPos] = pCppStack, pUnoArgs[nPos], pParamTypeDescr, -- &pThis->pBridge->aUno2Cpp ); -+ pThis->getBridge()->getUno2Cpp() ); - - switch (pParamTypeDescr->eTypeClass) - { -@@ -254,11 +260,13 @@ - ppTempParamTypeDescr[nTempIndizes++] = pParamTypeDescr; - } - // is in/inout -- else if (cppu_relatesToInterface( pParamTypeDescr )) -+ else if (bridges::cpp_uno::shared::relatesToInterfaceType( -+ pParamTypeDescr )) - { - uno_copyAndConvertData( - *(void **)pCppStack = pCppArgs[nPos] = alloca( pParamTypeDescr->nSize ), -- pUnoArgs[nPos], pParamTypeDescr, &pThis->pBridge->aUno2Cpp ); -+ pUnoArgs[nPos], pParamTypeDescr, -+ pThis->getBridge()->getUno2Cpp() ); - - pTempIndizes[nTempIndizes] = nPos; // has to be reconverted - // will be released at reconversion -@@ -278,7 +286,7 @@ - { - OSL_ENSURE( !( (pCppStack - pCppStackStart ) & 3), "UNALIGNED STACK !!! (Please DO panic)" ); - callVirtualMethod( -- pThis->pCppI, nVtableCall, -+ pAdjustedThisPtr, aVtableSlot.index, - pCppReturn, pReturnTypeDescr->eTypeClass, - (sal_Int32 *)pCppStackStart, (pCppStack - pCppStackStart) / sizeof(sal_Int32) ); - // NO exception occured... -@@ -296,13 +304,13 @@ - { - uno_destructData( pUnoArgs[nIndex], pParamTypeDescr, 0 ); // destroy uno value - uno_copyAndConvertData( pUnoArgs[nIndex], pCppArgs[nIndex], pParamTypeDescr, -- &pThis->pBridge->aCpp2Uno ); -+ pThis->getBridge()->getCpp2Uno() ); - } - } - else // pure out - { - uno_copyAndConvertData( pUnoArgs[nIndex], pCppArgs[nIndex], pParamTypeDescr, -- &pThis->pBridge->aCpp2Uno ); -+ pThis->getBridge()->getCpp2Uno() ); - } - // destroy temp cpp param => cpp: every param was constructed - uno_destructData( pCppArgs[nIndex], pParamTypeDescr, cpp_release ); -@@ -313,14 +321,14 @@ - if (pCppReturn && pUnoReturn != pCppReturn) - { - uno_copyAndConvertData( pUnoReturn, pCppReturn, pReturnTypeDescr, -- &pThis->pBridge->aCpp2Uno ); -+ pThis->getBridge()->getCpp2Uno() ); - uno_destructData( pCppReturn, pReturnTypeDescr, cpp_release ); - } - } - catch (...) - { - // fill uno exception -- fillUnoException( __cxa_get_globals()->caughtExceptions, *ppUnoExc, &pThis->pBridge->aCpp2Uno ); -+ fillUnoException( CPPU_CURRENT_NAMESPACE::__cxa_get_globals()->caughtExceptions, *ppUnoExc, pThis->getBridge()->getCpp2Uno() ); - - // temporary params - for ( ; nTempIndizes--; ) -@@ -336,32 +344,32 @@ - } - } - -+} - - //================================================================================================== --void SAL_CALL cppu_unoInterfaceProxy_dispatch( -+void bridges::cpp_uno::shared::UnoInterfaceProxy::dispatch( - uno_Interface * pUnoI, const typelib_TypeDescription * pMemberDescr, -- void * pReturn, void * pArgs[], uno_Any ** ppException ) throw () -+ void * pReturn, void * pArgs[], uno_Any ** ppException ) SAL_THROW(()) - { - // is my surrogate -- cppu_unoInterfaceProxy * pThis = (cppu_unoInterfaceProxy *)pUnoI; -+ bridges::cpp_uno::shared::UnoInterfaceProxy * pThis -+ = static_cast< bridges::cpp_uno::shared::UnoInterfaceProxy * >(pUnoI); - typelib_InterfaceTypeDescription * pTypeDescr = pThis->pTypeDescr; - - switch (pMemberDescr->eTypeClass) - { - case typelib_TypeClass_INTERFACE_ATTRIBUTE: - { -- // determine vtable call index -- sal_Int32 nMemberPos = ((typelib_InterfaceMemberTypeDescription *)pMemberDescr)->nPosition; -- OSL_ENSURE( nMemberPos < pTypeDescr->nAllMembers, "### member pos out of range!" ); -- -- sal_Int32 nVtableCall = pTypeDescr->pMapMemberIndexToFunctionIndex[nMemberPos]; -- OSL_ENSURE( nVtableCall < pTypeDescr->nMapFunctionIndexToMemberIndex, "### illegal vtable index!" ); -- -+ VtableSlot aVtableSlot( -+ getVtableSlot( -+ reinterpret_cast< -+ typelib_InterfaceAttributeTypeDescription const * >( -+ pMemberDescr))); - if (pReturn) - { - // dependent dispatch - cpp_call( -- pThis, nVtableCall, -+ pThis, aVtableSlot, - ((typelib_InterfaceAttributeTypeDescription *)pMemberDescr)->pAttributeTypeRef, - 0, 0, // no params - pReturn, pArgs, ppException ); -@@ -381,8 +389,9 @@ - &pReturnTypeRef, typelib_TypeClass_VOID, aVoidName.pData ); - - // dependent dispatch -+ aVtableSlot.index += 1; // get, then set method - cpp_call( -- pThis, nVtableCall +1, // get, then set method -+ pThis, aVtableSlot, - pReturnTypeRef, - 1, &aParam, - pReturn, pArgs, ppException ); -@@ -394,14 +403,12 @@ - } - case typelib_TypeClass_INTERFACE_METHOD: - { -- // determine vtable call index -- sal_Int32 nMemberPos = ((typelib_InterfaceMemberTypeDescription *)pMemberDescr)->nPosition; -- OSL_ENSURE( nMemberPos < pTypeDescr->nAllMembers, "### member pos out of range!" ); -- -- sal_Int32 nVtableCall = pTypeDescr->pMapMemberIndexToFunctionIndex[nMemberPos]; -- OSL_ENSURE( nVtableCall < pTypeDescr->nMapFunctionIndexToMemberIndex, "### illegal vtable index!" ); -- -- switch (nVtableCall) -+ VtableSlot aVtableSlot( -+ getVtableSlot( -+ reinterpret_cast< -+ typelib_InterfaceMethodTypeDescription const * >( -+ pMemberDescr))); -+ switch (aVtableSlot.index) - { - // standard calls - case 1: // acquire uno interface -@@ -419,8 +426,8 @@ - if (pTD) - { - uno_Interface * pInterface = 0; -- (*pThis->pBridge->pUnoEnv->getRegisteredInterface)( -- pThis->pBridge->pUnoEnv, -+ (*pThis->pBridge->getUnoEnv()->getRegisteredInterface)( -+ pThis->pBridge->getUnoEnv(), - (void **)&pInterface, pThis->oid.pData, (typelib_InterfaceTypeDescription *)pTD ); - - if (pInterface) -@@ -439,7 +446,7 @@ - default: - // dependent dispatch - cpp_call( -- pThis, nVtableCall, -+ pThis, aVtableSlot, - ((typelib_InterfaceMethodTypeDescription *)pMemberDescr)->pReturnTypeRef, - ((typelib_InterfaceMethodTypeDescription *)pMemberDescr)->nParams, - ((typelib_InterfaceMethodTypeDescription *)pMemberDescr)->pParams, -@@ -459,6 +466,3 @@ - } - } - } -- --} -- diff --git a/editors/openoffice-3/files/patch-project-extentions b/editors/openoffice-3/files/patch-project-extentions deleted file mode 100644 index a8b9d7ee9416..000000000000 --- a/editors/openoffice-3/files/patch-project-extentions +++ /dev/null @@ -1,65 +0,0 @@ -#iZ and CWS -o http://www.openoffice.org/issues/show_bug.cgi?id=40179 -o http://eis.services.openoffice.org/EIS2/servlet/cws.ShowCWS?Id=2030&Path=SRC680%2Fpj16 -o pj16 - -Description - -o source/config/ldap/makefile.mk needs -lcompat since re_comp is defined here. -o FreeBSD doesn't have -ldl -o INC+= -DNP_LINUX is also requried for FreeBSD - -Index: source/config/ldap/makefile.mk -=================================================================== -RCS file: /cvs/util/extensions/source/config/ldap/makefile.mk,v -retrieving revision 1.4 -diff -u -r1.4 makefile.mk ---- extensions/source/config/ldap/makefile.mk 15 Nov 2004 14:14:22 -0000 1.4 -+++ extensions/source/config/ldap/makefile.mk 8 Jan 2005 02:48:29 -0000 -@@ -116,6 +116,9 @@ - $(CPPULIB) \ - $(SALHELPERLIB) \ - $(SALLIB) -+.IF "$(OS)"=="FREEBSD" -+SHL1STDLIBS+=-lcompat -+.ENDIF - - DEF1NAME=$(SHL1TARGET) - DEF1EXPORTFILE=exports.dxp -Index: source/nsplugin/source/makefile.mk -=================================================================== -RCS file: /cvs/util/extensions/source/nsplugin/source/makefile.mk,v -retrieving revision 1.8 -diff -u -r1.8 makefile.mk ---- extensions/source/nsplugin/source/makefile.mk 3 Jan 2005 09:04:51 -0000 1.8 -+++ extensions/source/nsplugin/source/makefile.mk 8 Jan 2005 02:48:30 -0000 -@@ -78,7 +78,7 @@ - @echo GTK disabled - nothing to build - - .ELSE # "$(ENABLE_GTK)"=="" --.IF "$(OS)"=="LINUX" -+.IF "$(OS)"=="LINUX" || "$(OS)"=="FREEBSD" - INC+= -DNP_LINUX - .ENDIF - PKGCONFIG_MODULES=gtk+-2.0 -@@ -99,8 +99,10 @@ - .IF "$(GUI)"=="UNX" - SHL1OBJS+=$(SLO)$/npunix.obj - SLOFILES+=$(SLO)$/npunix.obj -+.IF "$(OS)"!="FREEBSD" - SHL1STDLIBS+= -ldl -lnsl --.ENDIF -+.ENDIF #FREEBSD -+.ENDIF #UNX - .IF "$(GUI)"=="WNT" - SHL1OBJS+=$(SLO)$/npwin.obj - SLOFILES+=$(SLO)$/npwin.obj -@@ -131,7 +133,7 @@ - - .IF "$(GUI)"=="UNX" - APP1STDLIBS+=$(PKGCONFIG_LIBS:s/-lpangoxft-1.0//) --.IF "$(OS)"=="LINUX" -+.IF "$(OS)"=="LINUX" || "$(OS)"=="FREEBSD" - .ELSE - APP1STDLIBS+= -ldl -lnsl -lnls -lsocket - .ENDIF diff --git a/editors/openoffice-3/files/patch-solenv+inc+unxfbsdi.mk b/editors/openoffice-3/files/patch-solenv+inc+unxfbsdi.mk deleted file mode 100644 index f3f55df061d4..000000000000 --- a/editors/openoffice-3/files/patch-solenv+inc+unxfbsdi.mk +++ /dev/null @@ -1,262 +0,0 @@ -#iZ and CWS -o http://www.openoffice.org/issues/show_bug.cgi?id=40182 - -Description -o catch up recent unxlngi6.mk -o -Wl,-z,defs -> comment out - -Index: solenv/inc/unxfbsdi.mk -=================================================================== -RCS file: /cvs/tools/solenv/inc/unxfbsdi.mk,v -retrieving revision 1.11 -diff -u -r1.11 unxfbsdi.mk ---- solenv/inc/unxfbsdi.mk 20 Sep 2004 08:37:13 -0000 1.11 -+++ solenv/inc/unxfbsdi.mk 10 Jan 2005 07:44:44 -0000 -@@ -60,16 +60,26 @@ - # - #************************************************************************* - --# mak file for unxfbsdi --ASM=$(CC) --AFLAGS=-x assembler-with-cpp -c $(CDEFS) -+# mk file for unxfbsdi -+ASM= -+AFLAGS= -+ -+SOLAR_JAVA*=TRUE -+JAVAFLAGSDEBUG=-g - - # filter for supressing verbose messages from linker - #not needed at the moment - #LINKOUTPUT_FILTER=" |& $(SOLARENV)$/bin$/msg_filter" - -+# _PTHREADS is needed for the stl -+CDEFS+=$(PTHREAD_CFLAGS) -DX86 -D_PTHREADS -D_REENTRANT -DNEW_SOLAR -D_USE_NAMESPACE=1 -DSTLPORT_VERSION=400 -+ -+# enable visibility define in "sal/types.h" -+.IF "$(HAVE_GCC_VISIBILITY_FEATURE)" == "TRUE" -+CDEFS += -DHAVE_GCC_VISIBILITY_FEATURE -+.ENDIF # "$(HAVE_GCC_VISIBILITY_FEATURE)" == "TRUE" -+ - # this is a platform with JAVA support --SOLAR_JAVA*=TRUE - .IF "$(SOLAR_JAVA)"!="" - JAVADEF=-DSOLAR_JAVA - .IF "$(debug)"=="" -@@ -83,90 +93,82 @@ - CXX*=g++ - # name of C Compiler - CC*=gcc -+.IF "$(SYSBASE)"!="" -+CFLAGS_SYSBASE:=-isystem $(SYSBASE)$/usr$/include -+CXX+:=$(CFLAGS_SYSBASE) -+CC+:=$(CFLAGS_SYSBASE) -+.ENDIF # "$(SYSBASE)"!="" -+CFLAGS+=-Wreturn-type -fmessage-length=0 -c $(INCLUDE) -+.IF "$(PRODUCT)"!="" -+CFLAGS+=-Wuninitialized -+.ENDIF - --# filter for supressing verbose messages from linker --# not needed at the moment --LINKOUTPUT_FILTER=" |& $(SOLARENV)$/bin$/msg_filter" -+# flags to enable build with symbols; required for crashdump feature -+.IF "$(ENABLE_SYMBOLS)"=="SMALL" -+CFLAGSENABLESYMBOLS=-g1 -+.ELSE -+CFLAGSENABLESYMBOLS=-g # was temporarily commented out, reenabled before Beta - --# options for C and C++ Compiler --CDEFS+= -D_USE_NAMESPACE=1 -DX86 -DNEW_SOLAR -DSTLPORT_VERSION=450 -DOSVERSION=$(OSVERSION) --CDEFS+= $(PTHREAD_CFLAGS) -D_REENTRANT -- --# flags for C and C++ Compile --CFLAGS+= -w -c $(INCLUDE) --CFLAGS+= -I/usr/X11R6/include -+.ENDIF - - # flags for the C++ Compiler --CFLAGSCC= -pipe -fno-rtti --CFLAGSCXX= -pipe -fno-rtti --CFLAGSCXX+= -Wno-ctor-dtor-privacy -- -+CFLAGSCC= -pipe -mtune=pentiumpro - # Flags for enabling exception handling --CFLAGSEXCEPTIONS= -fexceptions --CFLAGS_NO_EXCEPTIONS= -fno-exceptions -- --# Compiler flags for compiling static object in single threaded --# environment with graphical user interface --CFLAGSOBJGUIST= -fPIC -- --# Compiler flags for compiling static object in single threaded --# environment with character user interface --CFLAGSOBJCUIST= -fPIC -- --# Compiler flags for compiling static object in multi threaded --# environment with graphical user interface --CFLAGSOBJGUIMT= -fPIC -- --# Compiler flags for compiling static object in multi threaded --# environment with character user interface --CFLAGSOBJCUIMT= -fPIC -- --# Compiler flags for compiling shared object in multi threaded --# environment with graphical user interface --CFLAGSSLOGUIMT= -fPIC -- --# Compiler flags for compiling shared object in multi threaded --# environment with character user interface --CFLAGSSLOCUIMT= -fPIC -+CFLAGSEXCEPTIONS=-fexceptions -fno-enforce-eh-specs -+# Flags for disabling exception handling -+CFLAGS_NO_EXCEPTIONS=-fno-exceptions - --# Compiler flags for profilin --CFLAGSPROF= -pg -+# -fpermissive should be removed as soon as possible -+CFLAGSCXX= -pipe -mtune=pentiumpro -+CFLAGSCXX+= -Wno-ctor-dtor-privacy - -+# Compiler flags for compiling static object in single threaded environment with graphical user interface -+CFLAGSOBJGUIST= -+# Compiler flags for compiling static object in single threaded environment with character user interface -+CFLAGSOBJCUIST= -+# Compiler flags for compiling static object in multi threaded environment with graphical user interface -+CFLAGSOBJGUIMT= -+# Compiler flags for compiling static object in multi threaded environment with character user interface -+CFLAGSOBJCUIMT= -+# Compiler flags for compiling shared object in multi threaded environment with graphical user interface -+CFLAGSSLOGUIMT=-fPIC -+# Compiler flags for compiling shared object in multi threaded environment with character user interface -+CFLAGSSLOCUIMT=-fPIC -+# Compiler flags for profiling -+CFLAGSPROF= - # Compiler flags for debugging --CFLAGSDEBUG= -g -+CFLAGSDEBUG=-g - CFLAGSDBGUTIL= -- --# Compiler flags to enable optimizations --# -02 is broken for FreeBSD --CFLAGSOPT= -O -- --# Compiler flags to disable optimizations --# -0 is broken for STLport for FreeBSD --CFLAGSNOOPT= -O0 -- --# Compiler flags for the output path --CFLAGSOUTOBJ= -o -- -+# Compiler flags for enabling optimazations -+.IF "$(PRODUCT)"!="" -+CFLAGSOPT=-Os -fno-strict-aliasing # optimizing for products -+.ELSE # "$(PRODUCT)"!="" -+CFLAGSOPT= # no optimizing for non products -+.ENDIF # "$(PRODUCT)"!="" -+# Compiler flags for disabling optimazations -+CFLAGSNOOPT=-O0 -+# Compiler flags for discibing the output path -+CFLAGSOUTOBJ=-o - # Enable all warnings - CFLAGSWALL=-Wall -- - # Set default warn level --CFLAGSDFLTWARN=-w -+CFLAGSDFLTWARN= - - # switches for dynamic and static linking --STATIC= -Wl,-Bstatic --DYNAMIC= -Wl,-Bdynamic -+STATIC = -Wl,-Bstatic -+DYNAMIC = -Wl,-Bdynamic - - # name of linker --LINK=$(CC) -+LINK*=$(CXX) - - # default linker flags --# LINKFLAGSRUNPATH*=-Wl,-rpath\''$$ORIGIN'\' --LINKFLAGS=$(LINKFLAGSRUNPATH) -+LINKFLAGSDEFS*=#-Wl,-z,defs -+LINKFLAGSRUNPATH*=-Wl,-rpath,\''$$ORIGIN'\' -+LINKFLAGS=-z combreloc $(LINKFLAGSDEFS) $(LINKFLAGSRUNPATH) - - # linker flags for linking applications --LINKFLAGSAPPGUI= -Wl,--noinhibit-exec --LINKFLAGSAPPCUI= -Wl,--noinhibit-exec -+LINKFLAGSAPPGUI= -Wl,-export-dynamic -Wl,--noinhibit-exec -+LINKFLAGSAPPCUI= -Wl,-export-dynamic -Wl,--noinhibit-exec - - # linker flags for linking shared libraries - LINKFLAGSSHLGUI= -shared -@@ -177,23 +179,19 @@ - LINKFLAGSDEBUG=-g - LINKFLAGSOPT= - --.IF "$(NO_BSYMBOLIC)"=="" --.IF "$(PRJNAME)" != "envtest" --LINKFLAGSSHLGUI+= -Wl,-Bsymbolic --LINKFLAGSSHLCUI+= -Wl,-Bsymbolic --.ENDIF --.ENDIF -+# linker flags for optimization (symbol hashtable) -+# for now, applied to symbol scoped libraries, only -+LINKFLAGSOPTIMIZE*=-Wl,-O1 -+LINKVERSIONMAPFLAG=$(LINKFLAGSOPTIMIZE) -Wl,--version-script - --LINKVERSIONMAPFLAG=-Wl,--version-script -+SONAME_SWITCH=-Wl,-h - - # Sequence of libs does matter ! --STDLIBCPP=-lstdc++ - --# _SYSLIBS= -L/usr/lib -lm --# _X11LIBS= -L/usr/X11R6/lib -lXext -lX11 --# _CXXLIBS= -L/usr/lib -lstdc++ -L/usr/local/lib -+STDLIBCPP=-lstdc++ - - # default objectfilenames to link -+STDOBJVCL=$(L)$/salmain.o - STDOBJGUI= - STDSLOGUI= - STDOBJCUI= -@@ -201,24 +199,25 @@ - - # libraries for linking applications - STDLIBCUIST=-lm --STDLIBGUIST=-lXaw -lXt -lX11 -lm --STDLIBGUIMT=-lXaw -lXt -lX11 $(PTHREAD_LIBS) -lm -+STDLIBGUIMT=-lX11 $(PTHREAD_LIBS) -lm - STDLIBCUIMT=$(PTHREAD_LIBS) -lm -- -+STDLIBGUIST=-lX11 -lm - # libraries for linking shared libraries --STDSHLGUIMT=-lXaw -lXt -lX11 -lXext $(PTHREAD_LIBS) -lm -+STDSHLGUIMT=-lX11 -lXext $(PTHREAD_LIBS) -lm - STDSHLCUIMT=$(PTHREAD_LIBS) -lm -+STDSHLGUIST=-lX11 -lXext -lm -+STDSHLCUIST=-lm - - LIBSALCPPRT*=-Wl,--whole-archive -lsalcpprt -Wl,--no-whole-archive - --# STLport always needs pthread. --LIBSTLPORT=$(DYNAMIC) -lstlport_gcc $(STDLIBCPP) $(PTHREAD_LIBS) --LIBSTLPORTST=$(STATIC) -lstlport_gcc $(DYNAMIC) $(PTHREAD_LIBS) -+LIBSTLPORT=$(DYNAMIC) -lstlport_gcc -+LIBSTLPORTST=$(STATIC) -lstlport_gcc $(DYNAMIC) -+ -+#FILLUPARC=$(STATIC) -lsupc++ $(DYNAMIC) - - # name of library manager - LIBMGR=ar - LIBFLAGS=-r --LIBEXT= .a - - # tool for generating import libraries - IMPLIB= -@@ -237,3 +236,4 @@ - DLLPOSTFIX=fi - DLLPRE=lib - DLLPOST=.so -+ diff --git a/editors/openoffice-3/files/patch-transex3+source+xmlparse.cxx b/editors/openoffice-3/files/patch-transex3+source+xmlparse.cxx deleted file mode 100644 index de1864d5e9cb..000000000000 --- a/editors/openoffice-3/files/patch-transex3+source+xmlparse.cxx +++ /dev/null @@ -1,24 +0,0 @@ -#iZ and CWS -o http://www.openoffice.org/issues/show_bug.cgi?id=40184 -o http://eis.services.openoffice.org/EIS2/servlet/cws.ShowCWS?Id=2030&Path=SRC680%2Fpj16 -o pj16 - -Description -FreeBSD doesn't have alloca.h - -Index: source/xmlparse.cxx -=================================================================== -RCS file: /cvs/l10n/transex3/source/xmlparse.cxx,v -retrieving revision 1.5 -diff -u -r1.5 xmlparse.cxx ---- transex3/source/xmlparse.cxx 18 Nov 2004 08:17:50 -0000 1.5 -+++ transex3/source/xmlparse.cxx 8 Jan 2005 02:56:14 -0000 -@@ -67,7 +67,7 @@ - #ifdef WIN32 - #include <malloc.h> - #else --#ifndef MACOSX -+#if !(defined(MACOSX) || defined(FREEBSD)) - #include <alloca.h> - #endif - #endif diff --git a/editors/openoffice.org-2-RC/Makefile b/editors/openoffice.org-2-RC/Makefile index c563bd2c2beb..e6be311f3b31 100644 --- a/editors/openoffice.org-2-RC/Makefile +++ b/editors/openoffice.org-2-RC/Makefile @@ -19,7 +19,7 @@ EXTRACT_ONLY= OOo_${RELEASE_NR}m${MILESTONE}_source.tar.bz2 MAINTAINER= openoffice@FreeBSD.org COMMENT?= Integrated wordprocessor/dbase/spreadheet/drawing/chart/browser(developer version) -SNAPDATE= 20050119 +SNAPDATE= 20050123 NO_LATEST_LINK= yes USE_GNOME= gtk20 MOZILLA_PROJECT= cws_srx645_mozooo.20041016.tar.gz @@ -49,7 +49,7 @@ BROKEN= "rtld depends on _end symbol. type make -DBROKEN to see how to upgrade CODELINE= 680 RELEASE_NR= 1.9 -MILESTONE= 72 +MILESTONE= 73 INSTALLATION_BASEDIR= openoffice.org${RELEASE_NR}m${MILESTONE} EXECBASE= openoffice.org-${RELEASE_NR}m${MILESTONE} DIST_SUBDIR= openoffice.org2.0 diff --git a/editors/openoffice.org-2-RC/distinfo b/editors/openoffice.org-2-RC/distinfo index 8b7774bf8f23..c9e7f5358b88 100644 --- a/editors/openoffice.org-2-RC/distinfo +++ b/editors/openoffice.org-2-RC/distinfo @@ -1,5 +1,5 @@ -MD5 (openoffice.org2.0/OOo_1.9m72_source.tar.bz2) = c51fa9d749f1e5eb3733d50b91f97fe8 -SIZE (openoffice.org2.0/OOo_1.9m72_source.tar.bz2) = 233690890 +MD5 (openoffice.org2.0/OOo_1.9m73_source.tar.bz2) = 0885bb45bd204b03b16f8276cbd922e0 +SIZE (openoffice.org2.0/OOo_1.9m73_source.tar.bz2) = 233756500 MD5 (openoffice.org2.0/gpc231.tar.Z) = fdb06fdb5a4670b172f9fb738b717be9 SIZE (openoffice.org2.0/gpc231.tar.Z) = 27917 MD5 (openoffice.org2.0/cws_srx645_mozooo.20041016.tar.gz) = eda0ab73b24c45890ae08bdfe04049bd diff --git a/editors/openoffice.org-2-RC/files/Makefile.knobs b/editors/openoffice.org-2-RC/files/Makefile.knobs index 5b9c07e3afce..0afc3acadf7e 100644 --- a/editors/openoffice.org-2-RC/files/Makefile.knobs +++ b/editors/openoffice.org-2-RC/files/Makefile.knobs @@ -19,7 +19,7 @@ CONFIGURE_ARGS+= --enable-cups .if defined(ALL_LOCALIZED_LANGS) CONFIGURE_ARGS+= --with-lang="en-US ar ca cs da de el es et fi fr he hi-IN hu it ja ko pl pt pt-BR ru sk sl sv th tr zh-CN zh-TW" -#following langs still seem to be under development +#following langs still seem to be under development #af bg cy eo eu gl kn-IN lt nb nl nn ns tn zu #CONFIGURE_ARGS+= --with-lang=ALL .else diff --git a/editors/openoffice.org-2-RC/files/patch-config_office+set_soenv.in b/editors/openoffice.org-2-RC/files/patch-config_office+set_soenv.in deleted file mode 100644 index 9b2a97774dc1..000000000000 --- a/editors/openoffice.org-2-RC/files/patch-config_office+set_soenv.in +++ /dev/null @@ -1,25 +0,0 @@ -#iZ and CWS -o http://www.openoffice.org/issues/show_bug.cgi?id=37731 -o http://eis.services.openoffice.org/EIS2/servlet/cws.ShowCWS?Id=2030&Path=SRC680%2Fpj16 -o pj16 - -Description -Do not export LINK to environment - -Index: config_office/set_soenv.in -=================================================================== -RCS file: /cvs/tools/config_office/set_soenv.in,v -retrieving revision 1.31 -diff -u -r1.31 set_soenv.in ---- config_office/set_soenv.in 5 Jan 2005 12:10:00 -0000 1.31 -+++ config_office/set_soenv.in 9 Jan 2005 18:51:24 -0000 -@@ -1684,9 +1684,6 @@ - ToFile( "CC", $CC, "e" ); - ToFile( "CXX", $CXX, "e" ); - ToFile( "USE_SYSTEM_STL", "@USE_SYSTEM_STL@", "e" ); --if ( $COM ne "MSC" ) { -- ToFile( "LINK", $CC, "e" ); --} - ToFile( "ENABLE_SYMBOLS", "@ENABLE_SYMBOLS@", "e" ); - ToFile( "ENABLE_CRASHDUMP", "@ENABLE_CRASHDUMP@", "e" ); - ToFile( "ENABLE_CUPS", "@ENABLE_CUPS@", "e" ); diff --git a/editors/openoffice.org-2-RC/files/patch-project-bridges b/editors/openoffice.org-2-RC/files/patch-project-bridges deleted file mode 100644 index 890cab171898..000000000000 --- a/editors/openoffice.org-2-RC/files/patch-project-bridges +++ /dev/null @@ -1,1004 +0,0 @@ -#iZ and CWS -o http://www.openoffice.org/issues/show_bug.cgi?id=40178 - -Description -catch up recent version of -bridges/source/cpp_uno/gcc3_linux_intel/cpp2uno.cxx -Only difference is: -- rtti = (type_info *)dlsym( m_hApp, symName.getStr() ); -+ rtti = (type_info *)dlsym( RTLD_DEFAULT, symName.getStr() ); -#iZ 22253 for reason why we changed m_hApp to RTLD_DEFAULT - -Index: bridges/source/cpp_uno/gcc3_freebsd_intel/cpp2uno.cxx -=================================================================== -RCS file: /cvs/udk/bridges/source/cpp_uno/gcc3_freebsd_intel/cpp2uno.cxx,v -retrieving revision 1.3 -diff -u -r1.3 cpp2uno.cxx ---- bridges/source/cpp_uno/gcc3_freebsd_intel/cpp2uno.cxx 28 Apr 2003 16:28:20 -0000 1.3 -+++ bridges/source/cpp_uno/gcc3_freebsd_intel/cpp2uno.cxx 27 Dec 2004 06:05:52 -0000 -@@ -2,9 +2,9 @@ - * - * $RCSfile: cpp2uno.cxx,v $ - * -- * $Revision: 1.3 $ -+ * $Revision: 1.6 $ - * -- * last change: $Author: hr $ $Date: 2003/04/28 16:28:20 $ -+ * last change: $Author: obo $ $Date: 2004/06/04 02:59:45 $ - * - * The Contents of this file are made available subject to the terms of - * either of the following licenses -@@ -59,34 +59,26 @@ - * - ************************************************************************/ - --#include <hash_map> -- --#include <sal/alloca.h> --#include <rtl/alloc.h> --#include <osl/mutex.hxx> -- -+#include <com/sun/star/uno/genfunc.hxx> -+#include "com/sun/star/uno/RuntimeException.hpp" - #include <uno/data.h> - #include <typelib/typedescription.hxx> - --#include <bridges/cpp_uno/bridge.hxx> --#include <bridges/cpp_uno/type_misc.hxx> -+#include "bridges/cpp_uno/shared/bridge.hxx" -+#include "bridges/cpp_uno/shared/cppinterfaceproxy.hxx" -+#include "bridges/cpp_uno/shared/types.hxx" -+#include "bridges/cpp_uno/shared/vtablefactory.hxx" - - #include "share.hxx" - -- --using namespace ::osl; --using namespace ::rtl; - using namespace ::com::sun::star::uno; - --namespace CPPU_CURRENT_NAMESPACE -+namespace - { - - //================================================================================================== --rtl_StandardModuleCount g_moduleCount = MODULE_COUNT_INIT; -- --//================================================================================================== - static typelib_TypeClass cpp2uno_call( -- cppu_cppInterfaceProxy * pThis, -+ bridges::cpp_uno::shared::CppInterfaceProxy * pThis, - const typelib_TypeDescription * pMemberTypeDescr, - typelib_TypeDescriptionReference * pReturnTypeRef, // 0 indicates void return - sal_Int32 nParams, typelib_MethodParameter * pParams, -@@ -106,7 +98,7 @@ - - if (pReturnTypeDescr) - { -- if (cppu_isSimpleType( pReturnTypeDescr )) -+ if (bridges::cpp_uno::shared::isSimpleType( pReturnTypeDescr )) - { - pUnoReturn = pRegisterReturn; // direct way for simple types - } -@@ -115,7 +107,8 @@ - pCppReturn = *(void **)pCppStack; - pCppStack += sizeof(void *); - -- pUnoReturn = (cppu_relatesToInterface( pReturnTypeDescr ) -+ pUnoReturn = (bridges::cpp_uno::shared::relatesToInterfaceType( -+ pReturnTypeDescr ) - ? alloca( pReturnTypeDescr->nSize ) - : pCppReturn); // direct way - } -@@ -141,7 +134,9 @@ - typelib_TypeDescription * pParamTypeDescr = 0; - TYPELIB_DANGER_GET( &pParamTypeDescr, rParam.pTypeRef ); - -- if (!rParam.bOut && cppu_isSimpleType( pParamTypeDescr )) // value -+ if (!rParam.bOut -+ && bridges::cpp_uno::shared::isSimpleType( pParamTypeDescr )) -+ // value - { - pCppArgs[nPos] = pCppStack; - pUnoArgs[nPos] = pCppStack; -@@ -168,11 +163,12 @@ - ppTempParamTypeDescr[nTempIndizes++] = pParamTypeDescr; - } - // is in/inout -- else if (cppu_relatesToInterface( pParamTypeDescr )) -+ else if (bridges::cpp_uno::shared::relatesToInterfaceType( -+ pParamTypeDescr )) - { - uno_copyAndConvertData( pUnoArgs[nPos] = alloca( pParamTypeDescr->nSize ), - *(void **)pCppStack, pParamTypeDescr, -- &pThis->pBridge->aCpp2Uno ); -+ pThis->getBridge()->getCpp2Uno() ); - pTempIndizes[nTempIndizes] = nPos; // has to be reconverted - // will be released at reconversion - ppTempParamTypeDescr[nTempIndizes++] = pParamTypeDescr; -@@ -192,7 +188,8 @@ - uno_Any * pUnoExc = &aUnoExc; - - // invoke uno dispatch call -- (*pThis->pUnoI->pDispatcher)( pThis->pUnoI, pMemberTypeDescr, pUnoReturn, pUnoArgs, &pUnoExc ); -+ (*pThis->getUnoI()->pDispatcher)( -+ pThis->getUnoI(), pMemberTypeDescr, pUnoReturn, pUnoArgs, &pUnoExc ); - - // in case an exception occured... - if (pUnoExc) -@@ -209,7 +206,9 @@ - if (pReturnTypeDescr) - TYPELIB_DANGER_RELEASE( pReturnTypeDescr ); - -- raiseException( &aUnoExc, &pThis->pBridge->aUno2Cpp ); // has to destruct the any -+ CPPU_CURRENT_NAMESPACE::raiseException( -+ &aUnoExc, pThis->getBridge()->getUno2Cpp() ); -+ // has to destruct the any - // is here for dummy - return typelib_TypeClass_VOID; - } -@@ -226,7 +225,7 @@ - // convert and assign - uno_destructData( pCppArgs[nIndex], pParamTypeDescr, cpp_release ); - uno_copyAndConvertData( pCppArgs[nIndex], pUnoArgs[nIndex], pParamTypeDescr, -- &pThis->pBridge->aUno2Cpp ); -+ pThis->getBridge()->getUno2Cpp() ); - } - // destroy temp uno param - uno_destructData( pUnoArgs[nIndex], pParamTypeDescr, 0 ); -@@ -239,7 +238,7 @@ - if (pUnoReturn != pCppReturn) // needs reconversion - { - uno_copyAndConvertData( pCppReturn, pUnoReturn, pReturnTypeDescr, -- &pThis->pBridge->aUno2Cpp ); -+ pThis->getBridge()->getUno2Cpp() ); - // destroy temp uno return - uno_destructData( pUnoReturn, pReturnTypeDescr, 0 ); - } -@@ -260,38 +259,41 @@ - - //================================================================================================== - static typelib_TypeClass cpp_mediate( -- sal_Int32 nVtableCall, -+ sal_Int32 nFunctionIndex, -+ sal_Int32 nVtableOffset, - void ** pCallStack, - sal_Int64 * pRegisterReturn /* space for register return */ ) - { - OSL_ENSURE( sizeof(sal_Int32)==sizeof(void *), "### unexpected!" ); - - // pCallStack: ret adr, [ret *], this, params -- // _this_ ptr is patched cppu_XInterfaceProxy object -- cppu_cppInterfaceProxy * pCppI = NULL; -- if( nVtableCall & 0x80000000 ) -+ void * pThis; -+ if( nFunctionIndex & 0x80000000 ) - { -- nVtableCall &= 0x7fffffff; -- pCppI = (cppu_cppInterfaceProxy *)(XInterface *)*(pCallStack +2); -+ nFunctionIndex &= 0x7fffffff; -+ pThis = pCallStack[2]; - } - else - { -- pCppI = (cppu_cppInterfaceProxy *)(XInterface *)*(pCallStack +1); -+ pThis = pCallStack[1]; - } -+ pThis = static_cast< char * >(pThis) - nVtableOffset; -+ bridges::cpp_uno::shared::CppInterfaceProxy * pCppI -+ = bridges::cpp_uno::shared::CppInterfaceProxy::castInterfaceToProxy( -+ pThis); - -- typelib_InterfaceTypeDescription * pTypeDescr = pCppI->pTypeDescr; -+ typelib_InterfaceTypeDescription * pTypeDescr = pCppI->getTypeDescr(); - -- OSL_ENSURE( nVtableCall < pTypeDescr->nMapFunctionIndexToMemberIndex, "### illegal vtable index!" ); -- if (nVtableCall >= pTypeDescr->nMapFunctionIndexToMemberIndex) -+ OSL_ENSURE( nFunctionIndex < pTypeDescr->nMapFunctionIndexToMemberIndex, "### illegal vtable index!" ); -+ if (nFunctionIndex >= pTypeDescr->nMapFunctionIndexToMemberIndex) - { - throw RuntimeException( -- OUString::createFromAscii("illegal vtable index!"), -- (XInterface *)pCppI ); -+ rtl::OUString::createFromAscii("illegal vtable index!"), -+ (XInterface *)pThis ); - } - - // determine called method -- OSL_ENSURE( nVtableCall < pTypeDescr->nMapFunctionIndexToMemberIndex, "### illegal vtable index!" ); -- sal_Int32 nMemberPos = pTypeDescr->pMapFunctionIndexToMemberIndex[nVtableCall]; -+ sal_Int32 nMemberPos = pTypeDescr->pMapFunctionIndexToMemberIndex[nFunctionIndex]; - OSL_ENSURE( nMemberPos < pTypeDescr->nAllMembers, "### illegal member index!" ); - - TypeDescription aMemberDescr( pTypeDescr->ppAllMembers[nMemberPos] ); -@@ -301,7 +303,7 @@ - { - case typelib_TypeClass_INTERFACE_ATTRIBUTE: - { -- if (pTypeDescr->pMapMemberIndexToFunctionIndex[nMemberPos] == nVtableCall) -+ if (pTypeDescr->pMapMemberIndexToFunctionIndex[nMemberPos] == nFunctionIndex) - { - // is GET method - eRet = cpp2uno_call( -@@ -330,7 +332,7 @@ - case typelib_TypeClass_INTERFACE_METHOD: - { - // is METHOD -- switch (nVtableCall) -+ switch (nFunctionIndex) - { - case 1: // acquire() - pCppI->acquireProxy(); // non virtual call! -@@ -347,9 +349,10 @@ - if (pTD) - { - XInterface * pInterface = 0; -- (*pCppI->pBridge->pCppEnv->getRegisteredInterface)( -- pCppI->pBridge->pCppEnv, -- (void **)&pInterface, pCppI->oid.pData, (typelib_InterfaceTypeDescription *)pTD ); -+ (*pCppI->getBridge()->getCppEnv()->getRegisteredInterface)( -+ pCppI->getBridge()->getCppEnv(), -+ (void **)&pInterface, pCppI->getOid().pData, -+ (typelib_InterfaceTypeDescription *)pTD ); - - if (pInterface) - { -@@ -378,8 +381,8 @@ - default: - { - throw RuntimeException( -- OUString::createFromAscii("no member description found!"), -- (XInterface *)pCppI ); -+ rtl::OUString::createFromAscii("no member description found!"), -+ (XInterface *)pThis ); - // is here for dummy - eRet = typelib_TypeClass_VOID; - } -@@ -393,12 +396,15 @@ - * is called on incoming vtable calls - * (called by asm snippets) - */ --static void cpp_vtable_call( int nTableEntry, void** pCallStack ) __attribute__((regparm(2))); -+static void cpp_vtable_call( -+ int nFunctionIndex, int nVtableOffset, void** pCallStack ) -+ __attribute__((regparm(3))); - --void cpp_vtable_call( int nTableEntry, void** pCallStack ) -+void cpp_vtable_call( int nFunctionIndex, int nVtableOffset, void** pCallStack ) - { - volatile long nRegReturn[2]; -- typelib_TypeClass aType = cpp_mediate( nTableEntry, pCallStack, (sal_Int64*)nRegReturn ); -+ typelib_TypeClass aType = cpp_mediate( -+ nFunctionIndex, nVtableOffset, pCallStack, (sal_Int64*)nRegReturn ); - - switch( aType ) - { -@@ -434,161 +440,103 @@ - - - //================================================================================================== --class MediateClassData --{ -- typedef ::std::hash_map< OUString, void *, OUStringHash > t_classdata_map; -- t_classdata_map m_map; -- Mutex m_mutex; -- --public: -- void const * get_vtable( typelib_InterfaceTypeDescription * pTD ) SAL_THROW( () ); -- -- inline MediateClassData() SAL_THROW( () ) -- {} -- ~MediateClassData() SAL_THROW( () ); --}; --//__________________________________________________________________________________________________ --MediateClassData::~MediateClassData() SAL_THROW( () ) -+int const codeSnippetSize = 20; -+ -+unsigned char * codeSnippet( -+ unsigned char * code, sal_Int32 functionIndex, sal_Int32 vtableOffset, -+ bool simpleRetType) - { -- OSL_TRACE( "> calling ~MediateClassData(): freeing mediate vtables." ); -- -- for ( t_classdata_map::const_iterator iPos( m_map.begin() ); iPos != m_map.end(); ++iPos ) -- { -- ::rtl_freeMemory( iPos->second ); -- } -+ if (!simpleRetType) { -+ functionIndex |= 0x80000000; -+ } -+ unsigned char * p = code; -+ OSL_ASSERT(sizeof (sal_Int32) == 4); -+ // mov function_index, %eax: -+ *p++ = 0xB8; -+ *reinterpret_cast< sal_Int32 * >(p) = functionIndex; -+ p += sizeof (sal_Int32); -+ // mov vtable_offset, %edx: -+ *p++ = 0xBA; -+ *reinterpret_cast< sal_Int32 * >(p) = vtableOffset; -+ p += sizeof (sal_Int32); -+ // mov %esp, %ecx: -+ *p++ = 0x89; -+ *p++ = 0xE1; -+ // jmp cpp_vtable_call: -+ *p++ = 0xE9; -+ *reinterpret_cast< sal_Int32 * >(p) -+ = ((unsigned char *) cpp_vtable_call) - p - sizeof (sal_Int32); -+ p += sizeof (sal_Int32); -+ OSL_ASSERT(p - code <= codeSnippetSize); -+ return code + codeSnippetSize; - } --//-------------------------------------------------------------------------------------------------- --static inline void codeSnippet( char * code, sal_uInt32 vtable_pos, bool simple_ret_type ) SAL_THROW( () ) --{ -- if (! simple_ret_type) -- vtable_pos |= 0x80000000; -- OSL_ASSERT( sizeof (long) == 4 ); -- // mov $nPos, %eax -- *code++ = 0xb8; -- *(long *)code = vtable_pos; -- code += sizeof (long); -- // mov %esp, %edx -- *code++ = 0x89; -- *code++ = 0xe2; -- // jmp cpp_vtable_call -- *code++ = 0xe9; -- *(long *)code = ((char *)cpp_vtable_call) - code - sizeof (long); -+ - } --//__________________________________________________________________________________________________ --void const * MediateClassData::get_vtable( typelib_InterfaceTypeDescription * pTD ) SAL_THROW( () ) --{ -- void * buffer; -- -- // avoiding locked counts -- OUString const & unoName = *(OUString const *)&((typelib_TypeDescription *)pTD)->pTypeName; -- { -- MutexGuard aGuard( m_mutex ); -- t_classdata_map::const_iterator iFind( m_map.find( unoName ) ); -- if (iFind == m_map.end()) -- { -- // create new vtable -- sal_Int32 nSlots = pTD->nMapFunctionIndexToMemberIndex; -- buffer = ::rtl_allocateMemory( ((2+ nSlots) * sizeof (void *)) + (nSlots *20) ); -- -- ::std::pair< t_classdata_map::iterator, bool > insertion( -- m_map.insert( t_classdata_map::value_type( unoName, buffer ) ) ); -- OSL_ENSURE( insertion.second, "### inserting new vtable buffer failed?!" ); -- -- void ** slots = (void **)buffer; -- *slots++ = 0; -- *slots++ = 0; // rtti -- char * code = (char *)(slots + nSlots); -- -- sal_uInt32 vtable_pos = 0; -- sal_Int32 nAllMembers = pTD->nAllMembers; -- typelib_TypeDescriptionReference ** ppAllMembers = pTD->ppAllMembers; -- for ( sal_Int32 nPos = 0; nPos < nAllMembers; ++nPos ) -- { -- typelib_TypeDescription * pTD = 0; -- TYPELIB_DANGER_GET( &pTD, ppAllMembers[ nPos ] ); -- OSL_ASSERT( pTD ); -- if (typelib_TypeClass_INTERFACE_ATTRIBUTE == pTD->eTypeClass) -- { -- bool simple_ret = cppu_isSimpleType( -- ((typelib_InterfaceAttributeTypeDescription *)pTD)->pAttributeTypeRef->eTypeClass ); -- // get method -- *slots++ = code; -- codeSnippet( code, vtable_pos++, simple_ret ); -- code += 20; -- if (! ((typelib_InterfaceAttributeTypeDescription *)pTD)->bReadOnly) -- { -- // set method -- *slots++ = code; -- codeSnippet( code, vtable_pos++, true ); -- code += 20; -- } -- } -- else -+ -+void ** bridges::cpp_uno::shared::VtableFactory::mapBlockToVtable(char * block) -+{ -+ return reinterpret_cast< void ** >(block) + 2; -+} -+ -+char * bridges::cpp_uno::shared::VtableFactory::createBlock( -+ sal_Int32 slotCount, void *** slots) -+{ -+ char * block = new char[ -+ (slotCount + 2) * sizeof (void *) + slotCount * codeSnippetSize]; -+ *slots = mapBlockToVtable(block); -+ (*slots)[-2] = 0; -+ (*slots)[-1] = 0; -+ return block; -+} -+ -+unsigned char * bridges::cpp_uno::shared::VtableFactory::addLocalFunctions( -+ void ** slots, unsigned char * code, -+ typelib_InterfaceTypeDescription const * type, sal_Int32 functionOffset, -+ sal_Int32 functionCount, sal_Int32 vtableOffset) -+{ -+ for (sal_Int32 i = 0; i < type->nMembers; ++i) { -+ typelib_TypeDescription * member = 0; -+ TYPELIB_DANGER_GET(&member, type->ppMembers[i]); -+ OSL_ASSERT(member != 0); -+ switch (member->eTypeClass) { -+ case typelib_TypeClass_INTERFACE_ATTRIBUTE: -+ // Getter: -+ *slots++ = code; -+ code = codeSnippet( -+ code, functionOffset++, vtableOffset, -+ bridges::cpp_uno::shared::isSimpleType( -+ reinterpret_cast< -+ typelib_InterfaceAttributeTypeDescription * >( -+ member)->pAttributeTypeRef)); -+ // Setter: -+ if (!reinterpret_cast< -+ typelib_InterfaceAttributeTypeDescription * >( -+ member)->bReadOnly) - { -- bool simple_ret = cppu_isSimpleType( -- ((typelib_InterfaceMethodTypeDescription *)pTD)->pReturnTypeRef->eTypeClass ); - *slots++ = code; -- codeSnippet( code, vtable_pos++, simple_ret ); -- code += 20; -+ code = codeSnippet(code, functionOffset++, vtableOffset, true); - } -- TYPELIB_DANGER_RELEASE( pTD ); -+ break; -+ -+ case typelib_TypeClass_INTERFACE_METHOD: -+ *slots++ = code; -+ code = codeSnippet( -+ code, functionOffset++, vtableOffset, -+ bridges::cpp_uno::shared::isSimpleType( -+ reinterpret_cast< -+ typelib_InterfaceMethodTypeDescription * >( -+ member)->pReturnTypeRef)); -+ break; -+ -+ default: -+ OSL_ASSERT(false); -+ break; - } -- OSL_ASSERT( vtable_pos == nSlots ); -- } -- else -- { -- buffer = iFind->second; -- } -+ TYPELIB_DANGER_RELEASE(member); - } -- -- return ((void **)buffer +2); --} -- --//================================================================================================== --void SAL_CALL cppu_cppInterfaceProxy_patchVtable( -- XInterface * pCppI, typelib_InterfaceTypeDescription * pTypeDescr ) throw () --{ -- static MediateClassData * s_pMediateClassData = 0; -- if (! s_pMediateClassData) -- { -- MutexGuard aGuard( Mutex::getGlobalMutex() ); -- if (! s_pMediateClassData) -- { --#ifdef LEAK_STATIC_DATA -- s_pMediateClassData = new MediateClassData(); --#else -- static MediateClassData s_aMediateClassData; -- s_pMediateClassData = &s_aMediateClassData; --#endif -- } -- } -- *(void const **)pCppI = s_pMediateClassData->get_vtable( pTypeDescr ); --} -- -+ return code; - } - --extern "C" --{ --//################################################################################################## --sal_Bool SAL_CALL component_canUnload( TimeValue * pTime ) -- SAL_THROW_EXTERN_C() --{ -- return CPPU_CURRENT_NAMESPACE::g_moduleCount.canUnload( -- &CPPU_CURRENT_NAMESPACE::g_moduleCount, pTime ); --} --//################################################################################################## --void SAL_CALL uno_initEnvironment( uno_Environment * pCppEnv ) -- SAL_THROW_EXTERN_C() --{ -- CPPU_CURRENT_NAMESPACE::cppu_cppenv_initEnvironment( -- pCppEnv ); --} --//################################################################################################## --void SAL_CALL uno_ext_getMapping( -- uno_Mapping ** ppMapping, uno_Environment * pFrom, uno_Environment * pTo ) -- SAL_THROW_EXTERN_C() --{ -- CPPU_CURRENT_NAMESPACE::cppu_ext_getMapping( -- ppMapping, pFrom, pTo ); --} --} -+void bridges::cpp_uno::shared::VtableFactory::flushCode( -+ unsigned char const *, unsigned char const *) -+{} -Index: bridges/source/cpp_uno/gcc3_freebsd_intel/except.cxx -=================================================================== -RCS file: /cvs/udk/bridges/source/cpp_uno/gcc3_freebsd_intel/except.cxx,v -retrieving revision 1.4 -diff -u -r1.4 except.cxx ---- bridges/source/cpp_uno/gcc3_freebsd_intel/except.cxx 28 Apr 2003 16:41:25 -0000 1.4 -+++ bridges/source/cpp_uno/gcc3_freebsd_intel/except.cxx 27 Dec 2004 06:05:52 -0000 -@@ -2,9 +2,9 @@ - * - * $RCSfile: except.cxx,v $ - * -- * $Revision: 1.4 $ -+ * $Revision: 1.10 $ - * -- * last change: $Author: hr $ $Date: 2003/04/28 16:41:25 $ -+ * last change: $Author: obo $ $Date: 2004/06/04 02:59:59 $ - * - * The Contents of this file are made available subject to the terms of - * either of the following licenses -@@ -69,7 +69,8 @@ - #include <osl/diagnose.h> - #include <osl/mutex.hxx> - --#include <bridges/cpp_uno/bridge.hxx> -+#include <com/sun/star/uno/genfunc.hxx> -+#include "com/sun/star/uno/RuntimeException.hpp" - #include <typelib/typedescription.hxx> - #include <uno/any2.h> - -@@ -147,7 +148,7 @@ - }; - //__________________________________________________________________________________________________ - RTTI::RTTI() SAL_THROW( () ) -- : m_hApp( dlopen( 0, RTLD_LAZY ) ) -+ : m_hApp( dlopen( 0, RTLD_NOW | RTLD_GLOBAL ) ) - { - } - //__________________________________________________________________________________________________ -@@ -182,7 +183,8 @@ - buf.append( 'E' ); - - OString symName( buf.makeStringAndClear() ); -- rtti = (type_info *)dlsym( m_hApp, symName.getStr() ); -+//#iZ 22253 -+ rtti = (type_info *)dlsym( RTLD_DEFAULT, symName.getStr() ); - - if (rtti) - { -@@ -253,7 +255,7 @@ - //================================================================================================== - void raiseException( uno_Any * pUnoExc, uno_Mapping * pUno2Cpp ) - { --#if defined DEBUG -+#if OSL_DEBUG_LEVEL > 1 - OString cstr( - OUStringToOString( - *reinterpret_cast< OUString const * >( &pUnoExc->pType->pTypeName ), -@@ -275,7 +277,7 @@ - *reinterpret_cast< OUString const * >( &pUnoExc->pType->pTypeName ), - Reference< XInterface >() ); - } -- -+ - pCppExc = __cxa_allocate_exception( pTypeDescr->nSize ); - ::uno_copyAndConvertData( pCppExc, pUnoExc->pData, pTypeDescr, pUno2Cpp ); - -@@ -321,16 +323,16 @@ - Reference< XInterface >() ); - Type const & rType = ::getCppuType( &aRE ); - uno_type_any_constructAndConvert( pUnoExc, &aRE, rType.getTypeLibType(), pCpp2Uno ); --#if defined _DEBUG -+#if OSL_DEBUG_LEVEL > 0 - OString cstr( OUStringToOString( aRE.Message, RTL_TEXTENCODING_ASCII_US ) ); - OSL_ENSURE( 0, cstr.getStr() ); - #endif - return; - } -- -+ - typelib_TypeDescription * pExcTypeDescr = 0; - OUString unoName( toUNOname( header->exceptionType->name() ) ); --#if defined DEBUG -+#if OSL_DEBUG_LEVEL > 1 - OString cstr_unoName( OUStringToOString( unoName, RTL_TEXTENCODING_ASCII_US ) ); - fprintf( stderr, "> c++ exception occured: %s\n", cstr_unoName.getStr() ); - #endif -@@ -342,7 +344,7 @@ - Reference< XInterface >() ); - Type const & rType = ::getCppuType( &aRE ); - uno_type_any_constructAndConvert( pUnoExc, &aRE, rType.getTypeLibType(), pCpp2Uno ); --#if defined _DEBUG -+#if OSL_DEBUG_LEVEL > 0 - OString cstr( OUStringToOString( aRE.Message, RTL_TEXTENCODING_ASCII_US ) ); - OSL_ENSURE( 0, cstr.getStr() ); - #endif -Index: bridges/source/cpp_uno/gcc3_freebsd_intel/makefile.mk -=================================================================== -RCS file: /cvs/udk/bridges/source/cpp_uno/gcc3_freebsd_intel/makefile.mk,v -retrieving revision 1.2 -diff -u -r1.2 makefile.mk ---- bridges/source/cpp_uno/gcc3_freebsd_intel/makefile.mk 18 Mar 2003 19:06:52 -0000 1.2 -+++ bridges/source/cpp_uno/gcc3_freebsd_intel/makefile.mk 27 Dec 2004 06:05:52 -0000 -@@ -2,9 +2,9 @@ - # - # $RCSfile: makefile.mk,v $ - # --# $Revision: 1.2 $ -+# $Revision: 1.3 $ - # --# last change: $Author: hr $ $Date: 2003/03/18 19:06:52 $ -+# last change: $Author: hr $ $Date: 2004/02/03 12:37:41 $ - # - # The Contents of this file are made available subject to the terms of - # either of the following licenses -@@ -95,10 +95,8 @@ - SHL1IMPLIB=i$(TARGET) - SHL1VERSIONMAP=..$/..$/bridge_exports.map - --SHL1OBJS= \ -- $(SLO)$/except.obj \ -- $(SLO)$/cpp2uno.obj \ -- $(SLO)$/uno2cpp.obj -+SHL1OBJS = $(SLOFILES) -+SHL1LIBS = $(SLB)$/cpp_uno_shared.lib - - SHL1STDLIBS= \ - $(CPPULIB) \ -Index: bridges/source/cpp_uno/gcc3_freebsd_intel/share.hxx -=================================================================== -RCS file: /cvs/udk/bridges/source/cpp_uno/gcc3_freebsd_intel/share.hxx,v -retrieving revision 1.2 -diff -u -r1.2 share.hxx ---- bridges/source/cpp_uno/gcc3_freebsd_intel/share.hxx 18 Mar 2003 19:06:53 -0000 1.2 -+++ bridges/source/cpp_uno/gcc3_freebsd_intel/share.hxx 27 Dec 2004 06:05:52 -0000 -@@ -4,7 +4,7 @@ - * - * $Revision: 1.2 $ - * -- * last change: $Author: hr $ $Date: 2003/03/18 19:06:53 $ -+ * last change: $Author: hr $ $Date: 2004/02/03 12:38:19 $ - * - * The Contents of this file are made available subject to the terms of - * either of the following licenses -@@ -59,6 +59,8 @@ - * - ************************************************************************/ - -+#include "uno/mapping.h" -+ - #include <typeinfo> - #include <exception> - #include <cstddef> -@@ -66,6 +68,8 @@ - namespace CPPU_CURRENT_NAMESPACE - { - -+void dummy_can_throw_anything( char const * ); -+ - // ----- following decl from libstdc++-v3/libsupc++/unwind-cxx.h and unwind.h - - struct _Unwind_Exception -Index: bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx -=================================================================== -RCS file: /cvs/udk/bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx,v -retrieving revision 1.5 -diff -u -r1.5 uno2cpp.cxx ---- bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx 3 Nov 2004 09:03:15 -0000 1.5 -+++ bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx 27 Dec 2004 06:05:52 -0000 -@@ -2,9 +2,9 @@ - * - * $RCSfile: uno2cpp.cxx,v $ - * -- * $Revision: 1.5 $ -+ * $Revision: 1.7 $ - * -- * last change: $Author: pjunck $ $Date: 2004/11/03 09:03:15 $ -+ * last change: $Author: sb $ $Date: 2004/09/27 09:08:35 $ - * - * The Contents of this file are made available subject to the terms of - * either of the following licenses -@@ -59,24 +59,25 @@ - * - ************************************************************************/ - --#include <sal/alloca.h> --#include <rtl/alloc.h> -+#include <stdlib.h> - -+#include <com/sun/star/uno/genfunc.hxx> -+#include "com/sun/star/uno/RuntimeException.hpp" - #include <uno/data.h> --#include <bridges/cpp_uno/bridge.hxx> --#include <bridges/cpp_uno/type_misc.hxx> - --#include "share.hxx" -+#include "bridges/cpp_uno/shared/bridge.hxx" -+#include "bridges/cpp_uno/shared/types.hxx" -+#include "bridges/cpp_uno/shared/unointerfaceproxy.hxx" -+#include "bridges/cpp_uno/shared/vtables.hxx" - -+#include "share.hxx" - - using namespace ::rtl; - using namespace ::com::sun::star::uno; - --namespace CPPU_CURRENT_NAMESPACE -+namespace - { - --void dummy_can_throw_anything( char const * ); -- - //================================================================================================== - // The call instruction within the asm section of callVirtualMethod may throw - // exceptions. So that the compiler handles this correctly, it is important -@@ -85,7 +86,7 @@ - // callVirtualMethod is not inlined at its call site (so that any exceptions are - // caught which are thrown from the instruction calling callVirtualMethod): - void callVirtualMethod( -- void * pThis, -+ void * pAdjustedThisPtr, - sal_Int32 nVtableIndex, - void * pRegisterReturn, - typelib_TypeClass eReturnType, -@@ -93,7 +94,7 @@ - sal_Int32 nStackLongs ) __attribute__((noinline)); - - void callVirtualMethod( -- void * pThis, -+ void * pAdjustedThisPtr, - sal_Int32 nVtableIndex, - void * pRegisterReturn, - typelib_TypeClass eReturnType, -@@ -103,13 +104,13 @@ - // parameter list is mixed list of * and values - // reference parameters are pointers - -- OSL_ENSURE( pStackLongs && pThis, "### null ptr!" ); -+ OSL_ENSURE( pStackLongs && pAdjustedThisPtr, "### null ptr!" ); - OSL_ENSURE( (sizeof(void *) == 4) && (sizeof(sal_Int32) == 4), "### unexpected size of int!" ); - OSL_ENSURE( nStackLongs && pStackLongs, "### no stack in callVirtualMethod !" ); - - // never called -- if (! pThis) dummy_can_throw_anything("xxx"); // address something -- -+ if (! pAdjustedThisPtr) CPPU_CURRENT_NAMESPACE::dummy_can_throw_anything("xxx"); // address something -+ - volatile long edx = 0, eax = 0; // for register returns - void * stackptr; - asm volatile ( -@@ -139,8 +140,8 @@ - // cleanup stack - "mov %6, %%esp\n\t" - : -- : "m"(nStackLongs), "m"(pStackLongs), "m"(pThis), "m"(nVtableIndex), -- "m"(eax), "m"(edx), "m"(stackptr) -+ : "m"(nStackLongs), "m"(pStackLongs), "m"(pAdjustedThisPtr), -+ "m"(nVtableIndex), "m"(eax), "m"(edx), "m"(stackptr) - : "eax", "edx" ); - switch( eReturnType ) - { -@@ -172,8 +173,8 @@ - - //================================================================================================== - static void cpp_call( -- cppu_unoInterfaceProxy * pThis, -- sal_Int32 nVtableCall, -+ bridges::cpp_uno::shared::UnoInterfaceProxy * pThis, -+ bridges::cpp_uno::shared::VtableSlot aVtableSlot, - typelib_TypeDescriptionReference * pReturnTypeRef, - sal_Int32 nParams, typelib_MethodParameter * pParams, - void * pUnoReturn, void * pUnoArgs[], uno_Any ** ppUnoExc ) -@@ -192,21 +193,25 @@ - - if (pReturnTypeDescr) - { -- if (cppu_isSimpleType( pReturnTypeDescr )) -+ if (bridges::cpp_uno::shared::isSimpleType( pReturnTypeDescr )) - { - pCppReturn = pUnoReturn; // direct way for simple types - } - else - { - // complex return via ptr -- pCppReturn = *(void **)pCppStack = (cppu_relatesToInterface( pReturnTypeDescr ) -- ? alloca( pReturnTypeDescr->nSize ) -- : pUnoReturn); // direct way -+ pCppReturn = *(void **)pCppStack -+ = (bridges::cpp_uno::shared::relatesToInterfaceType( -+ pReturnTypeDescr ) -+ ? alloca( pReturnTypeDescr->nSize ) -+ : pUnoReturn); // direct way - pCppStack += sizeof(void *); - } - } - // push this -- *(void**)pCppStack = pThis->pCppI; -+ void * pAdjustedThisPtr = reinterpret_cast< void ** >(pThis->getCppI()) -+ + aVtableSlot.offset; -+ *(void**)pCppStack = pAdjustedThisPtr; - pCppStack += sizeof( void* ); - - // stack space -@@ -226,10 +231,11 @@ - typelib_TypeDescription * pParamTypeDescr = 0; - TYPELIB_DANGER_GET( &pParamTypeDescr, rParam.pTypeRef ); - -- if (!rParam.bOut && cppu_isSimpleType( pParamTypeDescr )) -+ if (!rParam.bOut -+ && bridges::cpp_uno::shared::isSimpleType( pParamTypeDescr )) - { - uno_copyAndConvertData( pCppArgs[nPos] = pCppStack, pUnoArgs[nPos], pParamTypeDescr, -- &pThis->pBridge->aUno2Cpp ); -+ pThis->getBridge()->getUno2Cpp() ); - - switch (pParamTypeDescr->eTypeClass) - { -@@ -254,11 +260,13 @@ - ppTempParamTypeDescr[nTempIndizes++] = pParamTypeDescr; - } - // is in/inout -- else if (cppu_relatesToInterface( pParamTypeDescr )) -+ else if (bridges::cpp_uno::shared::relatesToInterfaceType( -+ pParamTypeDescr )) - { - uno_copyAndConvertData( - *(void **)pCppStack = pCppArgs[nPos] = alloca( pParamTypeDescr->nSize ), -- pUnoArgs[nPos], pParamTypeDescr, &pThis->pBridge->aUno2Cpp ); -+ pUnoArgs[nPos], pParamTypeDescr, -+ pThis->getBridge()->getUno2Cpp() ); - - pTempIndizes[nTempIndizes] = nPos; // has to be reconverted - // will be released at reconversion -@@ -278,7 +286,7 @@ - { - OSL_ENSURE( !( (pCppStack - pCppStackStart ) & 3), "UNALIGNED STACK !!! (Please DO panic)" ); - callVirtualMethod( -- pThis->pCppI, nVtableCall, -+ pAdjustedThisPtr, aVtableSlot.index, - pCppReturn, pReturnTypeDescr->eTypeClass, - (sal_Int32 *)pCppStackStart, (pCppStack - pCppStackStart) / sizeof(sal_Int32) ); - // NO exception occured... -@@ -296,13 +304,13 @@ - { - uno_destructData( pUnoArgs[nIndex], pParamTypeDescr, 0 ); // destroy uno value - uno_copyAndConvertData( pUnoArgs[nIndex], pCppArgs[nIndex], pParamTypeDescr, -- &pThis->pBridge->aCpp2Uno ); -+ pThis->getBridge()->getCpp2Uno() ); - } - } - else // pure out - { - uno_copyAndConvertData( pUnoArgs[nIndex], pCppArgs[nIndex], pParamTypeDescr, -- &pThis->pBridge->aCpp2Uno ); -+ pThis->getBridge()->getCpp2Uno() ); - } - // destroy temp cpp param => cpp: every param was constructed - uno_destructData( pCppArgs[nIndex], pParamTypeDescr, cpp_release ); -@@ -313,14 +321,14 @@ - if (pCppReturn && pUnoReturn != pCppReturn) - { - uno_copyAndConvertData( pUnoReturn, pCppReturn, pReturnTypeDescr, -- &pThis->pBridge->aCpp2Uno ); -+ pThis->getBridge()->getCpp2Uno() ); - uno_destructData( pCppReturn, pReturnTypeDescr, cpp_release ); - } - } - catch (...) - { - // fill uno exception -- fillUnoException( __cxa_get_globals()->caughtExceptions, *ppUnoExc, &pThis->pBridge->aCpp2Uno ); -+ fillUnoException( CPPU_CURRENT_NAMESPACE::__cxa_get_globals()->caughtExceptions, *ppUnoExc, pThis->getBridge()->getCpp2Uno() ); - - // temporary params - for ( ; nTempIndizes--; ) -@@ -336,32 +344,32 @@ - } - } - -+} - - //================================================================================================== --void SAL_CALL cppu_unoInterfaceProxy_dispatch( -+void bridges::cpp_uno::shared::UnoInterfaceProxy::dispatch( - uno_Interface * pUnoI, const typelib_TypeDescription * pMemberDescr, -- void * pReturn, void * pArgs[], uno_Any ** ppException ) throw () -+ void * pReturn, void * pArgs[], uno_Any ** ppException ) SAL_THROW(()) - { - // is my surrogate -- cppu_unoInterfaceProxy * pThis = (cppu_unoInterfaceProxy *)pUnoI; -+ bridges::cpp_uno::shared::UnoInterfaceProxy * pThis -+ = static_cast< bridges::cpp_uno::shared::UnoInterfaceProxy * >(pUnoI); - typelib_InterfaceTypeDescription * pTypeDescr = pThis->pTypeDescr; - - switch (pMemberDescr->eTypeClass) - { - case typelib_TypeClass_INTERFACE_ATTRIBUTE: - { -- // determine vtable call index -- sal_Int32 nMemberPos = ((typelib_InterfaceMemberTypeDescription *)pMemberDescr)->nPosition; -- OSL_ENSURE( nMemberPos < pTypeDescr->nAllMembers, "### member pos out of range!" ); -- -- sal_Int32 nVtableCall = pTypeDescr->pMapMemberIndexToFunctionIndex[nMemberPos]; -- OSL_ENSURE( nVtableCall < pTypeDescr->nMapFunctionIndexToMemberIndex, "### illegal vtable index!" ); -- -+ VtableSlot aVtableSlot( -+ getVtableSlot( -+ reinterpret_cast< -+ typelib_InterfaceAttributeTypeDescription const * >( -+ pMemberDescr))); - if (pReturn) - { - // dependent dispatch - cpp_call( -- pThis, nVtableCall, -+ pThis, aVtableSlot, - ((typelib_InterfaceAttributeTypeDescription *)pMemberDescr)->pAttributeTypeRef, - 0, 0, // no params - pReturn, pArgs, ppException ); -@@ -381,8 +389,9 @@ - &pReturnTypeRef, typelib_TypeClass_VOID, aVoidName.pData ); - - // dependent dispatch -+ aVtableSlot.index += 1; // get, then set method - cpp_call( -- pThis, nVtableCall +1, // get, then set method -+ pThis, aVtableSlot, - pReturnTypeRef, - 1, &aParam, - pReturn, pArgs, ppException ); -@@ -394,14 +403,12 @@ - } - case typelib_TypeClass_INTERFACE_METHOD: - { -- // determine vtable call index -- sal_Int32 nMemberPos = ((typelib_InterfaceMemberTypeDescription *)pMemberDescr)->nPosition; -- OSL_ENSURE( nMemberPos < pTypeDescr->nAllMembers, "### member pos out of range!" ); -- -- sal_Int32 nVtableCall = pTypeDescr->pMapMemberIndexToFunctionIndex[nMemberPos]; -- OSL_ENSURE( nVtableCall < pTypeDescr->nMapFunctionIndexToMemberIndex, "### illegal vtable index!" ); -- -- switch (nVtableCall) -+ VtableSlot aVtableSlot( -+ getVtableSlot( -+ reinterpret_cast< -+ typelib_InterfaceMethodTypeDescription const * >( -+ pMemberDescr))); -+ switch (aVtableSlot.index) - { - // standard calls - case 1: // acquire uno interface -@@ -419,8 +426,8 @@ - if (pTD) - { - uno_Interface * pInterface = 0; -- (*pThis->pBridge->pUnoEnv->getRegisteredInterface)( -- pThis->pBridge->pUnoEnv, -+ (*pThis->pBridge->getUnoEnv()->getRegisteredInterface)( -+ pThis->pBridge->getUnoEnv(), - (void **)&pInterface, pThis->oid.pData, (typelib_InterfaceTypeDescription *)pTD ); - - if (pInterface) -@@ -439,7 +446,7 @@ - default: - // dependent dispatch - cpp_call( -- pThis, nVtableCall, -+ pThis, aVtableSlot, - ((typelib_InterfaceMethodTypeDescription *)pMemberDescr)->pReturnTypeRef, - ((typelib_InterfaceMethodTypeDescription *)pMemberDescr)->nParams, - ((typelib_InterfaceMethodTypeDescription *)pMemberDescr)->pParams, -@@ -459,6 +466,3 @@ - } - } - } -- --} -- diff --git a/editors/openoffice.org-2-RC/files/patch-project-extentions b/editors/openoffice.org-2-RC/files/patch-project-extentions deleted file mode 100644 index a8b9d7ee9416..000000000000 --- a/editors/openoffice.org-2-RC/files/patch-project-extentions +++ /dev/null @@ -1,65 +0,0 @@ -#iZ and CWS -o http://www.openoffice.org/issues/show_bug.cgi?id=40179 -o http://eis.services.openoffice.org/EIS2/servlet/cws.ShowCWS?Id=2030&Path=SRC680%2Fpj16 -o pj16 - -Description - -o source/config/ldap/makefile.mk needs -lcompat since re_comp is defined here. -o FreeBSD doesn't have -ldl -o INC+= -DNP_LINUX is also requried for FreeBSD - -Index: source/config/ldap/makefile.mk -=================================================================== -RCS file: /cvs/util/extensions/source/config/ldap/makefile.mk,v -retrieving revision 1.4 -diff -u -r1.4 makefile.mk ---- extensions/source/config/ldap/makefile.mk 15 Nov 2004 14:14:22 -0000 1.4 -+++ extensions/source/config/ldap/makefile.mk 8 Jan 2005 02:48:29 -0000 -@@ -116,6 +116,9 @@ - $(CPPULIB) \ - $(SALHELPERLIB) \ - $(SALLIB) -+.IF "$(OS)"=="FREEBSD" -+SHL1STDLIBS+=-lcompat -+.ENDIF - - DEF1NAME=$(SHL1TARGET) - DEF1EXPORTFILE=exports.dxp -Index: source/nsplugin/source/makefile.mk -=================================================================== -RCS file: /cvs/util/extensions/source/nsplugin/source/makefile.mk,v -retrieving revision 1.8 -diff -u -r1.8 makefile.mk ---- extensions/source/nsplugin/source/makefile.mk 3 Jan 2005 09:04:51 -0000 1.8 -+++ extensions/source/nsplugin/source/makefile.mk 8 Jan 2005 02:48:30 -0000 -@@ -78,7 +78,7 @@ - @echo GTK disabled - nothing to build - - .ELSE # "$(ENABLE_GTK)"=="" --.IF "$(OS)"=="LINUX" -+.IF "$(OS)"=="LINUX" || "$(OS)"=="FREEBSD" - INC+= -DNP_LINUX - .ENDIF - PKGCONFIG_MODULES=gtk+-2.0 -@@ -99,8 +99,10 @@ - .IF "$(GUI)"=="UNX" - SHL1OBJS+=$(SLO)$/npunix.obj - SLOFILES+=$(SLO)$/npunix.obj -+.IF "$(OS)"!="FREEBSD" - SHL1STDLIBS+= -ldl -lnsl --.ENDIF -+.ENDIF #FREEBSD -+.ENDIF #UNX - .IF "$(GUI)"=="WNT" - SHL1OBJS+=$(SLO)$/npwin.obj - SLOFILES+=$(SLO)$/npwin.obj -@@ -131,7 +133,7 @@ - - .IF "$(GUI)"=="UNX" - APP1STDLIBS+=$(PKGCONFIG_LIBS:s/-lpangoxft-1.0//) --.IF "$(OS)"=="LINUX" -+.IF "$(OS)"=="LINUX" || "$(OS)"=="FREEBSD" - .ELSE - APP1STDLIBS+= -ldl -lnsl -lnls -lsocket - .ENDIF diff --git a/editors/openoffice.org-2-RC/files/patch-solenv+inc+unxfbsdi.mk b/editors/openoffice.org-2-RC/files/patch-solenv+inc+unxfbsdi.mk deleted file mode 100644 index f3f55df061d4..000000000000 --- a/editors/openoffice.org-2-RC/files/patch-solenv+inc+unxfbsdi.mk +++ /dev/null @@ -1,262 +0,0 @@ -#iZ and CWS -o http://www.openoffice.org/issues/show_bug.cgi?id=40182 - -Description -o catch up recent unxlngi6.mk -o -Wl,-z,defs -> comment out - -Index: solenv/inc/unxfbsdi.mk -=================================================================== -RCS file: /cvs/tools/solenv/inc/unxfbsdi.mk,v -retrieving revision 1.11 -diff -u -r1.11 unxfbsdi.mk ---- solenv/inc/unxfbsdi.mk 20 Sep 2004 08:37:13 -0000 1.11 -+++ solenv/inc/unxfbsdi.mk 10 Jan 2005 07:44:44 -0000 -@@ -60,16 +60,26 @@ - # - #************************************************************************* - --# mak file for unxfbsdi --ASM=$(CC) --AFLAGS=-x assembler-with-cpp -c $(CDEFS) -+# mk file for unxfbsdi -+ASM= -+AFLAGS= -+ -+SOLAR_JAVA*=TRUE -+JAVAFLAGSDEBUG=-g - - # filter for supressing verbose messages from linker - #not needed at the moment - #LINKOUTPUT_FILTER=" |& $(SOLARENV)$/bin$/msg_filter" - -+# _PTHREADS is needed for the stl -+CDEFS+=$(PTHREAD_CFLAGS) -DX86 -D_PTHREADS -D_REENTRANT -DNEW_SOLAR -D_USE_NAMESPACE=1 -DSTLPORT_VERSION=400 -+ -+# enable visibility define in "sal/types.h" -+.IF "$(HAVE_GCC_VISIBILITY_FEATURE)" == "TRUE" -+CDEFS += -DHAVE_GCC_VISIBILITY_FEATURE -+.ENDIF # "$(HAVE_GCC_VISIBILITY_FEATURE)" == "TRUE" -+ - # this is a platform with JAVA support --SOLAR_JAVA*=TRUE - .IF "$(SOLAR_JAVA)"!="" - JAVADEF=-DSOLAR_JAVA - .IF "$(debug)"=="" -@@ -83,90 +93,82 @@ - CXX*=g++ - # name of C Compiler - CC*=gcc -+.IF "$(SYSBASE)"!="" -+CFLAGS_SYSBASE:=-isystem $(SYSBASE)$/usr$/include -+CXX+:=$(CFLAGS_SYSBASE) -+CC+:=$(CFLAGS_SYSBASE) -+.ENDIF # "$(SYSBASE)"!="" -+CFLAGS+=-Wreturn-type -fmessage-length=0 -c $(INCLUDE) -+.IF "$(PRODUCT)"!="" -+CFLAGS+=-Wuninitialized -+.ENDIF - --# filter for supressing verbose messages from linker --# not needed at the moment --LINKOUTPUT_FILTER=" |& $(SOLARENV)$/bin$/msg_filter" -+# flags to enable build with symbols; required for crashdump feature -+.IF "$(ENABLE_SYMBOLS)"=="SMALL" -+CFLAGSENABLESYMBOLS=-g1 -+.ELSE -+CFLAGSENABLESYMBOLS=-g # was temporarily commented out, reenabled before Beta - --# options for C and C++ Compiler --CDEFS+= -D_USE_NAMESPACE=1 -DX86 -DNEW_SOLAR -DSTLPORT_VERSION=450 -DOSVERSION=$(OSVERSION) --CDEFS+= $(PTHREAD_CFLAGS) -D_REENTRANT -- --# flags for C and C++ Compile --CFLAGS+= -w -c $(INCLUDE) --CFLAGS+= -I/usr/X11R6/include -+.ENDIF - - # flags for the C++ Compiler --CFLAGSCC= -pipe -fno-rtti --CFLAGSCXX= -pipe -fno-rtti --CFLAGSCXX+= -Wno-ctor-dtor-privacy -- -+CFLAGSCC= -pipe -mtune=pentiumpro - # Flags for enabling exception handling --CFLAGSEXCEPTIONS= -fexceptions --CFLAGS_NO_EXCEPTIONS= -fno-exceptions -- --# Compiler flags for compiling static object in single threaded --# environment with graphical user interface --CFLAGSOBJGUIST= -fPIC -- --# Compiler flags for compiling static object in single threaded --# environment with character user interface --CFLAGSOBJCUIST= -fPIC -- --# Compiler flags for compiling static object in multi threaded --# environment with graphical user interface --CFLAGSOBJGUIMT= -fPIC -- --# Compiler flags for compiling static object in multi threaded --# environment with character user interface --CFLAGSOBJCUIMT= -fPIC -- --# Compiler flags for compiling shared object in multi threaded --# environment with graphical user interface --CFLAGSSLOGUIMT= -fPIC -- --# Compiler flags for compiling shared object in multi threaded --# environment with character user interface --CFLAGSSLOCUIMT= -fPIC -+CFLAGSEXCEPTIONS=-fexceptions -fno-enforce-eh-specs -+# Flags for disabling exception handling -+CFLAGS_NO_EXCEPTIONS=-fno-exceptions - --# Compiler flags for profilin --CFLAGSPROF= -pg -+# -fpermissive should be removed as soon as possible -+CFLAGSCXX= -pipe -mtune=pentiumpro -+CFLAGSCXX+= -Wno-ctor-dtor-privacy - -+# Compiler flags for compiling static object in single threaded environment with graphical user interface -+CFLAGSOBJGUIST= -+# Compiler flags for compiling static object in single threaded environment with character user interface -+CFLAGSOBJCUIST= -+# Compiler flags for compiling static object in multi threaded environment with graphical user interface -+CFLAGSOBJGUIMT= -+# Compiler flags for compiling static object in multi threaded environment with character user interface -+CFLAGSOBJCUIMT= -+# Compiler flags for compiling shared object in multi threaded environment with graphical user interface -+CFLAGSSLOGUIMT=-fPIC -+# Compiler flags for compiling shared object in multi threaded environment with character user interface -+CFLAGSSLOCUIMT=-fPIC -+# Compiler flags for profiling -+CFLAGSPROF= - # Compiler flags for debugging --CFLAGSDEBUG= -g -+CFLAGSDEBUG=-g - CFLAGSDBGUTIL= -- --# Compiler flags to enable optimizations --# -02 is broken for FreeBSD --CFLAGSOPT= -O -- --# Compiler flags to disable optimizations --# -0 is broken for STLport for FreeBSD --CFLAGSNOOPT= -O0 -- --# Compiler flags for the output path --CFLAGSOUTOBJ= -o -- -+# Compiler flags for enabling optimazations -+.IF "$(PRODUCT)"!="" -+CFLAGSOPT=-Os -fno-strict-aliasing # optimizing for products -+.ELSE # "$(PRODUCT)"!="" -+CFLAGSOPT= # no optimizing for non products -+.ENDIF # "$(PRODUCT)"!="" -+# Compiler flags for disabling optimazations -+CFLAGSNOOPT=-O0 -+# Compiler flags for discibing the output path -+CFLAGSOUTOBJ=-o - # Enable all warnings - CFLAGSWALL=-Wall -- - # Set default warn level --CFLAGSDFLTWARN=-w -+CFLAGSDFLTWARN= - - # switches for dynamic and static linking --STATIC= -Wl,-Bstatic --DYNAMIC= -Wl,-Bdynamic -+STATIC = -Wl,-Bstatic -+DYNAMIC = -Wl,-Bdynamic - - # name of linker --LINK=$(CC) -+LINK*=$(CXX) - - # default linker flags --# LINKFLAGSRUNPATH*=-Wl,-rpath\''$$ORIGIN'\' --LINKFLAGS=$(LINKFLAGSRUNPATH) -+LINKFLAGSDEFS*=#-Wl,-z,defs -+LINKFLAGSRUNPATH*=-Wl,-rpath,\''$$ORIGIN'\' -+LINKFLAGS=-z combreloc $(LINKFLAGSDEFS) $(LINKFLAGSRUNPATH) - - # linker flags for linking applications --LINKFLAGSAPPGUI= -Wl,--noinhibit-exec --LINKFLAGSAPPCUI= -Wl,--noinhibit-exec -+LINKFLAGSAPPGUI= -Wl,-export-dynamic -Wl,--noinhibit-exec -+LINKFLAGSAPPCUI= -Wl,-export-dynamic -Wl,--noinhibit-exec - - # linker flags for linking shared libraries - LINKFLAGSSHLGUI= -shared -@@ -177,23 +179,19 @@ - LINKFLAGSDEBUG=-g - LINKFLAGSOPT= - --.IF "$(NO_BSYMBOLIC)"=="" --.IF "$(PRJNAME)" != "envtest" --LINKFLAGSSHLGUI+= -Wl,-Bsymbolic --LINKFLAGSSHLCUI+= -Wl,-Bsymbolic --.ENDIF --.ENDIF -+# linker flags for optimization (symbol hashtable) -+# for now, applied to symbol scoped libraries, only -+LINKFLAGSOPTIMIZE*=-Wl,-O1 -+LINKVERSIONMAPFLAG=$(LINKFLAGSOPTIMIZE) -Wl,--version-script - --LINKVERSIONMAPFLAG=-Wl,--version-script -+SONAME_SWITCH=-Wl,-h - - # Sequence of libs does matter ! --STDLIBCPP=-lstdc++ - --# _SYSLIBS= -L/usr/lib -lm --# _X11LIBS= -L/usr/X11R6/lib -lXext -lX11 --# _CXXLIBS= -L/usr/lib -lstdc++ -L/usr/local/lib -+STDLIBCPP=-lstdc++ - - # default objectfilenames to link -+STDOBJVCL=$(L)$/salmain.o - STDOBJGUI= - STDSLOGUI= - STDOBJCUI= -@@ -201,24 +199,25 @@ - - # libraries for linking applications - STDLIBCUIST=-lm --STDLIBGUIST=-lXaw -lXt -lX11 -lm --STDLIBGUIMT=-lXaw -lXt -lX11 $(PTHREAD_LIBS) -lm -+STDLIBGUIMT=-lX11 $(PTHREAD_LIBS) -lm - STDLIBCUIMT=$(PTHREAD_LIBS) -lm -- -+STDLIBGUIST=-lX11 -lm - # libraries for linking shared libraries --STDSHLGUIMT=-lXaw -lXt -lX11 -lXext $(PTHREAD_LIBS) -lm -+STDSHLGUIMT=-lX11 -lXext $(PTHREAD_LIBS) -lm - STDSHLCUIMT=$(PTHREAD_LIBS) -lm -+STDSHLGUIST=-lX11 -lXext -lm -+STDSHLCUIST=-lm - - LIBSALCPPRT*=-Wl,--whole-archive -lsalcpprt -Wl,--no-whole-archive - --# STLport always needs pthread. --LIBSTLPORT=$(DYNAMIC) -lstlport_gcc $(STDLIBCPP) $(PTHREAD_LIBS) --LIBSTLPORTST=$(STATIC) -lstlport_gcc $(DYNAMIC) $(PTHREAD_LIBS) -+LIBSTLPORT=$(DYNAMIC) -lstlport_gcc -+LIBSTLPORTST=$(STATIC) -lstlport_gcc $(DYNAMIC) -+ -+#FILLUPARC=$(STATIC) -lsupc++ $(DYNAMIC) - - # name of library manager - LIBMGR=ar - LIBFLAGS=-r --LIBEXT= .a - - # tool for generating import libraries - IMPLIB= -@@ -237,3 +236,4 @@ - DLLPOSTFIX=fi - DLLPRE=lib - DLLPOST=.so -+ diff --git a/editors/openoffice.org-2-RC/files/patch-transex3+source+xmlparse.cxx b/editors/openoffice.org-2-RC/files/patch-transex3+source+xmlparse.cxx deleted file mode 100644 index de1864d5e9cb..000000000000 --- a/editors/openoffice.org-2-RC/files/patch-transex3+source+xmlparse.cxx +++ /dev/null @@ -1,24 +0,0 @@ -#iZ and CWS -o http://www.openoffice.org/issues/show_bug.cgi?id=40184 -o http://eis.services.openoffice.org/EIS2/servlet/cws.ShowCWS?Id=2030&Path=SRC680%2Fpj16 -o pj16 - -Description -FreeBSD doesn't have alloca.h - -Index: source/xmlparse.cxx -=================================================================== -RCS file: /cvs/l10n/transex3/source/xmlparse.cxx,v -retrieving revision 1.5 -diff -u -r1.5 xmlparse.cxx ---- transex3/source/xmlparse.cxx 18 Nov 2004 08:17:50 -0000 1.5 -+++ transex3/source/xmlparse.cxx 8 Jan 2005 02:56:14 -0000 -@@ -67,7 +67,7 @@ - #ifdef WIN32 - #include <malloc.h> - #else --#ifndef MACOSX -+#if !(defined(MACOSX) || defined(FREEBSD)) - #include <alloca.h> - #endif - #endif diff --git a/editors/openoffice.org-2-devel/Makefile b/editors/openoffice.org-2-devel/Makefile index c563bd2c2beb..e6be311f3b31 100644 --- a/editors/openoffice.org-2-devel/Makefile +++ b/editors/openoffice.org-2-devel/Makefile @@ -19,7 +19,7 @@ EXTRACT_ONLY= OOo_${RELEASE_NR}m${MILESTONE}_source.tar.bz2 MAINTAINER= openoffice@FreeBSD.org COMMENT?= Integrated wordprocessor/dbase/spreadheet/drawing/chart/browser(developer version) -SNAPDATE= 20050119 +SNAPDATE= 20050123 NO_LATEST_LINK= yes USE_GNOME= gtk20 MOZILLA_PROJECT= cws_srx645_mozooo.20041016.tar.gz @@ -49,7 +49,7 @@ BROKEN= "rtld depends on _end symbol. type make -DBROKEN to see how to upgrade CODELINE= 680 RELEASE_NR= 1.9 -MILESTONE= 72 +MILESTONE= 73 INSTALLATION_BASEDIR= openoffice.org${RELEASE_NR}m${MILESTONE} EXECBASE= openoffice.org-${RELEASE_NR}m${MILESTONE} DIST_SUBDIR= openoffice.org2.0 diff --git a/editors/openoffice.org-2-devel/distinfo b/editors/openoffice.org-2-devel/distinfo index 8b7774bf8f23..c9e7f5358b88 100644 --- a/editors/openoffice.org-2-devel/distinfo +++ b/editors/openoffice.org-2-devel/distinfo @@ -1,5 +1,5 @@ -MD5 (openoffice.org2.0/OOo_1.9m72_source.tar.bz2) = c51fa9d749f1e5eb3733d50b91f97fe8 -SIZE (openoffice.org2.0/OOo_1.9m72_source.tar.bz2) = 233690890 +MD5 (openoffice.org2.0/OOo_1.9m73_source.tar.bz2) = 0885bb45bd204b03b16f8276cbd922e0 +SIZE (openoffice.org2.0/OOo_1.9m73_source.tar.bz2) = 233756500 MD5 (openoffice.org2.0/gpc231.tar.Z) = fdb06fdb5a4670b172f9fb738b717be9 SIZE (openoffice.org2.0/gpc231.tar.Z) = 27917 MD5 (openoffice.org2.0/cws_srx645_mozooo.20041016.tar.gz) = eda0ab73b24c45890ae08bdfe04049bd diff --git a/editors/openoffice.org-2-devel/files/Makefile.knobs b/editors/openoffice.org-2-devel/files/Makefile.knobs index 5b9c07e3afce..0afc3acadf7e 100644 --- a/editors/openoffice.org-2-devel/files/Makefile.knobs +++ b/editors/openoffice.org-2-devel/files/Makefile.knobs @@ -19,7 +19,7 @@ CONFIGURE_ARGS+= --enable-cups .if defined(ALL_LOCALIZED_LANGS) CONFIGURE_ARGS+= --with-lang="en-US ar ca cs da de el es et fi fr he hi-IN hu it ja ko pl pt pt-BR ru sk sl sv th tr zh-CN zh-TW" -#following langs still seem to be under development +#following langs still seem to be under development #af bg cy eo eu gl kn-IN lt nb nl nn ns tn zu #CONFIGURE_ARGS+= --with-lang=ALL .else diff --git a/editors/openoffice.org-2-devel/files/patch-config_office+set_soenv.in b/editors/openoffice.org-2-devel/files/patch-config_office+set_soenv.in deleted file mode 100644 index 9b2a97774dc1..000000000000 --- a/editors/openoffice.org-2-devel/files/patch-config_office+set_soenv.in +++ /dev/null @@ -1,25 +0,0 @@ -#iZ and CWS -o http://www.openoffice.org/issues/show_bug.cgi?id=37731 -o http://eis.services.openoffice.org/EIS2/servlet/cws.ShowCWS?Id=2030&Path=SRC680%2Fpj16 -o pj16 - -Description -Do not export LINK to environment - -Index: config_office/set_soenv.in -=================================================================== -RCS file: /cvs/tools/config_office/set_soenv.in,v -retrieving revision 1.31 -diff -u -r1.31 set_soenv.in ---- config_office/set_soenv.in 5 Jan 2005 12:10:00 -0000 1.31 -+++ config_office/set_soenv.in 9 Jan 2005 18:51:24 -0000 -@@ -1684,9 +1684,6 @@ - ToFile( "CC", $CC, "e" ); - ToFile( "CXX", $CXX, "e" ); - ToFile( "USE_SYSTEM_STL", "@USE_SYSTEM_STL@", "e" ); --if ( $COM ne "MSC" ) { -- ToFile( "LINK", $CC, "e" ); --} - ToFile( "ENABLE_SYMBOLS", "@ENABLE_SYMBOLS@", "e" ); - ToFile( "ENABLE_CRASHDUMP", "@ENABLE_CRASHDUMP@", "e" ); - ToFile( "ENABLE_CUPS", "@ENABLE_CUPS@", "e" ); diff --git a/editors/openoffice.org-2-devel/files/patch-project-bridges b/editors/openoffice.org-2-devel/files/patch-project-bridges deleted file mode 100644 index 890cab171898..000000000000 --- a/editors/openoffice.org-2-devel/files/patch-project-bridges +++ /dev/null @@ -1,1004 +0,0 @@ -#iZ and CWS -o http://www.openoffice.org/issues/show_bug.cgi?id=40178 - -Description -catch up recent version of -bridges/source/cpp_uno/gcc3_linux_intel/cpp2uno.cxx -Only difference is: -- rtti = (type_info *)dlsym( m_hApp, symName.getStr() ); -+ rtti = (type_info *)dlsym( RTLD_DEFAULT, symName.getStr() ); -#iZ 22253 for reason why we changed m_hApp to RTLD_DEFAULT - -Index: bridges/source/cpp_uno/gcc3_freebsd_intel/cpp2uno.cxx -=================================================================== -RCS file: /cvs/udk/bridges/source/cpp_uno/gcc3_freebsd_intel/cpp2uno.cxx,v -retrieving revision 1.3 -diff -u -r1.3 cpp2uno.cxx ---- bridges/source/cpp_uno/gcc3_freebsd_intel/cpp2uno.cxx 28 Apr 2003 16:28:20 -0000 1.3 -+++ bridges/source/cpp_uno/gcc3_freebsd_intel/cpp2uno.cxx 27 Dec 2004 06:05:52 -0000 -@@ -2,9 +2,9 @@ - * - * $RCSfile: cpp2uno.cxx,v $ - * -- * $Revision: 1.3 $ -+ * $Revision: 1.6 $ - * -- * last change: $Author: hr $ $Date: 2003/04/28 16:28:20 $ -+ * last change: $Author: obo $ $Date: 2004/06/04 02:59:45 $ - * - * The Contents of this file are made available subject to the terms of - * either of the following licenses -@@ -59,34 +59,26 @@ - * - ************************************************************************/ - --#include <hash_map> -- --#include <sal/alloca.h> --#include <rtl/alloc.h> --#include <osl/mutex.hxx> -- -+#include <com/sun/star/uno/genfunc.hxx> -+#include "com/sun/star/uno/RuntimeException.hpp" - #include <uno/data.h> - #include <typelib/typedescription.hxx> - --#include <bridges/cpp_uno/bridge.hxx> --#include <bridges/cpp_uno/type_misc.hxx> -+#include "bridges/cpp_uno/shared/bridge.hxx" -+#include "bridges/cpp_uno/shared/cppinterfaceproxy.hxx" -+#include "bridges/cpp_uno/shared/types.hxx" -+#include "bridges/cpp_uno/shared/vtablefactory.hxx" - - #include "share.hxx" - -- --using namespace ::osl; --using namespace ::rtl; - using namespace ::com::sun::star::uno; - --namespace CPPU_CURRENT_NAMESPACE -+namespace - { - - //================================================================================================== --rtl_StandardModuleCount g_moduleCount = MODULE_COUNT_INIT; -- --//================================================================================================== - static typelib_TypeClass cpp2uno_call( -- cppu_cppInterfaceProxy * pThis, -+ bridges::cpp_uno::shared::CppInterfaceProxy * pThis, - const typelib_TypeDescription * pMemberTypeDescr, - typelib_TypeDescriptionReference * pReturnTypeRef, // 0 indicates void return - sal_Int32 nParams, typelib_MethodParameter * pParams, -@@ -106,7 +98,7 @@ - - if (pReturnTypeDescr) - { -- if (cppu_isSimpleType( pReturnTypeDescr )) -+ if (bridges::cpp_uno::shared::isSimpleType( pReturnTypeDescr )) - { - pUnoReturn = pRegisterReturn; // direct way for simple types - } -@@ -115,7 +107,8 @@ - pCppReturn = *(void **)pCppStack; - pCppStack += sizeof(void *); - -- pUnoReturn = (cppu_relatesToInterface( pReturnTypeDescr ) -+ pUnoReturn = (bridges::cpp_uno::shared::relatesToInterfaceType( -+ pReturnTypeDescr ) - ? alloca( pReturnTypeDescr->nSize ) - : pCppReturn); // direct way - } -@@ -141,7 +134,9 @@ - typelib_TypeDescription * pParamTypeDescr = 0; - TYPELIB_DANGER_GET( &pParamTypeDescr, rParam.pTypeRef ); - -- if (!rParam.bOut && cppu_isSimpleType( pParamTypeDescr )) // value -+ if (!rParam.bOut -+ && bridges::cpp_uno::shared::isSimpleType( pParamTypeDescr )) -+ // value - { - pCppArgs[nPos] = pCppStack; - pUnoArgs[nPos] = pCppStack; -@@ -168,11 +163,12 @@ - ppTempParamTypeDescr[nTempIndizes++] = pParamTypeDescr; - } - // is in/inout -- else if (cppu_relatesToInterface( pParamTypeDescr )) -+ else if (bridges::cpp_uno::shared::relatesToInterfaceType( -+ pParamTypeDescr )) - { - uno_copyAndConvertData( pUnoArgs[nPos] = alloca( pParamTypeDescr->nSize ), - *(void **)pCppStack, pParamTypeDescr, -- &pThis->pBridge->aCpp2Uno ); -+ pThis->getBridge()->getCpp2Uno() ); - pTempIndizes[nTempIndizes] = nPos; // has to be reconverted - // will be released at reconversion - ppTempParamTypeDescr[nTempIndizes++] = pParamTypeDescr; -@@ -192,7 +188,8 @@ - uno_Any * pUnoExc = &aUnoExc; - - // invoke uno dispatch call -- (*pThis->pUnoI->pDispatcher)( pThis->pUnoI, pMemberTypeDescr, pUnoReturn, pUnoArgs, &pUnoExc ); -+ (*pThis->getUnoI()->pDispatcher)( -+ pThis->getUnoI(), pMemberTypeDescr, pUnoReturn, pUnoArgs, &pUnoExc ); - - // in case an exception occured... - if (pUnoExc) -@@ -209,7 +206,9 @@ - if (pReturnTypeDescr) - TYPELIB_DANGER_RELEASE( pReturnTypeDescr ); - -- raiseException( &aUnoExc, &pThis->pBridge->aUno2Cpp ); // has to destruct the any -+ CPPU_CURRENT_NAMESPACE::raiseException( -+ &aUnoExc, pThis->getBridge()->getUno2Cpp() ); -+ // has to destruct the any - // is here for dummy - return typelib_TypeClass_VOID; - } -@@ -226,7 +225,7 @@ - // convert and assign - uno_destructData( pCppArgs[nIndex], pParamTypeDescr, cpp_release ); - uno_copyAndConvertData( pCppArgs[nIndex], pUnoArgs[nIndex], pParamTypeDescr, -- &pThis->pBridge->aUno2Cpp ); -+ pThis->getBridge()->getUno2Cpp() ); - } - // destroy temp uno param - uno_destructData( pUnoArgs[nIndex], pParamTypeDescr, 0 ); -@@ -239,7 +238,7 @@ - if (pUnoReturn != pCppReturn) // needs reconversion - { - uno_copyAndConvertData( pCppReturn, pUnoReturn, pReturnTypeDescr, -- &pThis->pBridge->aUno2Cpp ); -+ pThis->getBridge()->getUno2Cpp() ); - // destroy temp uno return - uno_destructData( pUnoReturn, pReturnTypeDescr, 0 ); - } -@@ -260,38 +259,41 @@ - - //================================================================================================== - static typelib_TypeClass cpp_mediate( -- sal_Int32 nVtableCall, -+ sal_Int32 nFunctionIndex, -+ sal_Int32 nVtableOffset, - void ** pCallStack, - sal_Int64 * pRegisterReturn /* space for register return */ ) - { - OSL_ENSURE( sizeof(sal_Int32)==sizeof(void *), "### unexpected!" ); - - // pCallStack: ret adr, [ret *], this, params -- // _this_ ptr is patched cppu_XInterfaceProxy object -- cppu_cppInterfaceProxy * pCppI = NULL; -- if( nVtableCall & 0x80000000 ) -+ void * pThis; -+ if( nFunctionIndex & 0x80000000 ) - { -- nVtableCall &= 0x7fffffff; -- pCppI = (cppu_cppInterfaceProxy *)(XInterface *)*(pCallStack +2); -+ nFunctionIndex &= 0x7fffffff; -+ pThis = pCallStack[2]; - } - else - { -- pCppI = (cppu_cppInterfaceProxy *)(XInterface *)*(pCallStack +1); -+ pThis = pCallStack[1]; - } -+ pThis = static_cast< char * >(pThis) - nVtableOffset; -+ bridges::cpp_uno::shared::CppInterfaceProxy * pCppI -+ = bridges::cpp_uno::shared::CppInterfaceProxy::castInterfaceToProxy( -+ pThis); - -- typelib_InterfaceTypeDescription * pTypeDescr = pCppI->pTypeDescr; -+ typelib_InterfaceTypeDescription * pTypeDescr = pCppI->getTypeDescr(); - -- OSL_ENSURE( nVtableCall < pTypeDescr->nMapFunctionIndexToMemberIndex, "### illegal vtable index!" ); -- if (nVtableCall >= pTypeDescr->nMapFunctionIndexToMemberIndex) -+ OSL_ENSURE( nFunctionIndex < pTypeDescr->nMapFunctionIndexToMemberIndex, "### illegal vtable index!" ); -+ if (nFunctionIndex >= pTypeDescr->nMapFunctionIndexToMemberIndex) - { - throw RuntimeException( -- OUString::createFromAscii("illegal vtable index!"), -- (XInterface *)pCppI ); -+ rtl::OUString::createFromAscii("illegal vtable index!"), -+ (XInterface *)pThis ); - } - - // determine called method -- OSL_ENSURE( nVtableCall < pTypeDescr->nMapFunctionIndexToMemberIndex, "### illegal vtable index!" ); -- sal_Int32 nMemberPos = pTypeDescr->pMapFunctionIndexToMemberIndex[nVtableCall]; -+ sal_Int32 nMemberPos = pTypeDescr->pMapFunctionIndexToMemberIndex[nFunctionIndex]; - OSL_ENSURE( nMemberPos < pTypeDescr->nAllMembers, "### illegal member index!" ); - - TypeDescription aMemberDescr( pTypeDescr->ppAllMembers[nMemberPos] ); -@@ -301,7 +303,7 @@ - { - case typelib_TypeClass_INTERFACE_ATTRIBUTE: - { -- if (pTypeDescr->pMapMemberIndexToFunctionIndex[nMemberPos] == nVtableCall) -+ if (pTypeDescr->pMapMemberIndexToFunctionIndex[nMemberPos] == nFunctionIndex) - { - // is GET method - eRet = cpp2uno_call( -@@ -330,7 +332,7 @@ - case typelib_TypeClass_INTERFACE_METHOD: - { - // is METHOD -- switch (nVtableCall) -+ switch (nFunctionIndex) - { - case 1: // acquire() - pCppI->acquireProxy(); // non virtual call! -@@ -347,9 +349,10 @@ - if (pTD) - { - XInterface * pInterface = 0; -- (*pCppI->pBridge->pCppEnv->getRegisteredInterface)( -- pCppI->pBridge->pCppEnv, -- (void **)&pInterface, pCppI->oid.pData, (typelib_InterfaceTypeDescription *)pTD ); -+ (*pCppI->getBridge()->getCppEnv()->getRegisteredInterface)( -+ pCppI->getBridge()->getCppEnv(), -+ (void **)&pInterface, pCppI->getOid().pData, -+ (typelib_InterfaceTypeDescription *)pTD ); - - if (pInterface) - { -@@ -378,8 +381,8 @@ - default: - { - throw RuntimeException( -- OUString::createFromAscii("no member description found!"), -- (XInterface *)pCppI ); -+ rtl::OUString::createFromAscii("no member description found!"), -+ (XInterface *)pThis ); - // is here for dummy - eRet = typelib_TypeClass_VOID; - } -@@ -393,12 +396,15 @@ - * is called on incoming vtable calls - * (called by asm snippets) - */ --static void cpp_vtable_call( int nTableEntry, void** pCallStack ) __attribute__((regparm(2))); -+static void cpp_vtable_call( -+ int nFunctionIndex, int nVtableOffset, void** pCallStack ) -+ __attribute__((regparm(3))); - --void cpp_vtable_call( int nTableEntry, void** pCallStack ) -+void cpp_vtable_call( int nFunctionIndex, int nVtableOffset, void** pCallStack ) - { - volatile long nRegReturn[2]; -- typelib_TypeClass aType = cpp_mediate( nTableEntry, pCallStack, (sal_Int64*)nRegReturn ); -+ typelib_TypeClass aType = cpp_mediate( -+ nFunctionIndex, nVtableOffset, pCallStack, (sal_Int64*)nRegReturn ); - - switch( aType ) - { -@@ -434,161 +440,103 @@ - - - //================================================================================================== --class MediateClassData --{ -- typedef ::std::hash_map< OUString, void *, OUStringHash > t_classdata_map; -- t_classdata_map m_map; -- Mutex m_mutex; -- --public: -- void const * get_vtable( typelib_InterfaceTypeDescription * pTD ) SAL_THROW( () ); -- -- inline MediateClassData() SAL_THROW( () ) -- {} -- ~MediateClassData() SAL_THROW( () ); --}; --//__________________________________________________________________________________________________ --MediateClassData::~MediateClassData() SAL_THROW( () ) -+int const codeSnippetSize = 20; -+ -+unsigned char * codeSnippet( -+ unsigned char * code, sal_Int32 functionIndex, sal_Int32 vtableOffset, -+ bool simpleRetType) - { -- OSL_TRACE( "> calling ~MediateClassData(): freeing mediate vtables." ); -- -- for ( t_classdata_map::const_iterator iPos( m_map.begin() ); iPos != m_map.end(); ++iPos ) -- { -- ::rtl_freeMemory( iPos->second ); -- } -+ if (!simpleRetType) { -+ functionIndex |= 0x80000000; -+ } -+ unsigned char * p = code; -+ OSL_ASSERT(sizeof (sal_Int32) == 4); -+ // mov function_index, %eax: -+ *p++ = 0xB8; -+ *reinterpret_cast< sal_Int32 * >(p) = functionIndex; -+ p += sizeof (sal_Int32); -+ // mov vtable_offset, %edx: -+ *p++ = 0xBA; -+ *reinterpret_cast< sal_Int32 * >(p) = vtableOffset; -+ p += sizeof (sal_Int32); -+ // mov %esp, %ecx: -+ *p++ = 0x89; -+ *p++ = 0xE1; -+ // jmp cpp_vtable_call: -+ *p++ = 0xE9; -+ *reinterpret_cast< sal_Int32 * >(p) -+ = ((unsigned char *) cpp_vtable_call) - p - sizeof (sal_Int32); -+ p += sizeof (sal_Int32); -+ OSL_ASSERT(p - code <= codeSnippetSize); -+ return code + codeSnippetSize; - } --//-------------------------------------------------------------------------------------------------- --static inline void codeSnippet( char * code, sal_uInt32 vtable_pos, bool simple_ret_type ) SAL_THROW( () ) --{ -- if (! simple_ret_type) -- vtable_pos |= 0x80000000; -- OSL_ASSERT( sizeof (long) == 4 ); -- // mov $nPos, %eax -- *code++ = 0xb8; -- *(long *)code = vtable_pos; -- code += sizeof (long); -- // mov %esp, %edx -- *code++ = 0x89; -- *code++ = 0xe2; -- // jmp cpp_vtable_call -- *code++ = 0xe9; -- *(long *)code = ((char *)cpp_vtable_call) - code - sizeof (long); -+ - } --//__________________________________________________________________________________________________ --void const * MediateClassData::get_vtable( typelib_InterfaceTypeDescription * pTD ) SAL_THROW( () ) --{ -- void * buffer; -- -- // avoiding locked counts -- OUString const & unoName = *(OUString const *)&((typelib_TypeDescription *)pTD)->pTypeName; -- { -- MutexGuard aGuard( m_mutex ); -- t_classdata_map::const_iterator iFind( m_map.find( unoName ) ); -- if (iFind == m_map.end()) -- { -- // create new vtable -- sal_Int32 nSlots = pTD->nMapFunctionIndexToMemberIndex; -- buffer = ::rtl_allocateMemory( ((2+ nSlots) * sizeof (void *)) + (nSlots *20) ); -- -- ::std::pair< t_classdata_map::iterator, bool > insertion( -- m_map.insert( t_classdata_map::value_type( unoName, buffer ) ) ); -- OSL_ENSURE( insertion.second, "### inserting new vtable buffer failed?!" ); -- -- void ** slots = (void **)buffer; -- *slots++ = 0; -- *slots++ = 0; // rtti -- char * code = (char *)(slots + nSlots); -- -- sal_uInt32 vtable_pos = 0; -- sal_Int32 nAllMembers = pTD->nAllMembers; -- typelib_TypeDescriptionReference ** ppAllMembers = pTD->ppAllMembers; -- for ( sal_Int32 nPos = 0; nPos < nAllMembers; ++nPos ) -- { -- typelib_TypeDescription * pTD = 0; -- TYPELIB_DANGER_GET( &pTD, ppAllMembers[ nPos ] ); -- OSL_ASSERT( pTD ); -- if (typelib_TypeClass_INTERFACE_ATTRIBUTE == pTD->eTypeClass) -- { -- bool simple_ret = cppu_isSimpleType( -- ((typelib_InterfaceAttributeTypeDescription *)pTD)->pAttributeTypeRef->eTypeClass ); -- // get method -- *slots++ = code; -- codeSnippet( code, vtable_pos++, simple_ret ); -- code += 20; -- if (! ((typelib_InterfaceAttributeTypeDescription *)pTD)->bReadOnly) -- { -- // set method -- *slots++ = code; -- codeSnippet( code, vtable_pos++, true ); -- code += 20; -- } -- } -- else -+ -+void ** bridges::cpp_uno::shared::VtableFactory::mapBlockToVtable(char * block) -+{ -+ return reinterpret_cast< void ** >(block) + 2; -+} -+ -+char * bridges::cpp_uno::shared::VtableFactory::createBlock( -+ sal_Int32 slotCount, void *** slots) -+{ -+ char * block = new char[ -+ (slotCount + 2) * sizeof (void *) + slotCount * codeSnippetSize]; -+ *slots = mapBlockToVtable(block); -+ (*slots)[-2] = 0; -+ (*slots)[-1] = 0; -+ return block; -+} -+ -+unsigned char * bridges::cpp_uno::shared::VtableFactory::addLocalFunctions( -+ void ** slots, unsigned char * code, -+ typelib_InterfaceTypeDescription const * type, sal_Int32 functionOffset, -+ sal_Int32 functionCount, sal_Int32 vtableOffset) -+{ -+ for (sal_Int32 i = 0; i < type->nMembers; ++i) { -+ typelib_TypeDescription * member = 0; -+ TYPELIB_DANGER_GET(&member, type->ppMembers[i]); -+ OSL_ASSERT(member != 0); -+ switch (member->eTypeClass) { -+ case typelib_TypeClass_INTERFACE_ATTRIBUTE: -+ // Getter: -+ *slots++ = code; -+ code = codeSnippet( -+ code, functionOffset++, vtableOffset, -+ bridges::cpp_uno::shared::isSimpleType( -+ reinterpret_cast< -+ typelib_InterfaceAttributeTypeDescription * >( -+ member)->pAttributeTypeRef)); -+ // Setter: -+ if (!reinterpret_cast< -+ typelib_InterfaceAttributeTypeDescription * >( -+ member)->bReadOnly) - { -- bool simple_ret = cppu_isSimpleType( -- ((typelib_InterfaceMethodTypeDescription *)pTD)->pReturnTypeRef->eTypeClass ); - *slots++ = code; -- codeSnippet( code, vtable_pos++, simple_ret ); -- code += 20; -+ code = codeSnippet(code, functionOffset++, vtableOffset, true); - } -- TYPELIB_DANGER_RELEASE( pTD ); -+ break; -+ -+ case typelib_TypeClass_INTERFACE_METHOD: -+ *slots++ = code; -+ code = codeSnippet( -+ code, functionOffset++, vtableOffset, -+ bridges::cpp_uno::shared::isSimpleType( -+ reinterpret_cast< -+ typelib_InterfaceMethodTypeDescription * >( -+ member)->pReturnTypeRef)); -+ break; -+ -+ default: -+ OSL_ASSERT(false); -+ break; - } -- OSL_ASSERT( vtable_pos == nSlots ); -- } -- else -- { -- buffer = iFind->second; -- } -+ TYPELIB_DANGER_RELEASE(member); - } -- -- return ((void **)buffer +2); --} -- --//================================================================================================== --void SAL_CALL cppu_cppInterfaceProxy_patchVtable( -- XInterface * pCppI, typelib_InterfaceTypeDescription * pTypeDescr ) throw () --{ -- static MediateClassData * s_pMediateClassData = 0; -- if (! s_pMediateClassData) -- { -- MutexGuard aGuard( Mutex::getGlobalMutex() ); -- if (! s_pMediateClassData) -- { --#ifdef LEAK_STATIC_DATA -- s_pMediateClassData = new MediateClassData(); --#else -- static MediateClassData s_aMediateClassData; -- s_pMediateClassData = &s_aMediateClassData; --#endif -- } -- } -- *(void const **)pCppI = s_pMediateClassData->get_vtable( pTypeDescr ); --} -- -+ return code; - } - --extern "C" --{ --//################################################################################################## --sal_Bool SAL_CALL component_canUnload( TimeValue * pTime ) -- SAL_THROW_EXTERN_C() --{ -- return CPPU_CURRENT_NAMESPACE::g_moduleCount.canUnload( -- &CPPU_CURRENT_NAMESPACE::g_moduleCount, pTime ); --} --//################################################################################################## --void SAL_CALL uno_initEnvironment( uno_Environment * pCppEnv ) -- SAL_THROW_EXTERN_C() --{ -- CPPU_CURRENT_NAMESPACE::cppu_cppenv_initEnvironment( -- pCppEnv ); --} --//################################################################################################## --void SAL_CALL uno_ext_getMapping( -- uno_Mapping ** ppMapping, uno_Environment * pFrom, uno_Environment * pTo ) -- SAL_THROW_EXTERN_C() --{ -- CPPU_CURRENT_NAMESPACE::cppu_ext_getMapping( -- ppMapping, pFrom, pTo ); --} --} -+void bridges::cpp_uno::shared::VtableFactory::flushCode( -+ unsigned char const *, unsigned char const *) -+{} -Index: bridges/source/cpp_uno/gcc3_freebsd_intel/except.cxx -=================================================================== -RCS file: /cvs/udk/bridges/source/cpp_uno/gcc3_freebsd_intel/except.cxx,v -retrieving revision 1.4 -diff -u -r1.4 except.cxx ---- bridges/source/cpp_uno/gcc3_freebsd_intel/except.cxx 28 Apr 2003 16:41:25 -0000 1.4 -+++ bridges/source/cpp_uno/gcc3_freebsd_intel/except.cxx 27 Dec 2004 06:05:52 -0000 -@@ -2,9 +2,9 @@ - * - * $RCSfile: except.cxx,v $ - * -- * $Revision: 1.4 $ -+ * $Revision: 1.10 $ - * -- * last change: $Author: hr $ $Date: 2003/04/28 16:41:25 $ -+ * last change: $Author: obo $ $Date: 2004/06/04 02:59:59 $ - * - * The Contents of this file are made available subject to the terms of - * either of the following licenses -@@ -69,7 +69,8 @@ - #include <osl/diagnose.h> - #include <osl/mutex.hxx> - --#include <bridges/cpp_uno/bridge.hxx> -+#include <com/sun/star/uno/genfunc.hxx> -+#include "com/sun/star/uno/RuntimeException.hpp" - #include <typelib/typedescription.hxx> - #include <uno/any2.h> - -@@ -147,7 +148,7 @@ - }; - //__________________________________________________________________________________________________ - RTTI::RTTI() SAL_THROW( () ) -- : m_hApp( dlopen( 0, RTLD_LAZY ) ) -+ : m_hApp( dlopen( 0, RTLD_NOW | RTLD_GLOBAL ) ) - { - } - //__________________________________________________________________________________________________ -@@ -182,7 +183,8 @@ - buf.append( 'E' ); - - OString symName( buf.makeStringAndClear() ); -- rtti = (type_info *)dlsym( m_hApp, symName.getStr() ); -+//#iZ 22253 -+ rtti = (type_info *)dlsym( RTLD_DEFAULT, symName.getStr() ); - - if (rtti) - { -@@ -253,7 +255,7 @@ - //================================================================================================== - void raiseException( uno_Any * pUnoExc, uno_Mapping * pUno2Cpp ) - { --#if defined DEBUG -+#if OSL_DEBUG_LEVEL > 1 - OString cstr( - OUStringToOString( - *reinterpret_cast< OUString const * >( &pUnoExc->pType->pTypeName ), -@@ -275,7 +277,7 @@ - *reinterpret_cast< OUString const * >( &pUnoExc->pType->pTypeName ), - Reference< XInterface >() ); - } -- -+ - pCppExc = __cxa_allocate_exception( pTypeDescr->nSize ); - ::uno_copyAndConvertData( pCppExc, pUnoExc->pData, pTypeDescr, pUno2Cpp ); - -@@ -321,16 +323,16 @@ - Reference< XInterface >() ); - Type const & rType = ::getCppuType( &aRE ); - uno_type_any_constructAndConvert( pUnoExc, &aRE, rType.getTypeLibType(), pCpp2Uno ); --#if defined _DEBUG -+#if OSL_DEBUG_LEVEL > 0 - OString cstr( OUStringToOString( aRE.Message, RTL_TEXTENCODING_ASCII_US ) ); - OSL_ENSURE( 0, cstr.getStr() ); - #endif - return; - } -- -+ - typelib_TypeDescription * pExcTypeDescr = 0; - OUString unoName( toUNOname( header->exceptionType->name() ) ); --#if defined DEBUG -+#if OSL_DEBUG_LEVEL > 1 - OString cstr_unoName( OUStringToOString( unoName, RTL_TEXTENCODING_ASCII_US ) ); - fprintf( stderr, "> c++ exception occured: %s\n", cstr_unoName.getStr() ); - #endif -@@ -342,7 +344,7 @@ - Reference< XInterface >() ); - Type const & rType = ::getCppuType( &aRE ); - uno_type_any_constructAndConvert( pUnoExc, &aRE, rType.getTypeLibType(), pCpp2Uno ); --#if defined _DEBUG -+#if OSL_DEBUG_LEVEL > 0 - OString cstr( OUStringToOString( aRE.Message, RTL_TEXTENCODING_ASCII_US ) ); - OSL_ENSURE( 0, cstr.getStr() ); - #endif -Index: bridges/source/cpp_uno/gcc3_freebsd_intel/makefile.mk -=================================================================== -RCS file: /cvs/udk/bridges/source/cpp_uno/gcc3_freebsd_intel/makefile.mk,v -retrieving revision 1.2 -diff -u -r1.2 makefile.mk ---- bridges/source/cpp_uno/gcc3_freebsd_intel/makefile.mk 18 Mar 2003 19:06:52 -0000 1.2 -+++ bridges/source/cpp_uno/gcc3_freebsd_intel/makefile.mk 27 Dec 2004 06:05:52 -0000 -@@ -2,9 +2,9 @@ - # - # $RCSfile: makefile.mk,v $ - # --# $Revision: 1.2 $ -+# $Revision: 1.3 $ - # --# last change: $Author: hr $ $Date: 2003/03/18 19:06:52 $ -+# last change: $Author: hr $ $Date: 2004/02/03 12:37:41 $ - # - # The Contents of this file are made available subject to the terms of - # either of the following licenses -@@ -95,10 +95,8 @@ - SHL1IMPLIB=i$(TARGET) - SHL1VERSIONMAP=..$/..$/bridge_exports.map - --SHL1OBJS= \ -- $(SLO)$/except.obj \ -- $(SLO)$/cpp2uno.obj \ -- $(SLO)$/uno2cpp.obj -+SHL1OBJS = $(SLOFILES) -+SHL1LIBS = $(SLB)$/cpp_uno_shared.lib - - SHL1STDLIBS= \ - $(CPPULIB) \ -Index: bridges/source/cpp_uno/gcc3_freebsd_intel/share.hxx -=================================================================== -RCS file: /cvs/udk/bridges/source/cpp_uno/gcc3_freebsd_intel/share.hxx,v -retrieving revision 1.2 -diff -u -r1.2 share.hxx ---- bridges/source/cpp_uno/gcc3_freebsd_intel/share.hxx 18 Mar 2003 19:06:53 -0000 1.2 -+++ bridges/source/cpp_uno/gcc3_freebsd_intel/share.hxx 27 Dec 2004 06:05:52 -0000 -@@ -4,7 +4,7 @@ - * - * $Revision: 1.2 $ - * -- * last change: $Author: hr $ $Date: 2003/03/18 19:06:53 $ -+ * last change: $Author: hr $ $Date: 2004/02/03 12:38:19 $ - * - * The Contents of this file are made available subject to the terms of - * either of the following licenses -@@ -59,6 +59,8 @@ - * - ************************************************************************/ - -+#include "uno/mapping.h" -+ - #include <typeinfo> - #include <exception> - #include <cstddef> -@@ -66,6 +68,8 @@ - namespace CPPU_CURRENT_NAMESPACE - { - -+void dummy_can_throw_anything( char const * ); -+ - // ----- following decl from libstdc++-v3/libsupc++/unwind-cxx.h and unwind.h - - struct _Unwind_Exception -Index: bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx -=================================================================== -RCS file: /cvs/udk/bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx,v -retrieving revision 1.5 -diff -u -r1.5 uno2cpp.cxx ---- bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx 3 Nov 2004 09:03:15 -0000 1.5 -+++ bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx 27 Dec 2004 06:05:52 -0000 -@@ -2,9 +2,9 @@ - * - * $RCSfile: uno2cpp.cxx,v $ - * -- * $Revision: 1.5 $ -+ * $Revision: 1.7 $ - * -- * last change: $Author: pjunck $ $Date: 2004/11/03 09:03:15 $ -+ * last change: $Author: sb $ $Date: 2004/09/27 09:08:35 $ - * - * The Contents of this file are made available subject to the terms of - * either of the following licenses -@@ -59,24 +59,25 @@ - * - ************************************************************************/ - --#include <sal/alloca.h> --#include <rtl/alloc.h> -+#include <stdlib.h> - -+#include <com/sun/star/uno/genfunc.hxx> -+#include "com/sun/star/uno/RuntimeException.hpp" - #include <uno/data.h> --#include <bridges/cpp_uno/bridge.hxx> --#include <bridges/cpp_uno/type_misc.hxx> - --#include "share.hxx" -+#include "bridges/cpp_uno/shared/bridge.hxx" -+#include "bridges/cpp_uno/shared/types.hxx" -+#include "bridges/cpp_uno/shared/unointerfaceproxy.hxx" -+#include "bridges/cpp_uno/shared/vtables.hxx" - -+#include "share.hxx" - - using namespace ::rtl; - using namespace ::com::sun::star::uno; - --namespace CPPU_CURRENT_NAMESPACE -+namespace - { - --void dummy_can_throw_anything( char const * ); -- - //================================================================================================== - // The call instruction within the asm section of callVirtualMethod may throw - // exceptions. So that the compiler handles this correctly, it is important -@@ -85,7 +86,7 @@ - // callVirtualMethod is not inlined at its call site (so that any exceptions are - // caught which are thrown from the instruction calling callVirtualMethod): - void callVirtualMethod( -- void * pThis, -+ void * pAdjustedThisPtr, - sal_Int32 nVtableIndex, - void * pRegisterReturn, - typelib_TypeClass eReturnType, -@@ -93,7 +94,7 @@ - sal_Int32 nStackLongs ) __attribute__((noinline)); - - void callVirtualMethod( -- void * pThis, -+ void * pAdjustedThisPtr, - sal_Int32 nVtableIndex, - void * pRegisterReturn, - typelib_TypeClass eReturnType, -@@ -103,13 +104,13 @@ - // parameter list is mixed list of * and values - // reference parameters are pointers - -- OSL_ENSURE( pStackLongs && pThis, "### null ptr!" ); -+ OSL_ENSURE( pStackLongs && pAdjustedThisPtr, "### null ptr!" ); - OSL_ENSURE( (sizeof(void *) == 4) && (sizeof(sal_Int32) == 4), "### unexpected size of int!" ); - OSL_ENSURE( nStackLongs && pStackLongs, "### no stack in callVirtualMethod !" ); - - // never called -- if (! pThis) dummy_can_throw_anything("xxx"); // address something -- -+ if (! pAdjustedThisPtr) CPPU_CURRENT_NAMESPACE::dummy_can_throw_anything("xxx"); // address something -+ - volatile long edx = 0, eax = 0; // for register returns - void * stackptr; - asm volatile ( -@@ -139,8 +140,8 @@ - // cleanup stack - "mov %6, %%esp\n\t" - : -- : "m"(nStackLongs), "m"(pStackLongs), "m"(pThis), "m"(nVtableIndex), -- "m"(eax), "m"(edx), "m"(stackptr) -+ : "m"(nStackLongs), "m"(pStackLongs), "m"(pAdjustedThisPtr), -+ "m"(nVtableIndex), "m"(eax), "m"(edx), "m"(stackptr) - : "eax", "edx" ); - switch( eReturnType ) - { -@@ -172,8 +173,8 @@ - - //================================================================================================== - static void cpp_call( -- cppu_unoInterfaceProxy * pThis, -- sal_Int32 nVtableCall, -+ bridges::cpp_uno::shared::UnoInterfaceProxy * pThis, -+ bridges::cpp_uno::shared::VtableSlot aVtableSlot, - typelib_TypeDescriptionReference * pReturnTypeRef, - sal_Int32 nParams, typelib_MethodParameter * pParams, - void * pUnoReturn, void * pUnoArgs[], uno_Any ** ppUnoExc ) -@@ -192,21 +193,25 @@ - - if (pReturnTypeDescr) - { -- if (cppu_isSimpleType( pReturnTypeDescr )) -+ if (bridges::cpp_uno::shared::isSimpleType( pReturnTypeDescr )) - { - pCppReturn = pUnoReturn; // direct way for simple types - } - else - { - // complex return via ptr -- pCppReturn = *(void **)pCppStack = (cppu_relatesToInterface( pReturnTypeDescr ) -- ? alloca( pReturnTypeDescr->nSize ) -- : pUnoReturn); // direct way -+ pCppReturn = *(void **)pCppStack -+ = (bridges::cpp_uno::shared::relatesToInterfaceType( -+ pReturnTypeDescr ) -+ ? alloca( pReturnTypeDescr->nSize ) -+ : pUnoReturn); // direct way - pCppStack += sizeof(void *); - } - } - // push this -- *(void**)pCppStack = pThis->pCppI; -+ void * pAdjustedThisPtr = reinterpret_cast< void ** >(pThis->getCppI()) -+ + aVtableSlot.offset; -+ *(void**)pCppStack = pAdjustedThisPtr; - pCppStack += sizeof( void* ); - - // stack space -@@ -226,10 +231,11 @@ - typelib_TypeDescription * pParamTypeDescr = 0; - TYPELIB_DANGER_GET( &pParamTypeDescr, rParam.pTypeRef ); - -- if (!rParam.bOut && cppu_isSimpleType( pParamTypeDescr )) -+ if (!rParam.bOut -+ && bridges::cpp_uno::shared::isSimpleType( pParamTypeDescr )) - { - uno_copyAndConvertData( pCppArgs[nPos] = pCppStack, pUnoArgs[nPos], pParamTypeDescr, -- &pThis->pBridge->aUno2Cpp ); -+ pThis->getBridge()->getUno2Cpp() ); - - switch (pParamTypeDescr->eTypeClass) - { -@@ -254,11 +260,13 @@ - ppTempParamTypeDescr[nTempIndizes++] = pParamTypeDescr; - } - // is in/inout -- else if (cppu_relatesToInterface( pParamTypeDescr )) -+ else if (bridges::cpp_uno::shared::relatesToInterfaceType( -+ pParamTypeDescr )) - { - uno_copyAndConvertData( - *(void **)pCppStack = pCppArgs[nPos] = alloca( pParamTypeDescr->nSize ), -- pUnoArgs[nPos], pParamTypeDescr, &pThis->pBridge->aUno2Cpp ); -+ pUnoArgs[nPos], pParamTypeDescr, -+ pThis->getBridge()->getUno2Cpp() ); - - pTempIndizes[nTempIndizes] = nPos; // has to be reconverted - // will be released at reconversion -@@ -278,7 +286,7 @@ - { - OSL_ENSURE( !( (pCppStack - pCppStackStart ) & 3), "UNALIGNED STACK !!! (Please DO panic)" ); - callVirtualMethod( -- pThis->pCppI, nVtableCall, -+ pAdjustedThisPtr, aVtableSlot.index, - pCppReturn, pReturnTypeDescr->eTypeClass, - (sal_Int32 *)pCppStackStart, (pCppStack - pCppStackStart) / sizeof(sal_Int32) ); - // NO exception occured... -@@ -296,13 +304,13 @@ - { - uno_destructData( pUnoArgs[nIndex], pParamTypeDescr, 0 ); // destroy uno value - uno_copyAndConvertData( pUnoArgs[nIndex], pCppArgs[nIndex], pParamTypeDescr, -- &pThis->pBridge->aCpp2Uno ); -+ pThis->getBridge()->getCpp2Uno() ); - } - } - else // pure out - { - uno_copyAndConvertData( pUnoArgs[nIndex], pCppArgs[nIndex], pParamTypeDescr, -- &pThis->pBridge->aCpp2Uno ); -+ pThis->getBridge()->getCpp2Uno() ); - } - // destroy temp cpp param => cpp: every param was constructed - uno_destructData( pCppArgs[nIndex], pParamTypeDescr, cpp_release ); -@@ -313,14 +321,14 @@ - if (pCppReturn && pUnoReturn != pCppReturn) - { - uno_copyAndConvertData( pUnoReturn, pCppReturn, pReturnTypeDescr, -- &pThis->pBridge->aCpp2Uno ); -+ pThis->getBridge()->getCpp2Uno() ); - uno_destructData( pCppReturn, pReturnTypeDescr, cpp_release ); - } - } - catch (...) - { - // fill uno exception -- fillUnoException( __cxa_get_globals()->caughtExceptions, *ppUnoExc, &pThis->pBridge->aCpp2Uno ); -+ fillUnoException( CPPU_CURRENT_NAMESPACE::__cxa_get_globals()->caughtExceptions, *ppUnoExc, pThis->getBridge()->getCpp2Uno() ); - - // temporary params - for ( ; nTempIndizes--; ) -@@ -336,32 +344,32 @@ - } - } - -+} - - //================================================================================================== --void SAL_CALL cppu_unoInterfaceProxy_dispatch( -+void bridges::cpp_uno::shared::UnoInterfaceProxy::dispatch( - uno_Interface * pUnoI, const typelib_TypeDescription * pMemberDescr, -- void * pReturn, void * pArgs[], uno_Any ** ppException ) throw () -+ void * pReturn, void * pArgs[], uno_Any ** ppException ) SAL_THROW(()) - { - // is my surrogate -- cppu_unoInterfaceProxy * pThis = (cppu_unoInterfaceProxy *)pUnoI; -+ bridges::cpp_uno::shared::UnoInterfaceProxy * pThis -+ = static_cast< bridges::cpp_uno::shared::UnoInterfaceProxy * >(pUnoI); - typelib_InterfaceTypeDescription * pTypeDescr = pThis->pTypeDescr; - - switch (pMemberDescr->eTypeClass) - { - case typelib_TypeClass_INTERFACE_ATTRIBUTE: - { -- // determine vtable call index -- sal_Int32 nMemberPos = ((typelib_InterfaceMemberTypeDescription *)pMemberDescr)->nPosition; -- OSL_ENSURE( nMemberPos < pTypeDescr->nAllMembers, "### member pos out of range!" ); -- -- sal_Int32 nVtableCall = pTypeDescr->pMapMemberIndexToFunctionIndex[nMemberPos]; -- OSL_ENSURE( nVtableCall < pTypeDescr->nMapFunctionIndexToMemberIndex, "### illegal vtable index!" ); -- -+ VtableSlot aVtableSlot( -+ getVtableSlot( -+ reinterpret_cast< -+ typelib_InterfaceAttributeTypeDescription const * >( -+ pMemberDescr))); - if (pReturn) - { - // dependent dispatch - cpp_call( -- pThis, nVtableCall, -+ pThis, aVtableSlot, - ((typelib_InterfaceAttributeTypeDescription *)pMemberDescr)->pAttributeTypeRef, - 0, 0, // no params - pReturn, pArgs, ppException ); -@@ -381,8 +389,9 @@ - &pReturnTypeRef, typelib_TypeClass_VOID, aVoidName.pData ); - - // dependent dispatch -+ aVtableSlot.index += 1; // get, then set method - cpp_call( -- pThis, nVtableCall +1, // get, then set method -+ pThis, aVtableSlot, - pReturnTypeRef, - 1, &aParam, - pReturn, pArgs, ppException ); -@@ -394,14 +403,12 @@ - } - case typelib_TypeClass_INTERFACE_METHOD: - { -- // determine vtable call index -- sal_Int32 nMemberPos = ((typelib_InterfaceMemberTypeDescription *)pMemberDescr)->nPosition; -- OSL_ENSURE( nMemberPos < pTypeDescr->nAllMembers, "### member pos out of range!" ); -- -- sal_Int32 nVtableCall = pTypeDescr->pMapMemberIndexToFunctionIndex[nMemberPos]; -- OSL_ENSURE( nVtableCall < pTypeDescr->nMapFunctionIndexToMemberIndex, "### illegal vtable index!" ); -- -- switch (nVtableCall) -+ VtableSlot aVtableSlot( -+ getVtableSlot( -+ reinterpret_cast< -+ typelib_InterfaceMethodTypeDescription const * >( -+ pMemberDescr))); -+ switch (aVtableSlot.index) - { - // standard calls - case 1: // acquire uno interface -@@ -419,8 +426,8 @@ - if (pTD) - { - uno_Interface * pInterface = 0; -- (*pThis->pBridge->pUnoEnv->getRegisteredInterface)( -- pThis->pBridge->pUnoEnv, -+ (*pThis->pBridge->getUnoEnv()->getRegisteredInterface)( -+ pThis->pBridge->getUnoEnv(), - (void **)&pInterface, pThis->oid.pData, (typelib_InterfaceTypeDescription *)pTD ); - - if (pInterface) -@@ -439,7 +446,7 @@ - default: - // dependent dispatch - cpp_call( -- pThis, nVtableCall, -+ pThis, aVtableSlot, - ((typelib_InterfaceMethodTypeDescription *)pMemberDescr)->pReturnTypeRef, - ((typelib_InterfaceMethodTypeDescription *)pMemberDescr)->nParams, - ((typelib_InterfaceMethodTypeDescription *)pMemberDescr)->pParams, -@@ -459,6 +466,3 @@ - } - } - } -- --} -- diff --git a/editors/openoffice.org-2-devel/files/patch-project-extentions b/editors/openoffice.org-2-devel/files/patch-project-extentions deleted file mode 100644 index a8b9d7ee9416..000000000000 --- a/editors/openoffice.org-2-devel/files/patch-project-extentions +++ /dev/null @@ -1,65 +0,0 @@ -#iZ and CWS -o http://www.openoffice.org/issues/show_bug.cgi?id=40179 -o http://eis.services.openoffice.org/EIS2/servlet/cws.ShowCWS?Id=2030&Path=SRC680%2Fpj16 -o pj16 - -Description - -o source/config/ldap/makefile.mk needs -lcompat since re_comp is defined here. -o FreeBSD doesn't have -ldl -o INC+= -DNP_LINUX is also requried for FreeBSD - -Index: source/config/ldap/makefile.mk -=================================================================== -RCS file: /cvs/util/extensions/source/config/ldap/makefile.mk,v -retrieving revision 1.4 -diff -u -r1.4 makefile.mk ---- extensions/source/config/ldap/makefile.mk 15 Nov 2004 14:14:22 -0000 1.4 -+++ extensions/source/config/ldap/makefile.mk 8 Jan 2005 02:48:29 -0000 -@@ -116,6 +116,9 @@ - $(CPPULIB) \ - $(SALHELPERLIB) \ - $(SALLIB) -+.IF "$(OS)"=="FREEBSD" -+SHL1STDLIBS+=-lcompat -+.ENDIF - - DEF1NAME=$(SHL1TARGET) - DEF1EXPORTFILE=exports.dxp -Index: source/nsplugin/source/makefile.mk -=================================================================== -RCS file: /cvs/util/extensions/source/nsplugin/source/makefile.mk,v -retrieving revision 1.8 -diff -u -r1.8 makefile.mk ---- extensions/source/nsplugin/source/makefile.mk 3 Jan 2005 09:04:51 -0000 1.8 -+++ extensions/source/nsplugin/source/makefile.mk 8 Jan 2005 02:48:30 -0000 -@@ -78,7 +78,7 @@ - @echo GTK disabled - nothing to build - - .ELSE # "$(ENABLE_GTK)"=="" --.IF "$(OS)"=="LINUX" -+.IF "$(OS)"=="LINUX" || "$(OS)"=="FREEBSD" - INC+= -DNP_LINUX - .ENDIF - PKGCONFIG_MODULES=gtk+-2.0 -@@ -99,8 +99,10 @@ - .IF "$(GUI)"=="UNX" - SHL1OBJS+=$(SLO)$/npunix.obj - SLOFILES+=$(SLO)$/npunix.obj -+.IF "$(OS)"!="FREEBSD" - SHL1STDLIBS+= -ldl -lnsl --.ENDIF -+.ENDIF #FREEBSD -+.ENDIF #UNX - .IF "$(GUI)"=="WNT" - SHL1OBJS+=$(SLO)$/npwin.obj - SLOFILES+=$(SLO)$/npwin.obj -@@ -131,7 +133,7 @@ - - .IF "$(GUI)"=="UNX" - APP1STDLIBS+=$(PKGCONFIG_LIBS:s/-lpangoxft-1.0//) --.IF "$(OS)"=="LINUX" -+.IF "$(OS)"=="LINUX" || "$(OS)"=="FREEBSD" - .ELSE - APP1STDLIBS+= -ldl -lnsl -lnls -lsocket - .ENDIF diff --git a/editors/openoffice.org-2-devel/files/patch-solenv+inc+unxfbsdi.mk b/editors/openoffice.org-2-devel/files/patch-solenv+inc+unxfbsdi.mk deleted file mode 100644 index f3f55df061d4..000000000000 --- a/editors/openoffice.org-2-devel/files/patch-solenv+inc+unxfbsdi.mk +++ /dev/null @@ -1,262 +0,0 @@ -#iZ and CWS -o http://www.openoffice.org/issues/show_bug.cgi?id=40182 - -Description -o catch up recent unxlngi6.mk -o -Wl,-z,defs -> comment out - -Index: solenv/inc/unxfbsdi.mk -=================================================================== -RCS file: /cvs/tools/solenv/inc/unxfbsdi.mk,v -retrieving revision 1.11 -diff -u -r1.11 unxfbsdi.mk ---- solenv/inc/unxfbsdi.mk 20 Sep 2004 08:37:13 -0000 1.11 -+++ solenv/inc/unxfbsdi.mk 10 Jan 2005 07:44:44 -0000 -@@ -60,16 +60,26 @@ - # - #************************************************************************* - --# mak file for unxfbsdi --ASM=$(CC) --AFLAGS=-x assembler-with-cpp -c $(CDEFS) -+# mk file for unxfbsdi -+ASM= -+AFLAGS= -+ -+SOLAR_JAVA*=TRUE -+JAVAFLAGSDEBUG=-g - - # filter for supressing verbose messages from linker - #not needed at the moment - #LINKOUTPUT_FILTER=" |& $(SOLARENV)$/bin$/msg_filter" - -+# _PTHREADS is needed for the stl -+CDEFS+=$(PTHREAD_CFLAGS) -DX86 -D_PTHREADS -D_REENTRANT -DNEW_SOLAR -D_USE_NAMESPACE=1 -DSTLPORT_VERSION=400 -+ -+# enable visibility define in "sal/types.h" -+.IF "$(HAVE_GCC_VISIBILITY_FEATURE)" == "TRUE" -+CDEFS += -DHAVE_GCC_VISIBILITY_FEATURE -+.ENDIF # "$(HAVE_GCC_VISIBILITY_FEATURE)" == "TRUE" -+ - # this is a platform with JAVA support --SOLAR_JAVA*=TRUE - .IF "$(SOLAR_JAVA)"!="" - JAVADEF=-DSOLAR_JAVA - .IF "$(debug)"=="" -@@ -83,90 +93,82 @@ - CXX*=g++ - # name of C Compiler - CC*=gcc -+.IF "$(SYSBASE)"!="" -+CFLAGS_SYSBASE:=-isystem $(SYSBASE)$/usr$/include -+CXX+:=$(CFLAGS_SYSBASE) -+CC+:=$(CFLAGS_SYSBASE) -+.ENDIF # "$(SYSBASE)"!="" -+CFLAGS+=-Wreturn-type -fmessage-length=0 -c $(INCLUDE) -+.IF "$(PRODUCT)"!="" -+CFLAGS+=-Wuninitialized -+.ENDIF - --# filter for supressing verbose messages from linker --# not needed at the moment --LINKOUTPUT_FILTER=" |& $(SOLARENV)$/bin$/msg_filter" -+# flags to enable build with symbols; required for crashdump feature -+.IF "$(ENABLE_SYMBOLS)"=="SMALL" -+CFLAGSENABLESYMBOLS=-g1 -+.ELSE -+CFLAGSENABLESYMBOLS=-g # was temporarily commented out, reenabled before Beta - --# options for C and C++ Compiler --CDEFS+= -D_USE_NAMESPACE=1 -DX86 -DNEW_SOLAR -DSTLPORT_VERSION=450 -DOSVERSION=$(OSVERSION) --CDEFS+= $(PTHREAD_CFLAGS) -D_REENTRANT -- --# flags for C and C++ Compile --CFLAGS+= -w -c $(INCLUDE) --CFLAGS+= -I/usr/X11R6/include -+.ENDIF - - # flags for the C++ Compiler --CFLAGSCC= -pipe -fno-rtti --CFLAGSCXX= -pipe -fno-rtti --CFLAGSCXX+= -Wno-ctor-dtor-privacy -- -+CFLAGSCC= -pipe -mtune=pentiumpro - # Flags for enabling exception handling --CFLAGSEXCEPTIONS= -fexceptions --CFLAGS_NO_EXCEPTIONS= -fno-exceptions -- --# Compiler flags for compiling static object in single threaded --# environment with graphical user interface --CFLAGSOBJGUIST= -fPIC -- --# Compiler flags for compiling static object in single threaded --# environment with character user interface --CFLAGSOBJCUIST= -fPIC -- --# Compiler flags for compiling static object in multi threaded --# environment with graphical user interface --CFLAGSOBJGUIMT= -fPIC -- --# Compiler flags for compiling static object in multi threaded --# environment with character user interface --CFLAGSOBJCUIMT= -fPIC -- --# Compiler flags for compiling shared object in multi threaded --# environment with graphical user interface --CFLAGSSLOGUIMT= -fPIC -- --# Compiler flags for compiling shared object in multi threaded --# environment with character user interface --CFLAGSSLOCUIMT= -fPIC -+CFLAGSEXCEPTIONS=-fexceptions -fno-enforce-eh-specs -+# Flags for disabling exception handling -+CFLAGS_NO_EXCEPTIONS=-fno-exceptions - --# Compiler flags for profilin --CFLAGSPROF= -pg -+# -fpermissive should be removed as soon as possible -+CFLAGSCXX= -pipe -mtune=pentiumpro -+CFLAGSCXX+= -Wno-ctor-dtor-privacy - -+# Compiler flags for compiling static object in single threaded environment with graphical user interface -+CFLAGSOBJGUIST= -+# Compiler flags for compiling static object in single threaded environment with character user interface -+CFLAGSOBJCUIST= -+# Compiler flags for compiling static object in multi threaded environment with graphical user interface -+CFLAGSOBJGUIMT= -+# Compiler flags for compiling static object in multi threaded environment with character user interface -+CFLAGSOBJCUIMT= -+# Compiler flags for compiling shared object in multi threaded environment with graphical user interface -+CFLAGSSLOGUIMT=-fPIC -+# Compiler flags for compiling shared object in multi threaded environment with character user interface -+CFLAGSSLOCUIMT=-fPIC -+# Compiler flags for profiling -+CFLAGSPROF= - # Compiler flags for debugging --CFLAGSDEBUG= -g -+CFLAGSDEBUG=-g - CFLAGSDBGUTIL= -- --# Compiler flags to enable optimizations --# -02 is broken for FreeBSD --CFLAGSOPT= -O -- --# Compiler flags to disable optimizations --# -0 is broken for STLport for FreeBSD --CFLAGSNOOPT= -O0 -- --# Compiler flags for the output path --CFLAGSOUTOBJ= -o -- -+# Compiler flags for enabling optimazations -+.IF "$(PRODUCT)"!="" -+CFLAGSOPT=-Os -fno-strict-aliasing # optimizing for products -+.ELSE # "$(PRODUCT)"!="" -+CFLAGSOPT= # no optimizing for non products -+.ENDIF # "$(PRODUCT)"!="" -+# Compiler flags for disabling optimazations -+CFLAGSNOOPT=-O0 -+# Compiler flags for discibing the output path -+CFLAGSOUTOBJ=-o - # Enable all warnings - CFLAGSWALL=-Wall -- - # Set default warn level --CFLAGSDFLTWARN=-w -+CFLAGSDFLTWARN= - - # switches for dynamic and static linking --STATIC= -Wl,-Bstatic --DYNAMIC= -Wl,-Bdynamic -+STATIC = -Wl,-Bstatic -+DYNAMIC = -Wl,-Bdynamic - - # name of linker --LINK=$(CC) -+LINK*=$(CXX) - - # default linker flags --# LINKFLAGSRUNPATH*=-Wl,-rpath\''$$ORIGIN'\' --LINKFLAGS=$(LINKFLAGSRUNPATH) -+LINKFLAGSDEFS*=#-Wl,-z,defs -+LINKFLAGSRUNPATH*=-Wl,-rpath,\''$$ORIGIN'\' -+LINKFLAGS=-z combreloc $(LINKFLAGSDEFS) $(LINKFLAGSRUNPATH) - - # linker flags for linking applications --LINKFLAGSAPPGUI= -Wl,--noinhibit-exec --LINKFLAGSAPPCUI= -Wl,--noinhibit-exec -+LINKFLAGSAPPGUI= -Wl,-export-dynamic -Wl,--noinhibit-exec -+LINKFLAGSAPPCUI= -Wl,-export-dynamic -Wl,--noinhibit-exec - - # linker flags for linking shared libraries - LINKFLAGSSHLGUI= -shared -@@ -177,23 +179,19 @@ - LINKFLAGSDEBUG=-g - LINKFLAGSOPT= - --.IF "$(NO_BSYMBOLIC)"=="" --.IF "$(PRJNAME)" != "envtest" --LINKFLAGSSHLGUI+= -Wl,-Bsymbolic --LINKFLAGSSHLCUI+= -Wl,-Bsymbolic --.ENDIF --.ENDIF -+# linker flags for optimization (symbol hashtable) -+# for now, applied to symbol scoped libraries, only -+LINKFLAGSOPTIMIZE*=-Wl,-O1 -+LINKVERSIONMAPFLAG=$(LINKFLAGSOPTIMIZE) -Wl,--version-script - --LINKVERSIONMAPFLAG=-Wl,--version-script -+SONAME_SWITCH=-Wl,-h - - # Sequence of libs does matter ! --STDLIBCPP=-lstdc++ - --# _SYSLIBS= -L/usr/lib -lm --# _X11LIBS= -L/usr/X11R6/lib -lXext -lX11 --# _CXXLIBS= -L/usr/lib -lstdc++ -L/usr/local/lib -+STDLIBCPP=-lstdc++ - - # default objectfilenames to link -+STDOBJVCL=$(L)$/salmain.o - STDOBJGUI= - STDSLOGUI= - STDOBJCUI= -@@ -201,24 +199,25 @@ - - # libraries for linking applications - STDLIBCUIST=-lm --STDLIBGUIST=-lXaw -lXt -lX11 -lm --STDLIBGUIMT=-lXaw -lXt -lX11 $(PTHREAD_LIBS) -lm -+STDLIBGUIMT=-lX11 $(PTHREAD_LIBS) -lm - STDLIBCUIMT=$(PTHREAD_LIBS) -lm -- -+STDLIBGUIST=-lX11 -lm - # libraries for linking shared libraries --STDSHLGUIMT=-lXaw -lXt -lX11 -lXext $(PTHREAD_LIBS) -lm -+STDSHLGUIMT=-lX11 -lXext $(PTHREAD_LIBS) -lm - STDSHLCUIMT=$(PTHREAD_LIBS) -lm -+STDSHLGUIST=-lX11 -lXext -lm -+STDSHLCUIST=-lm - - LIBSALCPPRT*=-Wl,--whole-archive -lsalcpprt -Wl,--no-whole-archive - --# STLport always needs pthread. --LIBSTLPORT=$(DYNAMIC) -lstlport_gcc $(STDLIBCPP) $(PTHREAD_LIBS) --LIBSTLPORTST=$(STATIC) -lstlport_gcc $(DYNAMIC) $(PTHREAD_LIBS) -+LIBSTLPORT=$(DYNAMIC) -lstlport_gcc -+LIBSTLPORTST=$(STATIC) -lstlport_gcc $(DYNAMIC) -+ -+#FILLUPARC=$(STATIC) -lsupc++ $(DYNAMIC) - - # name of library manager - LIBMGR=ar - LIBFLAGS=-r --LIBEXT= .a - - # tool for generating import libraries - IMPLIB= -@@ -237,3 +236,4 @@ - DLLPOSTFIX=fi - DLLPRE=lib - DLLPOST=.so -+ diff --git a/editors/openoffice.org-2-devel/files/patch-transex3+source+xmlparse.cxx b/editors/openoffice.org-2-devel/files/patch-transex3+source+xmlparse.cxx deleted file mode 100644 index de1864d5e9cb..000000000000 --- a/editors/openoffice.org-2-devel/files/patch-transex3+source+xmlparse.cxx +++ /dev/null @@ -1,24 +0,0 @@ -#iZ and CWS -o http://www.openoffice.org/issues/show_bug.cgi?id=40184 -o http://eis.services.openoffice.org/EIS2/servlet/cws.ShowCWS?Id=2030&Path=SRC680%2Fpj16 -o pj16 - -Description -FreeBSD doesn't have alloca.h - -Index: source/xmlparse.cxx -=================================================================== -RCS file: /cvs/l10n/transex3/source/xmlparse.cxx,v -retrieving revision 1.5 -diff -u -r1.5 xmlparse.cxx ---- transex3/source/xmlparse.cxx 18 Nov 2004 08:17:50 -0000 1.5 -+++ transex3/source/xmlparse.cxx 8 Jan 2005 02:56:14 -0000 -@@ -67,7 +67,7 @@ - #ifdef WIN32 - #include <malloc.h> - #else --#ifndef MACOSX -+#if !(defined(MACOSX) || defined(FREEBSD)) - #include <alloca.h> - #endif - #endif diff --git a/editors/openoffice.org-2.0-devel/Makefile b/editors/openoffice.org-2.0-devel/Makefile index c563bd2c2beb..e6be311f3b31 100644 --- a/editors/openoffice.org-2.0-devel/Makefile +++ b/editors/openoffice.org-2.0-devel/Makefile @@ -19,7 +19,7 @@ EXTRACT_ONLY= OOo_${RELEASE_NR}m${MILESTONE}_source.tar.bz2 MAINTAINER= openoffice@FreeBSD.org COMMENT?= Integrated wordprocessor/dbase/spreadheet/drawing/chart/browser(developer version) -SNAPDATE= 20050119 +SNAPDATE= 20050123 NO_LATEST_LINK= yes USE_GNOME= gtk20 MOZILLA_PROJECT= cws_srx645_mozooo.20041016.tar.gz @@ -49,7 +49,7 @@ BROKEN= "rtld depends on _end symbol. type make -DBROKEN to see how to upgrade CODELINE= 680 RELEASE_NR= 1.9 -MILESTONE= 72 +MILESTONE= 73 INSTALLATION_BASEDIR= openoffice.org${RELEASE_NR}m${MILESTONE} EXECBASE= openoffice.org-${RELEASE_NR}m${MILESTONE} DIST_SUBDIR= openoffice.org2.0 diff --git a/editors/openoffice.org-2.0-devel/distinfo b/editors/openoffice.org-2.0-devel/distinfo index 8b7774bf8f23..c9e7f5358b88 100644 --- a/editors/openoffice.org-2.0-devel/distinfo +++ b/editors/openoffice.org-2.0-devel/distinfo @@ -1,5 +1,5 @@ -MD5 (openoffice.org2.0/OOo_1.9m72_source.tar.bz2) = c51fa9d749f1e5eb3733d50b91f97fe8 -SIZE (openoffice.org2.0/OOo_1.9m72_source.tar.bz2) = 233690890 +MD5 (openoffice.org2.0/OOo_1.9m73_source.tar.bz2) = 0885bb45bd204b03b16f8276cbd922e0 +SIZE (openoffice.org2.0/OOo_1.9m73_source.tar.bz2) = 233756500 MD5 (openoffice.org2.0/gpc231.tar.Z) = fdb06fdb5a4670b172f9fb738b717be9 SIZE (openoffice.org2.0/gpc231.tar.Z) = 27917 MD5 (openoffice.org2.0/cws_srx645_mozooo.20041016.tar.gz) = eda0ab73b24c45890ae08bdfe04049bd diff --git a/editors/openoffice.org-2.0-devel/files/Makefile.knobs b/editors/openoffice.org-2.0-devel/files/Makefile.knobs index 5b9c07e3afce..0afc3acadf7e 100644 --- a/editors/openoffice.org-2.0-devel/files/Makefile.knobs +++ b/editors/openoffice.org-2.0-devel/files/Makefile.knobs @@ -19,7 +19,7 @@ CONFIGURE_ARGS+= --enable-cups .if defined(ALL_LOCALIZED_LANGS) CONFIGURE_ARGS+= --with-lang="en-US ar ca cs da de el es et fi fr he hi-IN hu it ja ko pl pt pt-BR ru sk sl sv th tr zh-CN zh-TW" -#following langs still seem to be under development +#following langs still seem to be under development #af bg cy eo eu gl kn-IN lt nb nl nn ns tn zu #CONFIGURE_ARGS+= --with-lang=ALL .else diff --git a/editors/openoffice.org-2.0-devel/files/patch-config_office+set_soenv.in b/editors/openoffice.org-2.0-devel/files/patch-config_office+set_soenv.in deleted file mode 100644 index 9b2a97774dc1..000000000000 --- a/editors/openoffice.org-2.0-devel/files/patch-config_office+set_soenv.in +++ /dev/null @@ -1,25 +0,0 @@ -#iZ and CWS -o http://www.openoffice.org/issues/show_bug.cgi?id=37731 -o http://eis.services.openoffice.org/EIS2/servlet/cws.ShowCWS?Id=2030&Path=SRC680%2Fpj16 -o pj16 - -Description -Do not export LINK to environment - -Index: config_office/set_soenv.in -=================================================================== -RCS file: /cvs/tools/config_office/set_soenv.in,v -retrieving revision 1.31 -diff -u -r1.31 set_soenv.in ---- config_office/set_soenv.in 5 Jan 2005 12:10:00 -0000 1.31 -+++ config_office/set_soenv.in 9 Jan 2005 18:51:24 -0000 -@@ -1684,9 +1684,6 @@ - ToFile( "CC", $CC, "e" ); - ToFile( "CXX", $CXX, "e" ); - ToFile( "USE_SYSTEM_STL", "@USE_SYSTEM_STL@", "e" ); --if ( $COM ne "MSC" ) { -- ToFile( "LINK", $CC, "e" ); --} - ToFile( "ENABLE_SYMBOLS", "@ENABLE_SYMBOLS@", "e" ); - ToFile( "ENABLE_CRASHDUMP", "@ENABLE_CRASHDUMP@", "e" ); - ToFile( "ENABLE_CUPS", "@ENABLE_CUPS@", "e" ); diff --git a/editors/openoffice.org-2.0-devel/files/patch-project-bridges b/editors/openoffice.org-2.0-devel/files/patch-project-bridges deleted file mode 100644 index 890cab171898..000000000000 --- a/editors/openoffice.org-2.0-devel/files/patch-project-bridges +++ /dev/null @@ -1,1004 +0,0 @@ -#iZ and CWS -o http://www.openoffice.org/issues/show_bug.cgi?id=40178 - -Description -catch up recent version of -bridges/source/cpp_uno/gcc3_linux_intel/cpp2uno.cxx -Only difference is: -- rtti = (type_info *)dlsym( m_hApp, symName.getStr() ); -+ rtti = (type_info *)dlsym( RTLD_DEFAULT, symName.getStr() ); -#iZ 22253 for reason why we changed m_hApp to RTLD_DEFAULT - -Index: bridges/source/cpp_uno/gcc3_freebsd_intel/cpp2uno.cxx -=================================================================== -RCS file: /cvs/udk/bridges/source/cpp_uno/gcc3_freebsd_intel/cpp2uno.cxx,v -retrieving revision 1.3 -diff -u -r1.3 cpp2uno.cxx ---- bridges/source/cpp_uno/gcc3_freebsd_intel/cpp2uno.cxx 28 Apr 2003 16:28:20 -0000 1.3 -+++ bridges/source/cpp_uno/gcc3_freebsd_intel/cpp2uno.cxx 27 Dec 2004 06:05:52 -0000 -@@ -2,9 +2,9 @@ - * - * $RCSfile: cpp2uno.cxx,v $ - * -- * $Revision: 1.3 $ -+ * $Revision: 1.6 $ - * -- * last change: $Author: hr $ $Date: 2003/04/28 16:28:20 $ -+ * last change: $Author: obo $ $Date: 2004/06/04 02:59:45 $ - * - * The Contents of this file are made available subject to the terms of - * either of the following licenses -@@ -59,34 +59,26 @@ - * - ************************************************************************/ - --#include <hash_map> -- --#include <sal/alloca.h> --#include <rtl/alloc.h> --#include <osl/mutex.hxx> -- -+#include <com/sun/star/uno/genfunc.hxx> -+#include "com/sun/star/uno/RuntimeException.hpp" - #include <uno/data.h> - #include <typelib/typedescription.hxx> - --#include <bridges/cpp_uno/bridge.hxx> --#include <bridges/cpp_uno/type_misc.hxx> -+#include "bridges/cpp_uno/shared/bridge.hxx" -+#include "bridges/cpp_uno/shared/cppinterfaceproxy.hxx" -+#include "bridges/cpp_uno/shared/types.hxx" -+#include "bridges/cpp_uno/shared/vtablefactory.hxx" - - #include "share.hxx" - -- --using namespace ::osl; --using namespace ::rtl; - using namespace ::com::sun::star::uno; - --namespace CPPU_CURRENT_NAMESPACE -+namespace - { - - //================================================================================================== --rtl_StandardModuleCount g_moduleCount = MODULE_COUNT_INIT; -- --//================================================================================================== - static typelib_TypeClass cpp2uno_call( -- cppu_cppInterfaceProxy * pThis, -+ bridges::cpp_uno::shared::CppInterfaceProxy * pThis, - const typelib_TypeDescription * pMemberTypeDescr, - typelib_TypeDescriptionReference * pReturnTypeRef, // 0 indicates void return - sal_Int32 nParams, typelib_MethodParameter * pParams, -@@ -106,7 +98,7 @@ - - if (pReturnTypeDescr) - { -- if (cppu_isSimpleType( pReturnTypeDescr )) -+ if (bridges::cpp_uno::shared::isSimpleType( pReturnTypeDescr )) - { - pUnoReturn = pRegisterReturn; // direct way for simple types - } -@@ -115,7 +107,8 @@ - pCppReturn = *(void **)pCppStack; - pCppStack += sizeof(void *); - -- pUnoReturn = (cppu_relatesToInterface( pReturnTypeDescr ) -+ pUnoReturn = (bridges::cpp_uno::shared::relatesToInterfaceType( -+ pReturnTypeDescr ) - ? alloca( pReturnTypeDescr->nSize ) - : pCppReturn); // direct way - } -@@ -141,7 +134,9 @@ - typelib_TypeDescription * pParamTypeDescr = 0; - TYPELIB_DANGER_GET( &pParamTypeDescr, rParam.pTypeRef ); - -- if (!rParam.bOut && cppu_isSimpleType( pParamTypeDescr )) // value -+ if (!rParam.bOut -+ && bridges::cpp_uno::shared::isSimpleType( pParamTypeDescr )) -+ // value - { - pCppArgs[nPos] = pCppStack; - pUnoArgs[nPos] = pCppStack; -@@ -168,11 +163,12 @@ - ppTempParamTypeDescr[nTempIndizes++] = pParamTypeDescr; - } - // is in/inout -- else if (cppu_relatesToInterface( pParamTypeDescr )) -+ else if (bridges::cpp_uno::shared::relatesToInterfaceType( -+ pParamTypeDescr )) - { - uno_copyAndConvertData( pUnoArgs[nPos] = alloca( pParamTypeDescr->nSize ), - *(void **)pCppStack, pParamTypeDescr, -- &pThis->pBridge->aCpp2Uno ); -+ pThis->getBridge()->getCpp2Uno() ); - pTempIndizes[nTempIndizes] = nPos; // has to be reconverted - // will be released at reconversion - ppTempParamTypeDescr[nTempIndizes++] = pParamTypeDescr; -@@ -192,7 +188,8 @@ - uno_Any * pUnoExc = &aUnoExc; - - // invoke uno dispatch call -- (*pThis->pUnoI->pDispatcher)( pThis->pUnoI, pMemberTypeDescr, pUnoReturn, pUnoArgs, &pUnoExc ); -+ (*pThis->getUnoI()->pDispatcher)( -+ pThis->getUnoI(), pMemberTypeDescr, pUnoReturn, pUnoArgs, &pUnoExc ); - - // in case an exception occured... - if (pUnoExc) -@@ -209,7 +206,9 @@ - if (pReturnTypeDescr) - TYPELIB_DANGER_RELEASE( pReturnTypeDescr ); - -- raiseException( &aUnoExc, &pThis->pBridge->aUno2Cpp ); // has to destruct the any -+ CPPU_CURRENT_NAMESPACE::raiseException( -+ &aUnoExc, pThis->getBridge()->getUno2Cpp() ); -+ // has to destruct the any - // is here for dummy - return typelib_TypeClass_VOID; - } -@@ -226,7 +225,7 @@ - // convert and assign - uno_destructData( pCppArgs[nIndex], pParamTypeDescr, cpp_release ); - uno_copyAndConvertData( pCppArgs[nIndex], pUnoArgs[nIndex], pParamTypeDescr, -- &pThis->pBridge->aUno2Cpp ); -+ pThis->getBridge()->getUno2Cpp() ); - } - // destroy temp uno param - uno_destructData( pUnoArgs[nIndex], pParamTypeDescr, 0 ); -@@ -239,7 +238,7 @@ - if (pUnoReturn != pCppReturn) // needs reconversion - { - uno_copyAndConvertData( pCppReturn, pUnoReturn, pReturnTypeDescr, -- &pThis->pBridge->aUno2Cpp ); -+ pThis->getBridge()->getUno2Cpp() ); - // destroy temp uno return - uno_destructData( pUnoReturn, pReturnTypeDescr, 0 ); - } -@@ -260,38 +259,41 @@ - - //================================================================================================== - static typelib_TypeClass cpp_mediate( -- sal_Int32 nVtableCall, -+ sal_Int32 nFunctionIndex, -+ sal_Int32 nVtableOffset, - void ** pCallStack, - sal_Int64 * pRegisterReturn /* space for register return */ ) - { - OSL_ENSURE( sizeof(sal_Int32)==sizeof(void *), "### unexpected!" ); - - // pCallStack: ret adr, [ret *], this, params -- // _this_ ptr is patched cppu_XInterfaceProxy object -- cppu_cppInterfaceProxy * pCppI = NULL; -- if( nVtableCall & 0x80000000 ) -+ void * pThis; -+ if( nFunctionIndex & 0x80000000 ) - { -- nVtableCall &= 0x7fffffff; -- pCppI = (cppu_cppInterfaceProxy *)(XInterface *)*(pCallStack +2); -+ nFunctionIndex &= 0x7fffffff; -+ pThis = pCallStack[2]; - } - else - { -- pCppI = (cppu_cppInterfaceProxy *)(XInterface *)*(pCallStack +1); -+ pThis = pCallStack[1]; - } -+ pThis = static_cast< char * >(pThis) - nVtableOffset; -+ bridges::cpp_uno::shared::CppInterfaceProxy * pCppI -+ = bridges::cpp_uno::shared::CppInterfaceProxy::castInterfaceToProxy( -+ pThis); - -- typelib_InterfaceTypeDescription * pTypeDescr = pCppI->pTypeDescr; -+ typelib_InterfaceTypeDescription * pTypeDescr = pCppI->getTypeDescr(); - -- OSL_ENSURE( nVtableCall < pTypeDescr->nMapFunctionIndexToMemberIndex, "### illegal vtable index!" ); -- if (nVtableCall >= pTypeDescr->nMapFunctionIndexToMemberIndex) -+ OSL_ENSURE( nFunctionIndex < pTypeDescr->nMapFunctionIndexToMemberIndex, "### illegal vtable index!" ); -+ if (nFunctionIndex >= pTypeDescr->nMapFunctionIndexToMemberIndex) - { - throw RuntimeException( -- OUString::createFromAscii("illegal vtable index!"), -- (XInterface *)pCppI ); -+ rtl::OUString::createFromAscii("illegal vtable index!"), -+ (XInterface *)pThis ); - } - - // determine called method -- OSL_ENSURE( nVtableCall < pTypeDescr->nMapFunctionIndexToMemberIndex, "### illegal vtable index!" ); -- sal_Int32 nMemberPos = pTypeDescr->pMapFunctionIndexToMemberIndex[nVtableCall]; -+ sal_Int32 nMemberPos = pTypeDescr->pMapFunctionIndexToMemberIndex[nFunctionIndex]; - OSL_ENSURE( nMemberPos < pTypeDescr->nAllMembers, "### illegal member index!" ); - - TypeDescription aMemberDescr( pTypeDescr->ppAllMembers[nMemberPos] ); -@@ -301,7 +303,7 @@ - { - case typelib_TypeClass_INTERFACE_ATTRIBUTE: - { -- if (pTypeDescr->pMapMemberIndexToFunctionIndex[nMemberPos] == nVtableCall) -+ if (pTypeDescr->pMapMemberIndexToFunctionIndex[nMemberPos] == nFunctionIndex) - { - // is GET method - eRet = cpp2uno_call( -@@ -330,7 +332,7 @@ - case typelib_TypeClass_INTERFACE_METHOD: - { - // is METHOD -- switch (nVtableCall) -+ switch (nFunctionIndex) - { - case 1: // acquire() - pCppI->acquireProxy(); // non virtual call! -@@ -347,9 +349,10 @@ - if (pTD) - { - XInterface * pInterface = 0; -- (*pCppI->pBridge->pCppEnv->getRegisteredInterface)( -- pCppI->pBridge->pCppEnv, -- (void **)&pInterface, pCppI->oid.pData, (typelib_InterfaceTypeDescription *)pTD ); -+ (*pCppI->getBridge()->getCppEnv()->getRegisteredInterface)( -+ pCppI->getBridge()->getCppEnv(), -+ (void **)&pInterface, pCppI->getOid().pData, -+ (typelib_InterfaceTypeDescription *)pTD ); - - if (pInterface) - { -@@ -378,8 +381,8 @@ - default: - { - throw RuntimeException( -- OUString::createFromAscii("no member description found!"), -- (XInterface *)pCppI ); -+ rtl::OUString::createFromAscii("no member description found!"), -+ (XInterface *)pThis ); - // is here for dummy - eRet = typelib_TypeClass_VOID; - } -@@ -393,12 +396,15 @@ - * is called on incoming vtable calls - * (called by asm snippets) - */ --static void cpp_vtable_call( int nTableEntry, void** pCallStack ) __attribute__((regparm(2))); -+static void cpp_vtable_call( -+ int nFunctionIndex, int nVtableOffset, void** pCallStack ) -+ __attribute__((regparm(3))); - --void cpp_vtable_call( int nTableEntry, void** pCallStack ) -+void cpp_vtable_call( int nFunctionIndex, int nVtableOffset, void** pCallStack ) - { - volatile long nRegReturn[2]; -- typelib_TypeClass aType = cpp_mediate( nTableEntry, pCallStack, (sal_Int64*)nRegReturn ); -+ typelib_TypeClass aType = cpp_mediate( -+ nFunctionIndex, nVtableOffset, pCallStack, (sal_Int64*)nRegReturn ); - - switch( aType ) - { -@@ -434,161 +440,103 @@ - - - //================================================================================================== --class MediateClassData --{ -- typedef ::std::hash_map< OUString, void *, OUStringHash > t_classdata_map; -- t_classdata_map m_map; -- Mutex m_mutex; -- --public: -- void const * get_vtable( typelib_InterfaceTypeDescription * pTD ) SAL_THROW( () ); -- -- inline MediateClassData() SAL_THROW( () ) -- {} -- ~MediateClassData() SAL_THROW( () ); --}; --//__________________________________________________________________________________________________ --MediateClassData::~MediateClassData() SAL_THROW( () ) -+int const codeSnippetSize = 20; -+ -+unsigned char * codeSnippet( -+ unsigned char * code, sal_Int32 functionIndex, sal_Int32 vtableOffset, -+ bool simpleRetType) - { -- OSL_TRACE( "> calling ~MediateClassData(): freeing mediate vtables." ); -- -- for ( t_classdata_map::const_iterator iPos( m_map.begin() ); iPos != m_map.end(); ++iPos ) -- { -- ::rtl_freeMemory( iPos->second ); -- } -+ if (!simpleRetType) { -+ functionIndex |= 0x80000000; -+ } -+ unsigned char * p = code; -+ OSL_ASSERT(sizeof (sal_Int32) == 4); -+ // mov function_index, %eax: -+ *p++ = 0xB8; -+ *reinterpret_cast< sal_Int32 * >(p) = functionIndex; -+ p += sizeof (sal_Int32); -+ // mov vtable_offset, %edx: -+ *p++ = 0xBA; -+ *reinterpret_cast< sal_Int32 * >(p) = vtableOffset; -+ p += sizeof (sal_Int32); -+ // mov %esp, %ecx: -+ *p++ = 0x89; -+ *p++ = 0xE1; -+ // jmp cpp_vtable_call: -+ *p++ = 0xE9; -+ *reinterpret_cast< sal_Int32 * >(p) -+ = ((unsigned char *) cpp_vtable_call) - p - sizeof (sal_Int32); -+ p += sizeof (sal_Int32); -+ OSL_ASSERT(p - code <= codeSnippetSize); -+ return code + codeSnippetSize; - } --//-------------------------------------------------------------------------------------------------- --static inline void codeSnippet( char * code, sal_uInt32 vtable_pos, bool simple_ret_type ) SAL_THROW( () ) --{ -- if (! simple_ret_type) -- vtable_pos |= 0x80000000; -- OSL_ASSERT( sizeof (long) == 4 ); -- // mov $nPos, %eax -- *code++ = 0xb8; -- *(long *)code = vtable_pos; -- code += sizeof (long); -- // mov %esp, %edx -- *code++ = 0x89; -- *code++ = 0xe2; -- // jmp cpp_vtable_call -- *code++ = 0xe9; -- *(long *)code = ((char *)cpp_vtable_call) - code - sizeof (long); -+ - } --//__________________________________________________________________________________________________ --void const * MediateClassData::get_vtable( typelib_InterfaceTypeDescription * pTD ) SAL_THROW( () ) --{ -- void * buffer; -- -- // avoiding locked counts -- OUString const & unoName = *(OUString const *)&((typelib_TypeDescription *)pTD)->pTypeName; -- { -- MutexGuard aGuard( m_mutex ); -- t_classdata_map::const_iterator iFind( m_map.find( unoName ) ); -- if (iFind == m_map.end()) -- { -- // create new vtable -- sal_Int32 nSlots = pTD->nMapFunctionIndexToMemberIndex; -- buffer = ::rtl_allocateMemory( ((2+ nSlots) * sizeof (void *)) + (nSlots *20) ); -- -- ::std::pair< t_classdata_map::iterator, bool > insertion( -- m_map.insert( t_classdata_map::value_type( unoName, buffer ) ) ); -- OSL_ENSURE( insertion.second, "### inserting new vtable buffer failed?!" ); -- -- void ** slots = (void **)buffer; -- *slots++ = 0; -- *slots++ = 0; // rtti -- char * code = (char *)(slots + nSlots); -- -- sal_uInt32 vtable_pos = 0; -- sal_Int32 nAllMembers = pTD->nAllMembers; -- typelib_TypeDescriptionReference ** ppAllMembers = pTD->ppAllMembers; -- for ( sal_Int32 nPos = 0; nPos < nAllMembers; ++nPos ) -- { -- typelib_TypeDescription * pTD = 0; -- TYPELIB_DANGER_GET( &pTD, ppAllMembers[ nPos ] ); -- OSL_ASSERT( pTD ); -- if (typelib_TypeClass_INTERFACE_ATTRIBUTE == pTD->eTypeClass) -- { -- bool simple_ret = cppu_isSimpleType( -- ((typelib_InterfaceAttributeTypeDescription *)pTD)->pAttributeTypeRef->eTypeClass ); -- // get method -- *slots++ = code; -- codeSnippet( code, vtable_pos++, simple_ret ); -- code += 20; -- if (! ((typelib_InterfaceAttributeTypeDescription *)pTD)->bReadOnly) -- { -- // set method -- *slots++ = code; -- codeSnippet( code, vtable_pos++, true ); -- code += 20; -- } -- } -- else -+ -+void ** bridges::cpp_uno::shared::VtableFactory::mapBlockToVtable(char * block) -+{ -+ return reinterpret_cast< void ** >(block) + 2; -+} -+ -+char * bridges::cpp_uno::shared::VtableFactory::createBlock( -+ sal_Int32 slotCount, void *** slots) -+{ -+ char * block = new char[ -+ (slotCount + 2) * sizeof (void *) + slotCount * codeSnippetSize]; -+ *slots = mapBlockToVtable(block); -+ (*slots)[-2] = 0; -+ (*slots)[-1] = 0; -+ return block; -+} -+ -+unsigned char * bridges::cpp_uno::shared::VtableFactory::addLocalFunctions( -+ void ** slots, unsigned char * code, -+ typelib_InterfaceTypeDescription const * type, sal_Int32 functionOffset, -+ sal_Int32 functionCount, sal_Int32 vtableOffset) -+{ -+ for (sal_Int32 i = 0; i < type->nMembers; ++i) { -+ typelib_TypeDescription * member = 0; -+ TYPELIB_DANGER_GET(&member, type->ppMembers[i]); -+ OSL_ASSERT(member != 0); -+ switch (member->eTypeClass) { -+ case typelib_TypeClass_INTERFACE_ATTRIBUTE: -+ // Getter: -+ *slots++ = code; -+ code = codeSnippet( -+ code, functionOffset++, vtableOffset, -+ bridges::cpp_uno::shared::isSimpleType( -+ reinterpret_cast< -+ typelib_InterfaceAttributeTypeDescription * >( -+ member)->pAttributeTypeRef)); -+ // Setter: -+ if (!reinterpret_cast< -+ typelib_InterfaceAttributeTypeDescription * >( -+ member)->bReadOnly) - { -- bool simple_ret = cppu_isSimpleType( -- ((typelib_InterfaceMethodTypeDescription *)pTD)->pReturnTypeRef->eTypeClass ); - *slots++ = code; -- codeSnippet( code, vtable_pos++, simple_ret ); -- code += 20; -+ code = codeSnippet(code, functionOffset++, vtableOffset, true); - } -- TYPELIB_DANGER_RELEASE( pTD ); -+ break; -+ -+ case typelib_TypeClass_INTERFACE_METHOD: -+ *slots++ = code; -+ code = codeSnippet( -+ code, functionOffset++, vtableOffset, -+ bridges::cpp_uno::shared::isSimpleType( -+ reinterpret_cast< -+ typelib_InterfaceMethodTypeDescription * >( -+ member)->pReturnTypeRef)); -+ break; -+ -+ default: -+ OSL_ASSERT(false); -+ break; - } -- OSL_ASSERT( vtable_pos == nSlots ); -- } -- else -- { -- buffer = iFind->second; -- } -+ TYPELIB_DANGER_RELEASE(member); - } -- -- return ((void **)buffer +2); --} -- --//================================================================================================== --void SAL_CALL cppu_cppInterfaceProxy_patchVtable( -- XInterface * pCppI, typelib_InterfaceTypeDescription * pTypeDescr ) throw () --{ -- static MediateClassData * s_pMediateClassData = 0; -- if (! s_pMediateClassData) -- { -- MutexGuard aGuard( Mutex::getGlobalMutex() ); -- if (! s_pMediateClassData) -- { --#ifdef LEAK_STATIC_DATA -- s_pMediateClassData = new MediateClassData(); --#else -- static MediateClassData s_aMediateClassData; -- s_pMediateClassData = &s_aMediateClassData; --#endif -- } -- } -- *(void const **)pCppI = s_pMediateClassData->get_vtable( pTypeDescr ); --} -- -+ return code; - } - --extern "C" --{ --//################################################################################################## --sal_Bool SAL_CALL component_canUnload( TimeValue * pTime ) -- SAL_THROW_EXTERN_C() --{ -- return CPPU_CURRENT_NAMESPACE::g_moduleCount.canUnload( -- &CPPU_CURRENT_NAMESPACE::g_moduleCount, pTime ); --} --//################################################################################################## --void SAL_CALL uno_initEnvironment( uno_Environment * pCppEnv ) -- SAL_THROW_EXTERN_C() --{ -- CPPU_CURRENT_NAMESPACE::cppu_cppenv_initEnvironment( -- pCppEnv ); --} --//################################################################################################## --void SAL_CALL uno_ext_getMapping( -- uno_Mapping ** ppMapping, uno_Environment * pFrom, uno_Environment * pTo ) -- SAL_THROW_EXTERN_C() --{ -- CPPU_CURRENT_NAMESPACE::cppu_ext_getMapping( -- ppMapping, pFrom, pTo ); --} --} -+void bridges::cpp_uno::shared::VtableFactory::flushCode( -+ unsigned char const *, unsigned char const *) -+{} -Index: bridges/source/cpp_uno/gcc3_freebsd_intel/except.cxx -=================================================================== -RCS file: /cvs/udk/bridges/source/cpp_uno/gcc3_freebsd_intel/except.cxx,v -retrieving revision 1.4 -diff -u -r1.4 except.cxx ---- bridges/source/cpp_uno/gcc3_freebsd_intel/except.cxx 28 Apr 2003 16:41:25 -0000 1.4 -+++ bridges/source/cpp_uno/gcc3_freebsd_intel/except.cxx 27 Dec 2004 06:05:52 -0000 -@@ -2,9 +2,9 @@ - * - * $RCSfile: except.cxx,v $ - * -- * $Revision: 1.4 $ -+ * $Revision: 1.10 $ - * -- * last change: $Author: hr $ $Date: 2003/04/28 16:41:25 $ -+ * last change: $Author: obo $ $Date: 2004/06/04 02:59:59 $ - * - * The Contents of this file are made available subject to the terms of - * either of the following licenses -@@ -69,7 +69,8 @@ - #include <osl/diagnose.h> - #include <osl/mutex.hxx> - --#include <bridges/cpp_uno/bridge.hxx> -+#include <com/sun/star/uno/genfunc.hxx> -+#include "com/sun/star/uno/RuntimeException.hpp" - #include <typelib/typedescription.hxx> - #include <uno/any2.h> - -@@ -147,7 +148,7 @@ - }; - //__________________________________________________________________________________________________ - RTTI::RTTI() SAL_THROW( () ) -- : m_hApp( dlopen( 0, RTLD_LAZY ) ) -+ : m_hApp( dlopen( 0, RTLD_NOW | RTLD_GLOBAL ) ) - { - } - //__________________________________________________________________________________________________ -@@ -182,7 +183,8 @@ - buf.append( 'E' ); - - OString symName( buf.makeStringAndClear() ); -- rtti = (type_info *)dlsym( m_hApp, symName.getStr() ); -+//#iZ 22253 -+ rtti = (type_info *)dlsym( RTLD_DEFAULT, symName.getStr() ); - - if (rtti) - { -@@ -253,7 +255,7 @@ - //================================================================================================== - void raiseException( uno_Any * pUnoExc, uno_Mapping * pUno2Cpp ) - { --#if defined DEBUG -+#if OSL_DEBUG_LEVEL > 1 - OString cstr( - OUStringToOString( - *reinterpret_cast< OUString const * >( &pUnoExc->pType->pTypeName ), -@@ -275,7 +277,7 @@ - *reinterpret_cast< OUString const * >( &pUnoExc->pType->pTypeName ), - Reference< XInterface >() ); - } -- -+ - pCppExc = __cxa_allocate_exception( pTypeDescr->nSize ); - ::uno_copyAndConvertData( pCppExc, pUnoExc->pData, pTypeDescr, pUno2Cpp ); - -@@ -321,16 +323,16 @@ - Reference< XInterface >() ); - Type const & rType = ::getCppuType( &aRE ); - uno_type_any_constructAndConvert( pUnoExc, &aRE, rType.getTypeLibType(), pCpp2Uno ); --#if defined _DEBUG -+#if OSL_DEBUG_LEVEL > 0 - OString cstr( OUStringToOString( aRE.Message, RTL_TEXTENCODING_ASCII_US ) ); - OSL_ENSURE( 0, cstr.getStr() ); - #endif - return; - } -- -+ - typelib_TypeDescription * pExcTypeDescr = 0; - OUString unoName( toUNOname( header->exceptionType->name() ) ); --#if defined DEBUG -+#if OSL_DEBUG_LEVEL > 1 - OString cstr_unoName( OUStringToOString( unoName, RTL_TEXTENCODING_ASCII_US ) ); - fprintf( stderr, "> c++ exception occured: %s\n", cstr_unoName.getStr() ); - #endif -@@ -342,7 +344,7 @@ - Reference< XInterface >() ); - Type const & rType = ::getCppuType( &aRE ); - uno_type_any_constructAndConvert( pUnoExc, &aRE, rType.getTypeLibType(), pCpp2Uno ); --#if defined _DEBUG -+#if OSL_DEBUG_LEVEL > 0 - OString cstr( OUStringToOString( aRE.Message, RTL_TEXTENCODING_ASCII_US ) ); - OSL_ENSURE( 0, cstr.getStr() ); - #endif -Index: bridges/source/cpp_uno/gcc3_freebsd_intel/makefile.mk -=================================================================== -RCS file: /cvs/udk/bridges/source/cpp_uno/gcc3_freebsd_intel/makefile.mk,v -retrieving revision 1.2 -diff -u -r1.2 makefile.mk ---- bridges/source/cpp_uno/gcc3_freebsd_intel/makefile.mk 18 Mar 2003 19:06:52 -0000 1.2 -+++ bridges/source/cpp_uno/gcc3_freebsd_intel/makefile.mk 27 Dec 2004 06:05:52 -0000 -@@ -2,9 +2,9 @@ - # - # $RCSfile: makefile.mk,v $ - # --# $Revision: 1.2 $ -+# $Revision: 1.3 $ - # --# last change: $Author: hr $ $Date: 2003/03/18 19:06:52 $ -+# last change: $Author: hr $ $Date: 2004/02/03 12:37:41 $ - # - # The Contents of this file are made available subject to the terms of - # either of the following licenses -@@ -95,10 +95,8 @@ - SHL1IMPLIB=i$(TARGET) - SHL1VERSIONMAP=..$/..$/bridge_exports.map - --SHL1OBJS= \ -- $(SLO)$/except.obj \ -- $(SLO)$/cpp2uno.obj \ -- $(SLO)$/uno2cpp.obj -+SHL1OBJS = $(SLOFILES) -+SHL1LIBS = $(SLB)$/cpp_uno_shared.lib - - SHL1STDLIBS= \ - $(CPPULIB) \ -Index: bridges/source/cpp_uno/gcc3_freebsd_intel/share.hxx -=================================================================== -RCS file: /cvs/udk/bridges/source/cpp_uno/gcc3_freebsd_intel/share.hxx,v -retrieving revision 1.2 -diff -u -r1.2 share.hxx ---- bridges/source/cpp_uno/gcc3_freebsd_intel/share.hxx 18 Mar 2003 19:06:53 -0000 1.2 -+++ bridges/source/cpp_uno/gcc3_freebsd_intel/share.hxx 27 Dec 2004 06:05:52 -0000 -@@ -4,7 +4,7 @@ - * - * $Revision: 1.2 $ - * -- * last change: $Author: hr $ $Date: 2003/03/18 19:06:53 $ -+ * last change: $Author: hr $ $Date: 2004/02/03 12:38:19 $ - * - * The Contents of this file are made available subject to the terms of - * either of the following licenses -@@ -59,6 +59,8 @@ - * - ************************************************************************/ - -+#include "uno/mapping.h" -+ - #include <typeinfo> - #include <exception> - #include <cstddef> -@@ -66,6 +68,8 @@ - namespace CPPU_CURRENT_NAMESPACE - { - -+void dummy_can_throw_anything( char const * ); -+ - // ----- following decl from libstdc++-v3/libsupc++/unwind-cxx.h and unwind.h - - struct _Unwind_Exception -Index: bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx -=================================================================== -RCS file: /cvs/udk/bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx,v -retrieving revision 1.5 -diff -u -r1.5 uno2cpp.cxx ---- bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx 3 Nov 2004 09:03:15 -0000 1.5 -+++ bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx 27 Dec 2004 06:05:52 -0000 -@@ -2,9 +2,9 @@ - * - * $RCSfile: uno2cpp.cxx,v $ - * -- * $Revision: 1.5 $ -+ * $Revision: 1.7 $ - * -- * last change: $Author: pjunck $ $Date: 2004/11/03 09:03:15 $ -+ * last change: $Author: sb $ $Date: 2004/09/27 09:08:35 $ - * - * The Contents of this file are made available subject to the terms of - * either of the following licenses -@@ -59,24 +59,25 @@ - * - ************************************************************************/ - --#include <sal/alloca.h> --#include <rtl/alloc.h> -+#include <stdlib.h> - -+#include <com/sun/star/uno/genfunc.hxx> -+#include "com/sun/star/uno/RuntimeException.hpp" - #include <uno/data.h> --#include <bridges/cpp_uno/bridge.hxx> --#include <bridges/cpp_uno/type_misc.hxx> - --#include "share.hxx" -+#include "bridges/cpp_uno/shared/bridge.hxx" -+#include "bridges/cpp_uno/shared/types.hxx" -+#include "bridges/cpp_uno/shared/unointerfaceproxy.hxx" -+#include "bridges/cpp_uno/shared/vtables.hxx" - -+#include "share.hxx" - - using namespace ::rtl; - using namespace ::com::sun::star::uno; - --namespace CPPU_CURRENT_NAMESPACE -+namespace - { - --void dummy_can_throw_anything( char const * ); -- - //================================================================================================== - // The call instruction within the asm section of callVirtualMethod may throw - // exceptions. So that the compiler handles this correctly, it is important -@@ -85,7 +86,7 @@ - // callVirtualMethod is not inlined at its call site (so that any exceptions are - // caught which are thrown from the instruction calling callVirtualMethod): - void callVirtualMethod( -- void * pThis, -+ void * pAdjustedThisPtr, - sal_Int32 nVtableIndex, - void * pRegisterReturn, - typelib_TypeClass eReturnType, -@@ -93,7 +94,7 @@ - sal_Int32 nStackLongs ) __attribute__((noinline)); - - void callVirtualMethod( -- void * pThis, -+ void * pAdjustedThisPtr, - sal_Int32 nVtableIndex, - void * pRegisterReturn, - typelib_TypeClass eReturnType, -@@ -103,13 +104,13 @@ - // parameter list is mixed list of * and values - // reference parameters are pointers - -- OSL_ENSURE( pStackLongs && pThis, "### null ptr!" ); -+ OSL_ENSURE( pStackLongs && pAdjustedThisPtr, "### null ptr!" ); - OSL_ENSURE( (sizeof(void *) == 4) && (sizeof(sal_Int32) == 4), "### unexpected size of int!" ); - OSL_ENSURE( nStackLongs && pStackLongs, "### no stack in callVirtualMethod !" ); - - // never called -- if (! pThis) dummy_can_throw_anything("xxx"); // address something -- -+ if (! pAdjustedThisPtr) CPPU_CURRENT_NAMESPACE::dummy_can_throw_anything("xxx"); // address something -+ - volatile long edx = 0, eax = 0; // for register returns - void * stackptr; - asm volatile ( -@@ -139,8 +140,8 @@ - // cleanup stack - "mov %6, %%esp\n\t" - : -- : "m"(nStackLongs), "m"(pStackLongs), "m"(pThis), "m"(nVtableIndex), -- "m"(eax), "m"(edx), "m"(stackptr) -+ : "m"(nStackLongs), "m"(pStackLongs), "m"(pAdjustedThisPtr), -+ "m"(nVtableIndex), "m"(eax), "m"(edx), "m"(stackptr) - : "eax", "edx" ); - switch( eReturnType ) - { -@@ -172,8 +173,8 @@ - - //================================================================================================== - static void cpp_call( -- cppu_unoInterfaceProxy * pThis, -- sal_Int32 nVtableCall, -+ bridges::cpp_uno::shared::UnoInterfaceProxy * pThis, -+ bridges::cpp_uno::shared::VtableSlot aVtableSlot, - typelib_TypeDescriptionReference * pReturnTypeRef, - sal_Int32 nParams, typelib_MethodParameter * pParams, - void * pUnoReturn, void * pUnoArgs[], uno_Any ** ppUnoExc ) -@@ -192,21 +193,25 @@ - - if (pReturnTypeDescr) - { -- if (cppu_isSimpleType( pReturnTypeDescr )) -+ if (bridges::cpp_uno::shared::isSimpleType( pReturnTypeDescr )) - { - pCppReturn = pUnoReturn; // direct way for simple types - } - else - { - // complex return via ptr -- pCppReturn = *(void **)pCppStack = (cppu_relatesToInterface( pReturnTypeDescr ) -- ? alloca( pReturnTypeDescr->nSize ) -- : pUnoReturn); // direct way -+ pCppReturn = *(void **)pCppStack -+ = (bridges::cpp_uno::shared::relatesToInterfaceType( -+ pReturnTypeDescr ) -+ ? alloca( pReturnTypeDescr->nSize ) -+ : pUnoReturn); // direct way - pCppStack += sizeof(void *); - } - } - // push this -- *(void**)pCppStack = pThis->pCppI; -+ void * pAdjustedThisPtr = reinterpret_cast< void ** >(pThis->getCppI()) -+ + aVtableSlot.offset; -+ *(void**)pCppStack = pAdjustedThisPtr; - pCppStack += sizeof( void* ); - - // stack space -@@ -226,10 +231,11 @@ - typelib_TypeDescription * pParamTypeDescr = 0; - TYPELIB_DANGER_GET( &pParamTypeDescr, rParam.pTypeRef ); - -- if (!rParam.bOut && cppu_isSimpleType( pParamTypeDescr )) -+ if (!rParam.bOut -+ && bridges::cpp_uno::shared::isSimpleType( pParamTypeDescr )) - { - uno_copyAndConvertData( pCppArgs[nPos] = pCppStack, pUnoArgs[nPos], pParamTypeDescr, -- &pThis->pBridge->aUno2Cpp ); -+ pThis->getBridge()->getUno2Cpp() ); - - switch (pParamTypeDescr->eTypeClass) - { -@@ -254,11 +260,13 @@ - ppTempParamTypeDescr[nTempIndizes++] = pParamTypeDescr; - } - // is in/inout -- else if (cppu_relatesToInterface( pParamTypeDescr )) -+ else if (bridges::cpp_uno::shared::relatesToInterfaceType( -+ pParamTypeDescr )) - { - uno_copyAndConvertData( - *(void **)pCppStack = pCppArgs[nPos] = alloca( pParamTypeDescr->nSize ), -- pUnoArgs[nPos], pParamTypeDescr, &pThis->pBridge->aUno2Cpp ); -+ pUnoArgs[nPos], pParamTypeDescr, -+ pThis->getBridge()->getUno2Cpp() ); - - pTempIndizes[nTempIndizes] = nPos; // has to be reconverted - // will be released at reconversion -@@ -278,7 +286,7 @@ - { - OSL_ENSURE( !( (pCppStack - pCppStackStart ) & 3), "UNALIGNED STACK !!! (Please DO panic)" ); - callVirtualMethod( -- pThis->pCppI, nVtableCall, -+ pAdjustedThisPtr, aVtableSlot.index, - pCppReturn, pReturnTypeDescr->eTypeClass, - (sal_Int32 *)pCppStackStart, (pCppStack - pCppStackStart) / sizeof(sal_Int32) ); - // NO exception occured... -@@ -296,13 +304,13 @@ - { - uno_destructData( pUnoArgs[nIndex], pParamTypeDescr, 0 ); // destroy uno value - uno_copyAndConvertData( pUnoArgs[nIndex], pCppArgs[nIndex], pParamTypeDescr, -- &pThis->pBridge->aCpp2Uno ); -+ pThis->getBridge()->getCpp2Uno() ); - } - } - else // pure out - { - uno_copyAndConvertData( pUnoArgs[nIndex], pCppArgs[nIndex], pParamTypeDescr, -- &pThis->pBridge->aCpp2Uno ); -+ pThis->getBridge()->getCpp2Uno() ); - } - // destroy temp cpp param => cpp: every param was constructed - uno_destructData( pCppArgs[nIndex], pParamTypeDescr, cpp_release ); -@@ -313,14 +321,14 @@ - if (pCppReturn && pUnoReturn != pCppReturn) - { - uno_copyAndConvertData( pUnoReturn, pCppReturn, pReturnTypeDescr, -- &pThis->pBridge->aCpp2Uno ); -+ pThis->getBridge()->getCpp2Uno() ); - uno_destructData( pCppReturn, pReturnTypeDescr, cpp_release ); - } - } - catch (...) - { - // fill uno exception -- fillUnoException( __cxa_get_globals()->caughtExceptions, *ppUnoExc, &pThis->pBridge->aCpp2Uno ); -+ fillUnoException( CPPU_CURRENT_NAMESPACE::__cxa_get_globals()->caughtExceptions, *ppUnoExc, pThis->getBridge()->getCpp2Uno() ); - - // temporary params - for ( ; nTempIndizes--; ) -@@ -336,32 +344,32 @@ - } - } - -+} - - //================================================================================================== --void SAL_CALL cppu_unoInterfaceProxy_dispatch( -+void bridges::cpp_uno::shared::UnoInterfaceProxy::dispatch( - uno_Interface * pUnoI, const typelib_TypeDescription * pMemberDescr, -- void * pReturn, void * pArgs[], uno_Any ** ppException ) throw () -+ void * pReturn, void * pArgs[], uno_Any ** ppException ) SAL_THROW(()) - { - // is my surrogate -- cppu_unoInterfaceProxy * pThis = (cppu_unoInterfaceProxy *)pUnoI; -+ bridges::cpp_uno::shared::UnoInterfaceProxy * pThis -+ = static_cast< bridges::cpp_uno::shared::UnoInterfaceProxy * >(pUnoI); - typelib_InterfaceTypeDescription * pTypeDescr = pThis->pTypeDescr; - - switch (pMemberDescr->eTypeClass) - { - case typelib_TypeClass_INTERFACE_ATTRIBUTE: - { -- // determine vtable call index -- sal_Int32 nMemberPos = ((typelib_InterfaceMemberTypeDescription *)pMemberDescr)->nPosition; -- OSL_ENSURE( nMemberPos < pTypeDescr->nAllMembers, "### member pos out of range!" ); -- -- sal_Int32 nVtableCall = pTypeDescr->pMapMemberIndexToFunctionIndex[nMemberPos]; -- OSL_ENSURE( nVtableCall < pTypeDescr->nMapFunctionIndexToMemberIndex, "### illegal vtable index!" ); -- -+ VtableSlot aVtableSlot( -+ getVtableSlot( -+ reinterpret_cast< -+ typelib_InterfaceAttributeTypeDescription const * >( -+ pMemberDescr))); - if (pReturn) - { - // dependent dispatch - cpp_call( -- pThis, nVtableCall, -+ pThis, aVtableSlot, - ((typelib_InterfaceAttributeTypeDescription *)pMemberDescr)->pAttributeTypeRef, - 0, 0, // no params - pReturn, pArgs, ppException ); -@@ -381,8 +389,9 @@ - &pReturnTypeRef, typelib_TypeClass_VOID, aVoidName.pData ); - - // dependent dispatch -+ aVtableSlot.index += 1; // get, then set method - cpp_call( -- pThis, nVtableCall +1, // get, then set method -+ pThis, aVtableSlot, - pReturnTypeRef, - 1, &aParam, - pReturn, pArgs, ppException ); -@@ -394,14 +403,12 @@ - } - case typelib_TypeClass_INTERFACE_METHOD: - { -- // determine vtable call index -- sal_Int32 nMemberPos = ((typelib_InterfaceMemberTypeDescription *)pMemberDescr)->nPosition; -- OSL_ENSURE( nMemberPos < pTypeDescr->nAllMembers, "### member pos out of range!" ); -- -- sal_Int32 nVtableCall = pTypeDescr->pMapMemberIndexToFunctionIndex[nMemberPos]; -- OSL_ENSURE( nVtableCall < pTypeDescr->nMapFunctionIndexToMemberIndex, "### illegal vtable index!" ); -- -- switch (nVtableCall) -+ VtableSlot aVtableSlot( -+ getVtableSlot( -+ reinterpret_cast< -+ typelib_InterfaceMethodTypeDescription const * >( -+ pMemberDescr))); -+ switch (aVtableSlot.index) - { - // standard calls - case 1: // acquire uno interface -@@ -419,8 +426,8 @@ - if (pTD) - { - uno_Interface * pInterface = 0; -- (*pThis->pBridge->pUnoEnv->getRegisteredInterface)( -- pThis->pBridge->pUnoEnv, -+ (*pThis->pBridge->getUnoEnv()->getRegisteredInterface)( -+ pThis->pBridge->getUnoEnv(), - (void **)&pInterface, pThis->oid.pData, (typelib_InterfaceTypeDescription *)pTD ); - - if (pInterface) -@@ -439,7 +446,7 @@ - default: - // dependent dispatch - cpp_call( -- pThis, nVtableCall, -+ pThis, aVtableSlot, - ((typelib_InterfaceMethodTypeDescription *)pMemberDescr)->pReturnTypeRef, - ((typelib_InterfaceMethodTypeDescription *)pMemberDescr)->nParams, - ((typelib_InterfaceMethodTypeDescription *)pMemberDescr)->pParams, -@@ -459,6 +466,3 @@ - } - } - } -- --} -- diff --git a/editors/openoffice.org-2.0-devel/files/patch-project-extentions b/editors/openoffice.org-2.0-devel/files/patch-project-extentions deleted file mode 100644 index a8b9d7ee9416..000000000000 --- a/editors/openoffice.org-2.0-devel/files/patch-project-extentions +++ /dev/null @@ -1,65 +0,0 @@ -#iZ and CWS -o http://www.openoffice.org/issues/show_bug.cgi?id=40179 -o http://eis.services.openoffice.org/EIS2/servlet/cws.ShowCWS?Id=2030&Path=SRC680%2Fpj16 -o pj16 - -Description - -o source/config/ldap/makefile.mk needs -lcompat since re_comp is defined here. -o FreeBSD doesn't have -ldl -o INC+= -DNP_LINUX is also requried for FreeBSD - -Index: source/config/ldap/makefile.mk -=================================================================== -RCS file: /cvs/util/extensions/source/config/ldap/makefile.mk,v -retrieving revision 1.4 -diff -u -r1.4 makefile.mk ---- extensions/source/config/ldap/makefile.mk 15 Nov 2004 14:14:22 -0000 1.4 -+++ extensions/source/config/ldap/makefile.mk 8 Jan 2005 02:48:29 -0000 -@@ -116,6 +116,9 @@ - $(CPPULIB) \ - $(SALHELPERLIB) \ - $(SALLIB) -+.IF "$(OS)"=="FREEBSD" -+SHL1STDLIBS+=-lcompat -+.ENDIF - - DEF1NAME=$(SHL1TARGET) - DEF1EXPORTFILE=exports.dxp -Index: source/nsplugin/source/makefile.mk -=================================================================== -RCS file: /cvs/util/extensions/source/nsplugin/source/makefile.mk,v -retrieving revision 1.8 -diff -u -r1.8 makefile.mk ---- extensions/source/nsplugin/source/makefile.mk 3 Jan 2005 09:04:51 -0000 1.8 -+++ extensions/source/nsplugin/source/makefile.mk 8 Jan 2005 02:48:30 -0000 -@@ -78,7 +78,7 @@ - @echo GTK disabled - nothing to build - - .ELSE # "$(ENABLE_GTK)"=="" --.IF "$(OS)"=="LINUX" -+.IF "$(OS)"=="LINUX" || "$(OS)"=="FREEBSD" - INC+= -DNP_LINUX - .ENDIF - PKGCONFIG_MODULES=gtk+-2.0 -@@ -99,8 +99,10 @@ - .IF "$(GUI)"=="UNX" - SHL1OBJS+=$(SLO)$/npunix.obj - SLOFILES+=$(SLO)$/npunix.obj -+.IF "$(OS)"!="FREEBSD" - SHL1STDLIBS+= -ldl -lnsl --.ENDIF -+.ENDIF #FREEBSD -+.ENDIF #UNX - .IF "$(GUI)"=="WNT" - SHL1OBJS+=$(SLO)$/npwin.obj - SLOFILES+=$(SLO)$/npwin.obj -@@ -131,7 +133,7 @@ - - .IF "$(GUI)"=="UNX" - APP1STDLIBS+=$(PKGCONFIG_LIBS:s/-lpangoxft-1.0//) --.IF "$(OS)"=="LINUX" -+.IF "$(OS)"=="LINUX" || "$(OS)"=="FREEBSD" - .ELSE - APP1STDLIBS+= -ldl -lnsl -lnls -lsocket - .ENDIF diff --git a/editors/openoffice.org-2.0-devel/files/patch-solenv+inc+unxfbsdi.mk b/editors/openoffice.org-2.0-devel/files/patch-solenv+inc+unxfbsdi.mk deleted file mode 100644 index f3f55df061d4..000000000000 --- a/editors/openoffice.org-2.0-devel/files/patch-solenv+inc+unxfbsdi.mk +++ /dev/null @@ -1,262 +0,0 @@ -#iZ and CWS -o http://www.openoffice.org/issues/show_bug.cgi?id=40182 - -Description -o catch up recent unxlngi6.mk -o -Wl,-z,defs -> comment out - -Index: solenv/inc/unxfbsdi.mk -=================================================================== -RCS file: /cvs/tools/solenv/inc/unxfbsdi.mk,v -retrieving revision 1.11 -diff -u -r1.11 unxfbsdi.mk ---- solenv/inc/unxfbsdi.mk 20 Sep 2004 08:37:13 -0000 1.11 -+++ solenv/inc/unxfbsdi.mk 10 Jan 2005 07:44:44 -0000 -@@ -60,16 +60,26 @@ - # - #************************************************************************* - --# mak file for unxfbsdi --ASM=$(CC) --AFLAGS=-x assembler-with-cpp -c $(CDEFS) -+# mk file for unxfbsdi -+ASM= -+AFLAGS= -+ -+SOLAR_JAVA*=TRUE -+JAVAFLAGSDEBUG=-g - - # filter for supressing verbose messages from linker - #not needed at the moment - #LINKOUTPUT_FILTER=" |& $(SOLARENV)$/bin$/msg_filter" - -+# _PTHREADS is needed for the stl -+CDEFS+=$(PTHREAD_CFLAGS) -DX86 -D_PTHREADS -D_REENTRANT -DNEW_SOLAR -D_USE_NAMESPACE=1 -DSTLPORT_VERSION=400 -+ -+# enable visibility define in "sal/types.h" -+.IF "$(HAVE_GCC_VISIBILITY_FEATURE)" == "TRUE" -+CDEFS += -DHAVE_GCC_VISIBILITY_FEATURE -+.ENDIF # "$(HAVE_GCC_VISIBILITY_FEATURE)" == "TRUE" -+ - # this is a platform with JAVA support --SOLAR_JAVA*=TRUE - .IF "$(SOLAR_JAVA)"!="" - JAVADEF=-DSOLAR_JAVA - .IF "$(debug)"=="" -@@ -83,90 +93,82 @@ - CXX*=g++ - # name of C Compiler - CC*=gcc -+.IF "$(SYSBASE)"!="" -+CFLAGS_SYSBASE:=-isystem $(SYSBASE)$/usr$/include -+CXX+:=$(CFLAGS_SYSBASE) -+CC+:=$(CFLAGS_SYSBASE) -+.ENDIF # "$(SYSBASE)"!="" -+CFLAGS+=-Wreturn-type -fmessage-length=0 -c $(INCLUDE) -+.IF "$(PRODUCT)"!="" -+CFLAGS+=-Wuninitialized -+.ENDIF - --# filter for supressing verbose messages from linker --# not needed at the moment --LINKOUTPUT_FILTER=" |& $(SOLARENV)$/bin$/msg_filter" -+# flags to enable build with symbols; required for crashdump feature -+.IF "$(ENABLE_SYMBOLS)"=="SMALL" -+CFLAGSENABLESYMBOLS=-g1 -+.ELSE -+CFLAGSENABLESYMBOLS=-g # was temporarily commented out, reenabled before Beta - --# options for C and C++ Compiler --CDEFS+= -D_USE_NAMESPACE=1 -DX86 -DNEW_SOLAR -DSTLPORT_VERSION=450 -DOSVERSION=$(OSVERSION) --CDEFS+= $(PTHREAD_CFLAGS) -D_REENTRANT -- --# flags for C and C++ Compile --CFLAGS+= -w -c $(INCLUDE) --CFLAGS+= -I/usr/X11R6/include -+.ENDIF - - # flags for the C++ Compiler --CFLAGSCC= -pipe -fno-rtti --CFLAGSCXX= -pipe -fno-rtti --CFLAGSCXX+= -Wno-ctor-dtor-privacy -- -+CFLAGSCC= -pipe -mtune=pentiumpro - # Flags for enabling exception handling --CFLAGSEXCEPTIONS= -fexceptions --CFLAGS_NO_EXCEPTIONS= -fno-exceptions -- --# Compiler flags for compiling static object in single threaded --# environment with graphical user interface --CFLAGSOBJGUIST= -fPIC -- --# Compiler flags for compiling static object in single threaded --# environment with character user interface --CFLAGSOBJCUIST= -fPIC -- --# Compiler flags for compiling static object in multi threaded --# environment with graphical user interface --CFLAGSOBJGUIMT= -fPIC -- --# Compiler flags for compiling static object in multi threaded --# environment with character user interface --CFLAGSOBJCUIMT= -fPIC -- --# Compiler flags for compiling shared object in multi threaded --# environment with graphical user interface --CFLAGSSLOGUIMT= -fPIC -- --# Compiler flags for compiling shared object in multi threaded --# environment with character user interface --CFLAGSSLOCUIMT= -fPIC -+CFLAGSEXCEPTIONS=-fexceptions -fno-enforce-eh-specs -+# Flags for disabling exception handling -+CFLAGS_NO_EXCEPTIONS=-fno-exceptions - --# Compiler flags for profilin --CFLAGSPROF= -pg -+# -fpermissive should be removed as soon as possible -+CFLAGSCXX= -pipe -mtune=pentiumpro -+CFLAGSCXX+= -Wno-ctor-dtor-privacy - -+# Compiler flags for compiling static object in single threaded environment with graphical user interface -+CFLAGSOBJGUIST= -+# Compiler flags for compiling static object in single threaded environment with character user interface -+CFLAGSOBJCUIST= -+# Compiler flags for compiling static object in multi threaded environment with graphical user interface -+CFLAGSOBJGUIMT= -+# Compiler flags for compiling static object in multi threaded environment with character user interface -+CFLAGSOBJCUIMT= -+# Compiler flags for compiling shared object in multi threaded environment with graphical user interface -+CFLAGSSLOGUIMT=-fPIC -+# Compiler flags for compiling shared object in multi threaded environment with character user interface -+CFLAGSSLOCUIMT=-fPIC -+# Compiler flags for profiling -+CFLAGSPROF= - # Compiler flags for debugging --CFLAGSDEBUG= -g -+CFLAGSDEBUG=-g - CFLAGSDBGUTIL= -- --# Compiler flags to enable optimizations --# -02 is broken for FreeBSD --CFLAGSOPT= -O -- --# Compiler flags to disable optimizations --# -0 is broken for STLport for FreeBSD --CFLAGSNOOPT= -O0 -- --# Compiler flags for the output path --CFLAGSOUTOBJ= -o -- -+# Compiler flags for enabling optimazations -+.IF "$(PRODUCT)"!="" -+CFLAGSOPT=-Os -fno-strict-aliasing # optimizing for products -+.ELSE # "$(PRODUCT)"!="" -+CFLAGSOPT= # no optimizing for non products -+.ENDIF # "$(PRODUCT)"!="" -+# Compiler flags for disabling optimazations -+CFLAGSNOOPT=-O0 -+# Compiler flags for discibing the output path -+CFLAGSOUTOBJ=-o - # Enable all warnings - CFLAGSWALL=-Wall -- - # Set default warn level --CFLAGSDFLTWARN=-w -+CFLAGSDFLTWARN= - - # switches for dynamic and static linking --STATIC= -Wl,-Bstatic --DYNAMIC= -Wl,-Bdynamic -+STATIC = -Wl,-Bstatic -+DYNAMIC = -Wl,-Bdynamic - - # name of linker --LINK=$(CC) -+LINK*=$(CXX) - - # default linker flags --# LINKFLAGSRUNPATH*=-Wl,-rpath\''$$ORIGIN'\' --LINKFLAGS=$(LINKFLAGSRUNPATH) -+LINKFLAGSDEFS*=#-Wl,-z,defs -+LINKFLAGSRUNPATH*=-Wl,-rpath,\''$$ORIGIN'\' -+LINKFLAGS=-z combreloc $(LINKFLAGSDEFS) $(LINKFLAGSRUNPATH) - - # linker flags for linking applications --LINKFLAGSAPPGUI= -Wl,--noinhibit-exec --LINKFLAGSAPPCUI= -Wl,--noinhibit-exec -+LINKFLAGSAPPGUI= -Wl,-export-dynamic -Wl,--noinhibit-exec -+LINKFLAGSAPPCUI= -Wl,-export-dynamic -Wl,--noinhibit-exec - - # linker flags for linking shared libraries - LINKFLAGSSHLGUI= -shared -@@ -177,23 +179,19 @@ - LINKFLAGSDEBUG=-g - LINKFLAGSOPT= - --.IF "$(NO_BSYMBOLIC)"=="" --.IF "$(PRJNAME)" != "envtest" --LINKFLAGSSHLGUI+= -Wl,-Bsymbolic --LINKFLAGSSHLCUI+= -Wl,-Bsymbolic --.ENDIF --.ENDIF -+# linker flags for optimization (symbol hashtable) -+# for now, applied to symbol scoped libraries, only -+LINKFLAGSOPTIMIZE*=-Wl,-O1 -+LINKVERSIONMAPFLAG=$(LINKFLAGSOPTIMIZE) -Wl,--version-script - --LINKVERSIONMAPFLAG=-Wl,--version-script -+SONAME_SWITCH=-Wl,-h - - # Sequence of libs does matter ! --STDLIBCPP=-lstdc++ - --# _SYSLIBS= -L/usr/lib -lm --# _X11LIBS= -L/usr/X11R6/lib -lXext -lX11 --# _CXXLIBS= -L/usr/lib -lstdc++ -L/usr/local/lib -+STDLIBCPP=-lstdc++ - - # default objectfilenames to link -+STDOBJVCL=$(L)$/salmain.o - STDOBJGUI= - STDSLOGUI= - STDOBJCUI= -@@ -201,24 +199,25 @@ - - # libraries for linking applications - STDLIBCUIST=-lm --STDLIBGUIST=-lXaw -lXt -lX11 -lm --STDLIBGUIMT=-lXaw -lXt -lX11 $(PTHREAD_LIBS) -lm -+STDLIBGUIMT=-lX11 $(PTHREAD_LIBS) -lm - STDLIBCUIMT=$(PTHREAD_LIBS) -lm -- -+STDLIBGUIST=-lX11 -lm - # libraries for linking shared libraries --STDSHLGUIMT=-lXaw -lXt -lX11 -lXext $(PTHREAD_LIBS) -lm -+STDSHLGUIMT=-lX11 -lXext $(PTHREAD_LIBS) -lm - STDSHLCUIMT=$(PTHREAD_LIBS) -lm -+STDSHLGUIST=-lX11 -lXext -lm -+STDSHLCUIST=-lm - - LIBSALCPPRT*=-Wl,--whole-archive -lsalcpprt -Wl,--no-whole-archive - --# STLport always needs pthread. --LIBSTLPORT=$(DYNAMIC) -lstlport_gcc $(STDLIBCPP) $(PTHREAD_LIBS) --LIBSTLPORTST=$(STATIC) -lstlport_gcc $(DYNAMIC) $(PTHREAD_LIBS) -+LIBSTLPORT=$(DYNAMIC) -lstlport_gcc -+LIBSTLPORTST=$(STATIC) -lstlport_gcc $(DYNAMIC) -+ -+#FILLUPARC=$(STATIC) -lsupc++ $(DYNAMIC) - - # name of library manager - LIBMGR=ar - LIBFLAGS=-r --LIBEXT= .a - - # tool for generating import libraries - IMPLIB= -@@ -237,3 +236,4 @@ - DLLPOSTFIX=fi - DLLPRE=lib - DLLPOST=.so -+ diff --git a/editors/openoffice.org-2.0-devel/files/patch-transex3+source+xmlparse.cxx b/editors/openoffice.org-2.0-devel/files/patch-transex3+source+xmlparse.cxx deleted file mode 100644 index de1864d5e9cb..000000000000 --- a/editors/openoffice.org-2.0-devel/files/patch-transex3+source+xmlparse.cxx +++ /dev/null @@ -1,24 +0,0 @@ -#iZ and CWS -o http://www.openoffice.org/issues/show_bug.cgi?id=40184 -o http://eis.services.openoffice.org/EIS2/servlet/cws.ShowCWS?Id=2030&Path=SRC680%2Fpj16 -o pj16 - -Description -FreeBSD doesn't have alloca.h - -Index: source/xmlparse.cxx -=================================================================== -RCS file: /cvs/l10n/transex3/source/xmlparse.cxx,v -retrieving revision 1.5 -diff -u -r1.5 xmlparse.cxx ---- transex3/source/xmlparse.cxx 18 Nov 2004 08:17:50 -0000 1.5 -+++ transex3/source/xmlparse.cxx 8 Jan 2005 02:56:14 -0000 -@@ -67,7 +67,7 @@ - #ifdef WIN32 - #include <malloc.h> - #else --#ifndef MACOSX -+#if !(defined(MACOSX) || defined(FREEBSD)) - #include <alloca.h> - #endif - #endif diff --git a/editors/openoffice.org-2.0/Makefile b/editors/openoffice.org-2.0/Makefile index c563bd2c2beb..e6be311f3b31 100644 --- a/editors/openoffice.org-2.0/Makefile +++ b/editors/openoffice.org-2.0/Makefile @@ -19,7 +19,7 @@ EXTRACT_ONLY= OOo_${RELEASE_NR}m${MILESTONE}_source.tar.bz2 MAINTAINER= openoffice@FreeBSD.org COMMENT?= Integrated wordprocessor/dbase/spreadheet/drawing/chart/browser(developer version) -SNAPDATE= 20050119 +SNAPDATE= 20050123 NO_LATEST_LINK= yes USE_GNOME= gtk20 MOZILLA_PROJECT= cws_srx645_mozooo.20041016.tar.gz @@ -49,7 +49,7 @@ BROKEN= "rtld depends on _end symbol. type make -DBROKEN to see how to upgrade CODELINE= 680 RELEASE_NR= 1.9 -MILESTONE= 72 +MILESTONE= 73 INSTALLATION_BASEDIR= openoffice.org${RELEASE_NR}m${MILESTONE} EXECBASE= openoffice.org-${RELEASE_NR}m${MILESTONE} DIST_SUBDIR= openoffice.org2.0 diff --git a/editors/openoffice.org-2.0/distinfo b/editors/openoffice.org-2.0/distinfo index 8b7774bf8f23..c9e7f5358b88 100644 --- a/editors/openoffice.org-2.0/distinfo +++ b/editors/openoffice.org-2.0/distinfo @@ -1,5 +1,5 @@ -MD5 (openoffice.org2.0/OOo_1.9m72_source.tar.bz2) = c51fa9d749f1e5eb3733d50b91f97fe8 -SIZE (openoffice.org2.0/OOo_1.9m72_source.tar.bz2) = 233690890 +MD5 (openoffice.org2.0/OOo_1.9m73_source.tar.bz2) = 0885bb45bd204b03b16f8276cbd922e0 +SIZE (openoffice.org2.0/OOo_1.9m73_source.tar.bz2) = 233756500 MD5 (openoffice.org2.0/gpc231.tar.Z) = fdb06fdb5a4670b172f9fb738b717be9 SIZE (openoffice.org2.0/gpc231.tar.Z) = 27917 MD5 (openoffice.org2.0/cws_srx645_mozooo.20041016.tar.gz) = eda0ab73b24c45890ae08bdfe04049bd diff --git a/editors/openoffice.org-2.0/files/Makefile.knobs b/editors/openoffice.org-2.0/files/Makefile.knobs index 5b9c07e3afce..0afc3acadf7e 100644 --- a/editors/openoffice.org-2.0/files/Makefile.knobs +++ b/editors/openoffice.org-2.0/files/Makefile.knobs @@ -19,7 +19,7 @@ CONFIGURE_ARGS+= --enable-cups .if defined(ALL_LOCALIZED_LANGS) CONFIGURE_ARGS+= --with-lang="en-US ar ca cs da de el es et fi fr he hi-IN hu it ja ko pl pt pt-BR ru sk sl sv th tr zh-CN zh-TW" -#following langs still seem to be under development +#following langs still seem to be under development #af bg cy eo eu gl kn-IN lt nb nl nn ns tn zu #CONFIGURE_ARGS+= --with-lang=ALL .else diff --git a/editors/openoffice.org-2.0/files/patch-config_office+set_soenv.in b/editors/openoffice.org-2.0/files/patch-config_office+set_soenv.in deleted file mode 100644 index 9b2a97774dc1..000000000000 --- a/editors/openoffice.org-2.0/files/patch-config_office+set_soenv.in +++ /dev/null @@ -1,25 +0,0 @@ -#iZ and CWS -o http://www.openoffice.org/issues/show_bug.cgi?id=37731 -o http://eis.services.openoffice.org/EIS2/servlet/cws.ShowCWS?Id=2030&Path=SRC680%2Fpj16 -o pj16 - -Description -Do not export LINK to environment - -Index: config_office/set_soenv.in -=================================================================== -RCS file: /cvs/tools/config_office/set_soenv.in,v -retrieving revision 1.31 -diff -u -r1.31 set_soenv.in ---- config_office/set_soenv.in 5 Jan 2005 12:10:00 -0000 1.31 -+++ config_office/set_soenv.in 9 Jan 2005 18:51:24 -0000 -@@ -1684,9 +1684,6 @@ - ToFile( "CC", $CC, "e" ); - ToFile( "CXX", $CXX, "e" ); - ToFile( "USE_SYSTEM_STL", "@USE_SYSTEM_STL@", "e" ); --if ( $COM ne "MSC" ) { -- ToFile( "LINK", $CC, "e" ); --} - ToFile( "ENABLE_SYMBOLS", "@ENABLE_SYMBOLS@", "e" ); - ToFile( "ENABLE_CRASHDUMP", "@ENABLE_CRASHDUMP@", "e" ); - ToFile( "ENABLE_CUPS", "@ENABLE_CUPS@", "e" ); diff --git a/editors/openoffice.org-2.0/files/patch-project-bridges b/editors/openoffice.org-2.0/files/patch-project-bridges deleted file mode 100644 index 890cab171898..000000000000 --- a/editors/openoffice.org-2.0/files/patch-project-bridges +++ /dev/null @@ -1,1004 +0,0 @@ -#iZ and CWS -o http://www.openoffice.org/issues/show_bug.cgi?id=40178 - -Description -catch up recent version of -bridges/source/cpp_uno/gcc3_linux_intel/cpp2uno.cxx -Only difference is: -- rtti = (type_info *)dlsym( m_hApp, symName.getStr() ); -+ rtti = (type_info *)dlsym( RTLD_DEFAULT, symName.getStr() ); -#iZ 22253 for reason why we changed m_hApp to RTLD_DEFAULT - -Index: bridges/source/cpp_uno/gcc3_freebsd_intel/cpp2uno.cxx -=================================================================== -RCS file: /cvs/udk/bridges/source/cpp_uno/gcc3_freebsd_intel/cpp2uno.cxx,v -retrieving revision 1.3 -diff -u -r1.3 cpp2uno.cxx ---- bridges/source/cpp_uno/gcc3_freebsd_intel/cpp2uno.cxx 28 Apr 2003 16:28:20 -0000 1.3 -+++ bridges/source/cpp_uno/gcc3_freebsd_intel/cpp2uno.cxx 27 Dec 2004 06:05:52 -0000 -@@ -2,9 +2,9 @@ - * - * $RCSfile: cpp2uno.cxx,v $ - * -- * $Revision: 1.3 $ -+ * $Revision: 1.6 $ - * -- * last change: $Author: hr $ $Date: 2003/04/28 16:28:20 $ -+ * last change: $Author: obo $ $Date: 2004/06/04 02:59:45 $ - * - * The Contents of this file are made available subject to the terms of - * either of the following licenses -@@ -59,34 +59,26 @@ - * - ************************************************************************/ - --#include <hash_map> -- --#include <sal/alloca.h> --#include <rtl/alloc.h> --#include <osl/mutex.hxx> -- -+#include <com/sun/star/uno/genfunc.hxx> -+#include "com/sun/star/uno/RuntimeException.hpp" - #include <uno/data.h> - #include <typelib/typedescription.hxx> - --#include <bridges/cpp_uno/bridge.hxx> --#include <bridges/cpp_uno/type_misc.hxx> -+#include "bridges/cpp_uno/shared/bridge.hxx" -+#include "bridges/cpp_uno/shared/cppinterfaceproxy.hxx" -+#include "bridges/cpp_uno/shared/types.hxx" -+#include "bridges/cpp_uno/shared/vtablefactory.hxx" - - #include "share.hxx" - -- --using namespace ::osl; --using namespace ::rtl; - using namespace ::com::sun::star::uno; - --namespace CPPU_CURRENT_NAMESPACE -+namespace - { - - //================================================================================================== --rtl_StandardModuleCount g_moduleCount = MODULE_COUNT_INIT; -- --//================================================================================================== - static typelib_TypeClass cpp2uno_call( -- cppu_cppInterfaceProxy * pThis, -+ bridges::cpp_uno::shared::CppInterfaceProxy * pThis, - const typelib_TypeDescription * pMemberTypeDescr, - typelib_TypeDescriptionReference * pReturnTypeRef, // 0 indicates void return - sal_Int32 nParams, typelib_MethodParameter * pParams, -@@ -106,7 +98,7 @@ - - if (pReturnTypeDescr) - { -- if (cppu_isSimpleType( pReturnTypeDescr )) -+ if (bridges::cpp_uno::shared::isSimpleType( pReturnTypeDescr )) - { - pUnoReturn = pRegisterReturn; // direct way for simple types - } -@@ -115,7 +107,8 @@ - pCppReturn = *(void **)pCppStack; - pCppStack += sizeof(void *); - -- pUnoReturn = (cppu_relatesToInterface( pReturnTypeDescr ) -+ pUnoReturn = (bridges::cpp_uno::shared::relatesToInterfaceType( -+ pReturnTypeDescr ) - ? alloca( pReturnTypeDescr->nSize ) - : pCppReturn); // direct way - } -@@ -141,7 +134,9 @@ - typelib_TypeDescription * pParamTypeDescr = 0; - TYPELIB_DANGER_GET( &pParamTypeDescr, rParam.pTypeRef ); - -- if (!rParam.bOut && cppu_isSimpleType( pParamTypeDescr )) // value -+ if (!rParam.bOut -+ && bridges::cpp_uno::shared::isSimpleType( pParamTypeDescr )) -+ // value - { - pCppArgs[nPos] = pCppStack; - pUnoArgs[nPos] = pCppStack; -@@ -168,11 +163,12 @@ - ppTempParamTypeDescr[nTempIndizes++] = pParamTypeDescr; - } - // is in/inout -- else if (cppu_relatesToInterface( pParamTypeDescr )) -+ else if (bridges::cpp_uno::shared::relatesToInterfaceType( -+ pParamTypeDescr )) - { - uno_copyAndConvertData( pUnoArgs[nPos] = alloca( pParamTypeDescr->nSize ), - *(void **)pCppStack, pParamTypeDescr, -- &pThis->pBridge->aCpp2Uno ); -+ pThis->getBridge()->getCpp2Uno() ); - pTempIndizes[nTempIndizes] = nPos; // has to be reconverted - // will be released at reconversion - ppTempParamTypeDescr[nTempIndizes++] = pParamTypeDescr; -@@ -192,7 +188,8 @@ - uno_Any * pUnoExc = &aUnoExc; - - // invoke uno dispatch call -- (*pThis->pUnoI->pDispatcher)( pThis->pUnoI, pMemberTypeDescr, pUnoReturn, pUnoArgs, &pUnoExc ); -+ (*pThis->getUnoI()->pDispatcher)( -+ pThis->getUnoI(), pMemberTypeDescr, pUnoReturn, pUnoArgs, &pUnoExc ); - - // in case an exception occured... - if (pUnoExc) -@@ -209,7 +206,9 @@ - if (pReturnTypeDescr) - TYPELIB_DANGER_RELEASE( pReturnTypeDescr ); - -- raiseException( &aUnoExc, &pThis->pBridge->aUno2Cpp ); // has to destruct the any -+ CPPU_CURRENT_NAMESPACE::raiseException( -+ &aUnoExc, pThis->getBridge()->getUno2Cpp() ); -+ // has to destruct the any - // is here for dummy - return typelib_TypeClass_VOID; - } -@@ -226,7 +225,7 @@ - // convert and assign - uno_destructData( pCppArgs[nIndex], pParamTypeDescr, cpp_release ); - uno_copyAndConvertData( pCppArgs[nIndex], pUnoArgs[nIndex], pParamTypeDescr, -- &pThis->pBridge->aUno2Cpp ); -+ pThis->getBridge()->getUno2Cpp() ); - } - // destroy temp uno param - uno_destructData( pUnoArgs[nIndex], pParamTypeDescr, 0 ); -@@ -239,7 +238,7 @@ - if (pUnoReturn != pCppReturn) // needs reconversion - { - uno_copyAndConvertData( pCppReturn, pUnoReturn, pReturnTypeDescr, -- &pThis->pBridge->aUno2Cpp ); -+ pThis->getBridge()->getUno2Cpp() ); - // destroy temp uno return - uno_destructData( pUnoReturn, pReturnTypeDescr, 0 ); - } -@@ -260,38 +259,41 @@ - - //================================================================================================== - static typelib_TypeClass cpp_mediate( -- sal_Int32 nVtableCall, -+ sal_Int32 nFunctionIndex, -+ sal_Int32 nVtableOffset, - void ** pCallStack, - sal_Int64 * pRegisterReturn /* space for register return */ ) - { - OSL_ENSURE( sizeof(sal_Int32)==sizeof(void *), "### unexpected!" ); - - // pCallStack: ret adr, [ret *], this, params -- // _this_ ptr is patched cppu_XInterfaceProxy object -- cppu_cppInterfaceProxy * pCppI = NULL; -- if( nVtableCall & 0x80000000 ) -+ void * pThis; -+ if( nFunctionIndex & 0x80000000 ) - { -- nVtableCall &= 0x7fffffff; -- pCppI = (cppu_cppInterfaceProxy *)(XInterface *)*(pCallStack +2); -+ nFunctionIndex &= 0x7fffffff; -+ pThis = pCallStack[2]; - } - else - { -- pCppI = (cppu_cppInterfaceProxy *)(XInterface *)*(pCallStack +1); -+ pThis = pCallStack[1]; - } -+ pThis = static_cast< char * >(pThis) - nVtableOffset; -+ bridges::cpp_uno::shared::CppInterfaceProxy * pCppI -+ = bridges::cpp_uno::shared::CppInterfaceProxy::castInterfaceToProxy( -+ pThis); - -- typelib_InterfaceTypeDescription * pTypeDescr = pCppI->pTypeDescr; -+ typelib_InterfaceTypeDescription * pTypeDescr = pCppI->getTypeDescr(); - -- OSL_ENSURE( nVtableCall < pTypeDescr->nMapFunctionIndexToMemberIndex, "### illegal vtable index!" ); -- if (nVtableCall >= pTypeDescr->nMapFunctionIndexToMemberIndex) -+ OSL_ENSURE( nFunctionIndex < pTypeDescr->nMapFunctionIndexToMemberIndex, "### illegal vtable index!" ); -+ if (nFunctionIndex >= pTypeDescr->nMapFunctionIndexToMemberIndex) - { - throw RuntimeException( -- OUString::createFromAscii("illegal vtable index!"), -- (XInterface *)pCppI ); -+ rtl::OUString::createFromAscii("illegal vtable index!"), -+ (XInterface *)pThis ); - } - - // determine called method -- OSL_ENSURE( nVtableCall < pTypeDescr->nMapFunctionIndexToMemberIndex, "### illegal vtable index!" ); -- sal_Int32 nMemberPos = pTypeDescr->pMapFunctionIndexToMemberIndex[nVtableCall]; -+ sal_Int32 nMemberPos = pTypeDescr->pMapFunctionIndexToMemberIndex[nFunctionIndex]; - OSL_ENSURE( nMemberPos < pTypeDescr->nAllMembers, "### illegal member index!" ); - - TypeDescription aMemberDescr( pTypeDescr->ppAllMembers[nMemberPos] ); -@@ -301,7 +303,7 @@ - { - case typelib_TypeClass_INTERFACE_ATTRIBUTE: - { -- if (pTypeDescr->pMapMemberIndexToFunctionIndex[nMemberPos] == nVtableCall) -+ if (pTypeDescr->pMapMemberIndexToFunctionIndex[nMemberPos] == nFunctionIndex) - { - // is GET method - eRet = cpp2uno_call( -@@ -330,7 +332,7 @@ - case typelib_TypeClass_INTERFACE_METHOD: - { - // is METHOD -- switch (nVtableCall) -+ switch (nFunctionIndex) - { - case 1: // acquire() - pCppI->acquireProxy(); // non virtual call! -@@ -347,9 +349,10 @@ - if (pTD) - { - XInterface * pInterface = 0; -- (*pCppI->pBridge->pCppEnv->getRegisteredInterface)( -- pCppI->pBridge->pCppEnv, -- (void **)&pInterface, pCppI->oid.pData, (typelib_InterfaceTypeDescription *)pTD ); -+ (*pCppI->getBridge()->getCppEnv()->getRegisteredInterface)( -+ pCppI->getBridge()->getCppEnv(), -+ (void **)&pInterface, pCppI->getOid().pData, -+ (typelib_InterfaceTypeDescription *)pTD ); - - if (pInterface) - { -@@ -378,8 +381,8 @@ - default: - { - throw RuntimeException( -- OUString::createFromAscii("no member description found!"), -- (XInterface *)pCppI ); -+ rtl::OUString::createFromAscii("no member description found!"), -+ (XInterface *)pThis ); - // is here for dummy - eRet = typelib_TypeClass_VOID; - } -@@ -393,12 +396,15 @@ - * is called on incoming vtable calls - * (called by asm snippets) - */ --static void cpp_vtable_call( int nTableEntry, void** pCallStack ) __attribute__((regparm(2))); -+static void cpp_vtable_call( -+ int nFunctionIndex, int nVtableOffset, void** pCallStack ) -+ __attribute__((regparm(3))); - --void cpp_vtable_call( int nTableEntry, void** pCallStack ) -+void cpp_vtable_call( int nFunctionIndex, int nVtableOffset, void** pCallStack ) - { - volatile long nRegReturn[2]; -- typelib_TypeClass aType = cpp_mediate( nTableEntry, pCallStack, (sal_Int64*)nRegReturn ); -+ typelib_TypeClass aType = cpp_mediate( -+ nFunctionIndex, nVtableOffset, pCallStack, (sal_Int64*)nRegReturn ); - - switch( aType ) - { -@@ -434,161 +440,103 @@ - - - //================================================================================================== --class MediateClassData --{ -- typedef ::std::hash_map< OUString, void *, OUStringHash > t_classdata_map; -- t_classdata_map m_map; -- Mutex m_mutex; -- --public: -- void const * get_vtable( typelib_InterfaceTypeDescription * pTD ) SAL_THROW( () ); -- -- inline MediateClassData() SAL_THROW( () ) -- {} -- ~MediateClassData() SAL_THROW( () ); --}; --//__________________________________________________________________________________________________ --MediateClassData::~MediateClassData() SAL_THROW( () ) -+int const codeSnippetSize = 20; -+ -+unsigned char * codeSnippet( -+ unsigned char * code, sal_Int32 functionIndex, sal_Int32 vtableOffset, -+ bool simpleRetType) - { -- OSL_TRACE( "> calling ~MediateClassData(): freeing mediate vtables." ); -- -- for ( t_classdata_map::const_iterator iPos( m_map.begin() ); iPos != m_map.end(); ++iPos ) -- { -- ::rtl_freeMemory( iPos->second ); -- } -+ if (!simpleRetType) { -+ functionIndex |= 0x80000000; -+ } -+ unsigned char * p = code; -+ OSL_ASSERT(sizeof (sal_Int32) == 4); -+ // mov function_index, %eax: -+ *p++ = 0xB8; -+ *reinterpret_cast< sal_Int32 * >(p) = functionIndex; -+ p += sizeof (sal_Int32); -+ // mov vtable_offset, %edx: -+ *p++ = 0xBA; -+ *reinterpret_cast< sal_Int32 * >(p) = vtableOffset; -+ p += sizeof (sal_Int32); -+ // mov %esp, %ecx: -+ *p++ = 0x89; -+ *p++ = 0xE1; -+ // jmp cpp_vtable_call: -+ *p++ = 0xE9; -+ *reinterpret_cast< sal_Int32 * >(p) -+ = ((unsigned char *) cpp_vtable_call) - p - sizeof (sal_Int32); -+ p += sizeof (sal_Int32); -+ OSL_ASSERT(p - code <= codeSnippetSize); -+ return code + codeSnippetSize; - } --//-------------------------------------------------------------------------------------------------- --static inline void codeSnippet( char * code, sal_uInt32 vtable_pos, bool simple_ret_type ) SAL_THROW( () ) --{ -- if (! simple_ret_type) -- vtable_pos |= 0x80000000; -- OSL_ASSERT( sizeof (long) == 4 ); -- // mov $nPos, %eax -- *code++ = 0xb8; -- *(long *)code = vtable_pos; -- code += sizeof (long); -- // mov %esp, %edx -- *code++ = 0x89; -- *code++ = 0xe2; -- // jmp cpp_vtable_call -- *code++ = 0xe9; -- *(long *)code = ((char *)cpp_vtable_call) - code - sizeof (long); -+ - } --//__________________________________________________________________________________________________ --void const * MediateClassData::get_vtable( typelib_InterfaceTypeDescription * pTD ) SAL_THROW( () ) --{ -- void * buffer; -- -- // avoiding locked counts -- OUString const & unoName = *(OUString const *)&((typelib_TypeDescription *)pTD)->pTypeName; -- { -- MutexGuard aGuard( m_mutex ); -- t_classdata_map::const_iterator iFind( m_map.find( unoName ) ); -- if (iFind == m_map.end()) -- { -- // create new vtable -- sal_Int32 nSlots = pTD->nMapFunctionIndexToMemberIndex; -- buffer = ::rtl_allocateMemory( ((2+ nSlots) * sizeof (void *)) + (nSlots *20) ); -- -- ::std::pair< t_classdata_map::iterator, bool > insertion( -- m_map.insert( t_classdata_map::value_type( unoName, buffer ) ) ); -- OSL_ENSURE( insertion.second, "### inserting new vtable buffer failed?!" ); -- -- void ** slots = (void **)buffer; -- *slots++ = 0; -- *slots++ = 0; // rtti -- char * code = (char *)(slots + nSlots); -- -- sal_uInt32 vtable_pos = 0; -- sal_Int32 nAllMembers = pTD->nAllMembers; -- typelib_TypeDescriptionReference ** ppAllMembers = pTD->ppAllMembers; -- for ( sal_Int32 nPos = 0; nPos < nAllMembers; ++nPos ) -- { -- typelib_TypeDescription * pTD = 0; -- TYPELIB_DANGER_GET( &pTD, ppAllMembers[ nPos ] ); -- OSL_ASSERT( pTD ); -- if (typelib_TypeClass_INTERFACE_ATTRIBUTE == pTD->eTypeClass) -- { -- bool simple_ret = cppu_isSimpleType( -- ((typelib_InterfaceAttributeTypeDescription *)pTD)->pAttributeTypeRef->eTypeClass ); -- // get method -- *slots++ = code; -- codeSnippet( code, vtable_pos++, simple_ret ); -- code += 20; -- if (! ((typelib_InterfaceAttributeTypeDescription *)pTD)->bReadOnly) -- { -- // set method -- *slots++ = code; -- codeSnippet( code, vtable_pos++, true ); -- code += 20; -- } -- } -- else -+ -+void ** bridges::cpp_uno::shared::VtableFactory::mapBlockToVtable(char * block) -+{ -+ return reinterpret_cast< void ** >(block) + 2; -+} -+ -+char * bridges::cpp_uno::shared::VtableFactory::createBlock( -+ sal_Int32 slotCount, void *** slots) -+{ -+ char * block = new char[ -+ (slotCount + 2) * sizeof (void *) + slotCount * codeSnippetSize]; -+ *slots = mapBlockToVtable(block); -+ (*slots)[-2] = 0; -+ (*slots)[-1] = 0; -+ return block; -+} -+ -+unsigned char * bridges::cpp_uno::shared::VtableFactory::addLocalFunctions( -+ void ** slots, unsigned char * code, -+ typelib_InterfaceTypeDescription const * type, sal_Int32 functionOffset, -+ sal_Int32 functionCount, sal_Int32 vtableOffset) -+{ -+ for (sal_Int32 i = 0; i < type->nMembers; ++i) { -+ typelib_TypeDescription * member = 0; -+ TYPELIB_DANGER_GET(&member, type->ppMembers[i]); -+ OSL_ASSERT(member != 0); -+ switch (member->eTypeClass) { -+ case typelib_TypeClass_INTERFACE_ATTRIBUTE: -+ // Getter: -+ *slots++ = code; -+ code = codeSnippet( -+ code, functionOffset++, vtableOffset, -+ bridges::cpp_uno::shared::isSimpleType( -+ reinterpret_cast< -+ typelib_InterfaceAttributeTypeDescription * >( -+ member)->pAttributeTypeRef)); -+ // Setter: -+ if (!reinterpret_cast< -+ typelib_InterfaceAttributeTypeDescription * >( -+ member)->bReadOnly) - { -- bool simple_ret = cppu_isSimpleType( -- ((typelib_InterfaceMethodTypeDescription *)pTD)->pReturnTypeRef->eTypeClass ); - *slots++ = code; -- codeSnippet( code, vtable_pos++, simple_ret ); -- code += 20; -+ code = codeSnippet(code, functionOffset++, vtableOffset, true); - } -- TYPELIB_DANGER_RELEASE( pTD ); -+ break; -+ -+ case typelib_TypeClass_INTERFACE_METHOD: -+ *slots++ = code; -+ code = codeSnippet( -+ code, functionOffset++, vtableOffset, -+ bridges::cpp_uno::shared::isSimpleType( -+ reinterpret_cast< -+ typelib_InterfaceMethodTypeDescription * >( -+ member)->pReturnTypeRef)); -+ break; -+ -+ default: -+ OSL_ASSERT(false); -+ break; - } -- OSL_ASSERT( vtable_pos == nSlots ); -- } -- else -- { -- buffer = iFind->second; -- } -+ TYPELIB_DANGER_RELEASE(member); - } -- -- return ((void **)buffer +2); --} -- --//================================================================================================== --void SAL_CALL cppu_cppInterfaceProxy_patchVtable( -- XInterface * pCppI, typelib_InterfaceTypeDescription * pTypeDescr ) throw () --{ -- static MediateClassData * s_pMediateClassData = 0; -- if (! s_pMediateClassData) -- { -- MutexGuard aGuard( Mutex::getGlobalMutex() ); -- if (! s_pMediateClassData) -- { --#ifdef LEAK_STATIC_DATA -- s_pMediateClassData = new MediateClassData(); --#else -- static MediateClassData s_aMediateClassData; -- s_pMediateClassData = &s_aMediateClassData; --#endif -- } -- } -- *(void const **)pCppI = s_pMediateClassData->get_vtable( pTypeDescr ); --} -- -+ return code; - } - --extern "C" --{ --//################################################################################################## --sal_Bool SAL_CALL component_canUnload( TimeValue * pTime ) -- SAL_THROW_EXTERN_C() --{ -- return CPPU_CURRENT_NAMESPACE::g_moduleCount.canUnload( -- &CPPU_CURRENT_NAMESPACE::g_moduleCount, pTime ); --} --//################################################################################################## --void SAL_CALL uno_initEnvironment( uno_Environment * pCppEnv ) -- SAL_THROW_EXTERN_C() --{ -- CPPU_CURRENT_NAMESPACE::cppu_cppenv_initEnvironment( -- pCppEnv ); --} --//################################################################################################## --void SAL_CALL uno_ext_getMapping( -- uno_Mapping ** ppMapping, uno_Environment * pFrom, uno_Environment * pTo ) -- SAL_THROW_EXTERN_C() --{ -- CPPU_CURRENT_NAMESPACE::cppu_ext_getMapping( -- ppMapping, pFrom, pTo ); --} --} -+void bridges::cpp_uno::shared::VtableFactory::flushCode( -+ unsigned char const *, unsigned char const *) -+{} -Index: bridges/source/cpp_uno/gcc3_freebsd_intel/except.cxx -=================================================================== -RCS file: /cvs/udk/bridges/source/cpp_uno/gcc3_freebsd_intel/except.cxx,v -retrieving revision 1.4 -diff -u -r1.4 except.cxx ---- bridges/source/cpp_uno/gcc3_freebsd_intel/except.cxx 28 Apr 2003 16:41:25 -0000 1.4 -+++ bridges/source/cpp_uno/gcc3_freebsd_intel/except.cxx 27 Dec 2004 06:05:52 -0000 -@@ -2,9 +2,9 @@ - * - * $RCSfile: except.cxx,v $ - * -- * $Revision: 1.4 $ -+ * $Revision: 1.10 $ - * -- * last change: $Author: hr $ $Date: 2003/04/28 16:41:25 $ -+ * last change: $Author: obo $ $Date: 2004/06/04 02:59:59 $ - * - * The Contents of this file are made available subject to the terms of - * either of the following licenses -@@ -69,7 +69,8 @@ - #include <osl/diagnose.h> - #include <osl/mutex.hxx> - --#include <bridges/cpp_uno/bridge.hxx> -+#include <com/sun/star/uno/genfunc.hxx> -+#include "com/sun/star/uno/RuntimeException.hpp" - #include <typelib/typedescription.hxx> - #include <uno/any2.h> - -@@ -147,7 +148,7 @@ - }; - //__________________________________________________________________________________________________ - RTTI::RTTI() SAL_THROW( () ) -- : m_hApp( dlopen( 0, RTLD_LAZY ) ) -+ : m_hApp( dlopen( 0, RTLD_NOW | RTLD_GLOBAL ) ) - { - } - //__________________________________________________________________________________________________ -@@ -182,7 +183,8 @@ - buf.append( 'E' ); - - OString symName( buf.makeStringAndClear() ); -- rtti = (type_info *)dlsym( m_hApp, symName.getStr() ); -+//#iZ 22253 -+ rtti = (type_info *)dlsym( RTLD_DEFAULT, symName.getStr() ); - - if (rtti) - { -@@ -253,7 +255,7 @@ - //================================================================================================== - void raiseException( uno_Any * pUnoExc, uno_Mapping * pUno2Cpp ) - { --#if defined DEBUG -+#if OSL_DEBUG_LEVEL > 1 - OString cstr( - OUStringToOString( - *reinterpret_cast< OUString const * >( &pUnoExc->pType->pTypeName ), -@@ -275,7 +277,7 @@ - *reinterpret_cast< OUString const * >( &pUnoExc->pType->pTypeName ), - Reference< XInterface >() ); - } -- -+ - pCppExc = __cxa_allocate_exception( pTypeDescr->nSize ); - ::uno_copyAndConvertData( pCppExc, pUnoExc->pData, pTypeDescr, pUno2Cpp ); - -@@ -321,16 +323,16 @@ - Reference< XInterface >() ); - Type const & rType = ::getCppuType( &aRE ); - uno_type_any_constructAndConvert( pUnoExc, &aRE, rType.getTypeLibType(), pCpp2Uno ); --#if defined _DEBUG -+#if OSL_DEBUG_LEVEL > 0 - OString cstr( OUStringToOString( aRE.Message, RTL_TEXTENCODING_ASCII_US ) ); - OSL_ENSURE( 0, cstr.getStr() ); - #endif - return; - } -- -+ - typelib_TypeDescription * pExcTypeDescr = 0; - OUString unoName( toUNOname( header->exceptionType->name() ) ); --#if defined DEBUG -+#if OSL_DEBUG_LEVEL > 1 - OString cstr_unoName( OUStringToOString( unoName, RTL_TEXTENCODING_ASCII_US ) ); - fprintf( stderr, "> c++ exception occured: %s\n", cstr_unoName.getStr() ); - #endif -@@ -342,7 +344,7 @@ - Reference< XInterface >() ); - Type const & rType = ::getCppuType( &aRE ); - uno_type_any_constructAndConvert( pUnoExc, &aRE, rType.getTypeLibType(), pCpp2Uno ); --#if defined _DEBUG -+#if OSL_DEBUG_LEVEL > 0 - OString cstr( OUStringToOString( aRE.Message, RTL_TEXTENCODING_ASCII_US ) ); - OSL_ENSURE( 0, cstr.getStr() ); - #endif -Index: bridges/source/cpp_uno/gcc3_freebsd_intel/makefile.mk -=================================================================== -RCS file: /cvs/udk/bridges/source/cpp_uno/gcc3_freebsd_intel/makefile.mk,v -retrieving revision 1.2 -diff -u -r1.2 makefile.mk ---- bridges/source/cpp_uno/gcc3_freebsd_intel/makefile.mk 18 Mar 2003 19:06:52 -0000 1.2 -+++ bridges/source/cpp_uno/gcc3_freebsd_intel/makefile.mk 27 Dec 2004 06:05:52 -0000 -@@ -2,9 +2,9 @@ - # - # $RCSfile: makefile.mk,v $ - # --# $Revision: 1.2 $ -+# $Revision: 1.3 $ - # --# last change: $Author: hr $ $Date: 2003/03/18 19:06:52 $ -+# last change: $Author: hr $ $Date: 2004/02/03 12:37:41 $ - # - # The Contents of this file are made available subject to the terms of - # either of the following licenses -@@ -95,10 +95,8 @@ - SHL1IMPLIB=i$(TARGET) - SHL1VERSIONMAP=..$/..$/bridge_exports.map - --SHL1OBJS= \ -- $(SLO)$/except.obj \ -- $(SLO)$/cpp2uno.obj \ -- $(SLO)$/uno2cpp.obj -+SHL1OBJS = $(SLOFILES) -+SHL1LIBS = $(SLB)$/cpp_uno_shared.lib - - SHL1STDLIBS= \ - $(CPPULIB) \ -Index: bridges/source/cpp_uno/gcc3_freebsd_intel/share.hxx -=================================================================== -RCS file: /cvs/udk/bridges/source/cpp_uno/gcc3_freebsd_intel/share.hxx,v -retrieving revision 1.2 -diff -u -r1.2 share.hxx ---- bridges/source/cpp_uno/gcc3_freebsd_intel/share.hxx 18 Mar 2003 19:06:53 -0000 1.2 -+++ bridges/source/cpp_uno/gcc3_freebsd_intel/share.hxx 27 Dec 2004 06:05:52 -0000 -@@ -4,7 +4,7 @@ - * - * $Revision: 1.2 $ - * -- * last change: $Author: hr $ $Date: 2003/03/18 19:06:53 $ -+ * last change: $Author: hr $ $Date: 2004/02/03 12:38:19 $ - * - * The Contents of this file are made available subject to the terms of - * either of the following licenses -@@ -59,6 +59,8 @@ - * - ************************************************************************/ - -+#include "uno/mapping.h" -+ - #include <typeinfo> - #include <exception> - #include <cstddef> -@@ -66,6 +68,8 @@ - namespace CPPU_CURRENT_NAMESPACE - { - -+void dummy_can_throw_anything( char const * ); -+ - // ----- following decl from libstdc++-v3/libsupc++/unwind-cxx.h and unwind.h - - struct _Unwind_Exception -Index: bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx -=================================================================== -RCS file: /cvs/udk/bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx,v -retrieving revision 1.5 -diff -u -r1.5 uno2cpp.cxx ---- bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx 3 Nov 2004 09:03:15 -0000 1.5 -+++ bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx 27 Dec 2004 06:05:52 -0000 -@@ -2,9 +2,9 @@ - * - * $RCSfile: uno2cpp.cxx,v $ - * -- * $Revision: 1.5 $ -+ * $Revision: 1.7 $ - * -- * last change: $Author: pjunck $ $Date: 2004/11/03 09:03:15 $ -+ * last change: $Author: sb $ $Date: 2004/09/27 09:08:35 $ - * - * The Contents of this file are made available subject to the terms of - * either of the following licenses -@@ -59,24 +59,25 @@ - * - ************************************************************************/ - --#include <sal/alloca.h> --#include <rtl/alloc.h> -+#include <stdlib.h> - -+#include <com/sun/star/uno/genfunc.hxx> -+#include "com/sun/star/uno/RuntimeException.hpp" - #include <uno/data.h> --#include <bridges/cpp_uno/bridge.hxx> --#include <bridges/cpp_uno/type_misc.hxx> - --#include "share.hxx" -+#include "bridges/cpp_uno/shared/bridge.hxx" -+#include "bridges/cpp_uno/shared/types.hxx" -+#include "bridges/cpp_uno/shared/unointerfaceproxy.hxx" -+#include "bridges/cpp_uno/shared/vtables.hxx" - -+#include "share.hxx" - - using namespace ::rtl; - using namespace ::com::sun::star::uno; - --namespace CPPU_CURRENT_NAMESPACE -+namespace - { - --void dummy_can_throw_anything( char const * ); -- - //================================================================================================== - // The call instruction within the asm section of callVirtualMethod may throw - // exceptions. So that the compiler handles this correctly, it is important -@@ -85,7 +86,7 @@ - // callVirtualMethod is not inlined at its call site (so that any exceptions are - // caught which are thrown from the instruction calling callVirtualMethod): - void callVirtualMethod( -- void * pThis, -+ void * pAdjustedThisPtr, - sal_Int32 nVtableIndex, - void * pRegisterReturn, - typelib_TypeClass eReturnType, -@@ -93,7 +94,7 @@ - sal_Int32 nStackLongs ) __attribute__((noinline)); - - void callVirtualMethod( -- void * pThis, -+ void * pAdjustedThisPtr, - sal_Int32 nVtableIndex, - void * pRegisterReturn, - typelib_TypeClass eReturnType, -@@ -103,13 +104,13 @@ - // parameter list is mixed list of * and values - // reference parameters are pointers - -- OSL_ENSURE( pStackLongs && pThis, "### null ptr!" ); -+ OSL_ENSURE( pStackLongs && pAdjustedThisPtr, "### null ptr!" ); - OSL_ENSURE( (sizeof(void *) == 4) && (sizeof(sal_Int32) == 4), "### unexpected size of int!" ); - OSL_ENSURE( nStackLongs && pStackLongs, "### no stack in callVirtualMethod !" ); - - // never called -- if (! pThis) dummy_can_throw_anything("xxx"); // address something -- -+ if (! pAdjustedThisPtr) CPPU_CURRENT_NAMESPACE::dummy_can_throw_anything("xxx"); // address something -+ - volatile long edx = 0, eax = 0; // for register returns - void * stackptr; - asm volatile ( -@@ -139,8 +140,8 @@ - // cleanup stack - "mov %6, %%esp\n\t" - : -- : "m"(nStackLongs), "m"(pStackLongs), "m"(pThis), "m"(nVtableIndex), -- "m"(eax), "m"(edx), "m"(stackptr) -+ : "m"(nStackLongs), "m"(pStackLongs), "m"(pAdjustedThisPtr), -+ "m"(nVtableIndex), "m"(eax), "m"(edx), "m"(stackptr) - : "eax", "edx" ); - switch( eReturnType ) - { -@@ -172,8 +173,8 @@ - - //================================================================================================== - static void cpp_call( -- cppu_unoInterfaceProxy * pThis, -- sal_Int32 nVtableCall, -+ bridges::cpp_uno::shared::UnoInterfaceProxy * pThis, -+ bridges::cpp_uno::shared::VtableSlot aVtableSlot, - typelib_TypeDescriptionReference * pReturnTypeRef, - sal_Int32 nParams, typelib_MethodParameter * pParams, - void * pUnoReturn, void * pUnoArgs[], uno_Any ** ppUnoExc ) -@@ -192,21 +193,25 @@ - - if (pReturnTypeDescr) - { -- if (cppu_isSimpleType( pReturnTypeDescr )) -+ if (bridges::cpp_uno::shared::isSimpleType( pReturnTypeDescr )) - { - pCppReturn = pUnoReturn; // direct way for simple types - } - else - { - // complex return via ptr -- pCppReturn = *(void **)pCppStack = (cppu_relatesToInterface( pReturnTypeDescr ) -- ? alloca( pReturnTypeDescr->nSize ) -- : pUnoReturn); // direct way -+ pCppReturn = *(void **)pCppStack -+ = (bridges::cpp_uno::shared::relatesToInterfaceType( -+ pReturnTypeDescr ) -+ ? alloca( pReturnTypeDescr->nSize ) -+ : pUnoReturn); // direct way - pCppStack += sizeof(void *); - } - } - // push this -- *(void**)pCppStack = pThis->pCppI; -+ void * pAdjustedThisPtr = reinterpret_cast< void ** >(pThis->getCppI()) -+ + aVtableSlot.offset; -+ *(void**)pCppStack = pAdjustedThisPtr; - pCppStack += sizeof( void* ); - - // stack space -@@ -226,10 +231,11 @@ - typelib_TypeDescription * pParamTypeDescr = 0; - TYPELIB_DANGER_GET( &pParamTypeDescr, rParam.pTypeRef ); - -- if (!rParam.bOut && cppu_isSimpleType( pParamTypeDescr )) -+ if (!rParam.bOut -+ && bridges::cpp_uno::shared::isSimpleType( pParamTypeDescr )) - { - uno_copyAndConvertData( pCppArgs[nPos] = pCppStack, pUnoArgs[nPos], pParamTypeDescr, -- &pThis->pBridge->aUno2Cpp ); -+ pThis->getBridge()->getUno2Cpp() ); - - switch (pParamTypeDescr->eTypeClass) - { -@@ -254,11 +260,13 @@ - ppTempParamTypeDescr[nTempIndizes++] = pParamTypeDescr; - } - // is in/inout -- else if (cppu_relatesToInterface( pParamTypeDescr )) -+ else if (bridges::cpp_uno::shared::relatesToInterfaceType( -+ pParamTypeDescr )) - { - uno_copyAndConvertData( - *(void **)pCppStack = pCppArgs[nPos] = alloca( pParamTypeDescr->nSize ), -- pUnoArgs[nPos], pParamTypeDescr, &pThis->pBridge->aUno2Cpp ); -+ pUnoArgs[nPos], pParamTypeDescr, -+ pThis->getBridge()->getUno2Cpp() ); - - pTempIndizes[nTempIndizes] = nPos; // has to be reconverted - // will be released at reconversion -@@ -278,7 +286,7 @@ - { - OSL_ENSURE( !( (pCppStack - pCppStackStart ) & 3), "UNALIGNED STACK !!! (Please DO panic)" ); - callVirtualMethod( -- pThis->pCppI, nVtableCall, -+ pAdjustedThisPtr, aVtableSlot.index, - pCppReturn, pReturnTypeDescr->eTypeClass, - (sal_Int32 *)pCppStackStart, (pCppStack - pCppStackStart) / sizeof(sal_Int32) ); - // NO exception occured... -@@ -296,13 +304,13 @@ - { - uno_destructData( pUnoArgs[nIndex], pParamTypeDescr, 0 ); // destroy uno value - uno_copyAndConvertData( pUnoArgs[nIndex], pCppArgs[nIndex], pParamTypeDescr, -- &pThis->pBridge->aCpp2Uno ); -+ pThis->getBridge()->getCpp2Uno() ); - } - } - else // pure out - { - uno_copyAndConvertData( pUnoArgs[nIndex], pCppArgs[nIndex], pParamTypeDescr, -- &pThis->pBridge->aCpp2Uno ); -+ pThis->getBridge()->getCpp2Uno() ); - } - // destroy temp cpp param => cpp: every param was constructed - uno_destructData( pCppArgs[nIndex], pParamTypeDescr, cpp_release ); -@@ -313,14 +321,14 @@ - if (pCppReturn && pUnoReturn != pCppReturn) - { - uno_copyAndConvertData( pUnoReturn, pCppReturn, pReturnTypeDescr, -- &pThis->pBridge->aCpp2Uno ); -+ pThis->getBridge()->getCpp2Uno() ); - uno_destructData( pCppReturn, pReturnTypeDescr, cpp_release ); - } - } - catch (...) - { - // fill uno exception -- fillUnoException( __cxa_get_globals()->caughtExceptions, *ppUnoExc, &pThis->pBridge->aCpp2Uno ); -+ fillUnoException( CPPU_CURRENT_NAMESPACE::__cxa_get_globals()->caughtExceptions, *ppUnoExc, pThis->getBridge()->getCpp2Uno() ); - - // temporary params - for ( ; nTempIndizes--; ) -@@ -336,32 +344,32 @@ - } - } - -+} - - //================================================================================================== --void SAL_CALL cppu_unoInterfaceProxy_dispatch( -+void bridges::cpp_uno::shared::UnoInterfaceProxy::dispatch( - uno_Interface * pUnoI, const typelib_TypeDescription * pMemberDescr, -- void * pReturn, void * pArgs[], uno_Any ** ppException ) throw () -+ void * pReturn, void * pArgs[], uno_Any ** ppException ) SAL_THROW(()) - { - // is my surrogate -- cppu_unoInterfaceProxy * pThis = (cppu_unoInterfaceProxy *)pUnoI; -+ bridges::cpp_uno::shared::UnoInterfaceProxy * pThis -+ = static_cast< bridges::cpp_uno::shared::UnoInterfaceProxy * >(pUnoI); - typelib_InterfaceTypeDescription * pTypeDescr = pThis->pTypeDescr; - - switch (pMemberDescr->eTypeClass) - { - case typelib_TypeClass_INTERFACE_ATTRIBUTE: - { -- // determine vtable call index -- sal_Int32 nMemberPos = ((typelib_InterfaceMemberTypeDescription *)pMemberDescr)->nPosition; -- OSL_ENSURE( nMemberPos < pTypeDescr->nAllMembers, "### member pos out of range!" ); -- -- sal_Int32 nVtableCall = pTypeDescr->pMapMemberIndexToFunctionIndex[nMemberPos]; -- OSL_ENSURE( nVtableCall < pTypeDescr->nMapFunctionIndexToMemberIndex, "### illegal vtable index!" ); -- -+ VtableSlot aVtableSlot( -+ getVtableSlot( -+ reinterpret_cast< -+ typelib_InterfaceAttributeTypeDescription const * >( -+ pMemberDescr))); - if (pReturn) - { - // dependent dispatch - cpp_call( -- pThis, nVtableCall, -+ pThis, aVtableSlot, - ((typelib_InterfaceAttributeTypeDescription *)pMemberDescr)->pAttributeTypeRef, - 0, 0, // no params - pReturn, pArgs, ppException ); -@@ -381,8 +389,9 @@ - &pReturnTypeRef, typelib_TypeClass_VOID, aVoidName.pData ); - - // dependent dispatch -+ aVtableSlot.index += 1; // get, then set method - cpp_call( -- pThis, nVtableCall +1, // get, then set method -+ pThis, aVtableSlot, - pReturnTypeRef, - 1, &aParam, - pReturn, pArgs, ppException ); -@@ -394,14 +403,12 @@ - } - case typelib_TypeClass_INTERFACE_METHOD: - { -- // determine vtable call index -- sal_Int32 nMemberPos = ((typelib_InterfaceMemberTypeDescription *)pMemberDescr)->nPosition; -- OSL_ENSURE( nMemberPos < pTypeDescr->nAllMembers, "### member pos out of range!" ); -- -- sal_Int32 nVtableCall = pTypeDescr->pMapMemberIndexToFunctionIndex[nMemberPos]; -- OSL_ENSURE( nVtableCall < pTypeDescr->nMapFunctionIndexToMemberIndex, "### illegal vtable index!" ); -- -- switch (nVtableCall) -+ VtableSlot aVtableSlot( -+ getVtableSlot( -+ reinterpret_cast< -+ typelib_InterfaceMethodTypeDescription const * >( -+ pMemberDescr))); -+ switch (aVtableSlot.index) - { - // standard calls - case 1: // acquire uno interface -@@ -419,8 +426,8 @@ - if (pTD) - { - uno_Interface * pInterface = 0; -- (*pThis->pBridge->pUnoEnv->getRegisteredInterface)( -- pThis->pBridge->pUnoEnv, -+ (*pThis->pBridge->getUnoEnv()->getRegisteredInterface)( -+ pThis->pBridge->getUnoEnv(), - (void **)&pInterface, pThis->oid.pData, (typelib_InterfaceTypeDescription *)pTD ); - - if (pInterface) -@@ -439,7 +446,7 @@ - default: - // dependent dispatch - cpp_call( -- pThis, nVtableCall, -+ pThis, aVtableSlot, - ((typelib_InterfaceMethodTypeDescription *)pMemberDescr)->pReturnTypeRef, - ((typelib_InterfaceMethodTypeDescription *)pMemberDescr)->nParams, - ((typelib_InterfaceMethodTypeDescription *)pMemberDescr)->pParams, -@@ -459,6 +466,3 @@ - } - } - } -- --} -- diff --git a/editors/openoffice.org-2.0/files/patch-project-extentions b/editors/openoffice.org-2.0/files/patch-project-extentions deleted file mode 100644 index a8b9d7ee9416..000000000000 --- a/editors/openoffice.org-2.0/files/patch-project-extentions +++ /dev/null @@ -1,65 +0,0 @@ -#iZ and CWS -o http://www.openoffice.org/issues/show_bug.cgi?id=40179 -o http://eis.services.openoffice.org/EIS2/servlet/cws.ShowCWS?Id=2030&Path=SRC680%2Fpj16 -o pj16 - -Description - -o source/config/ldap/makefile.mk needs -lcompat since re_comp is defined here. -o FreeBSD doesn't have -ldl -o INC+= -DNP_LINUX is also requried for FreeBSD - -Index: source/config/ldap/makefile.mk -=================================================================== -RCS file: /cvs/util/extensions/source/config/ldap/makefile.mk,v -retrieving revision 1.4 -diff -u -r1.4 makefile.mk ---- extensions/source/config/ldap/makefile.mk 15 Nov 2004 14:14:22 -0000 1.4 -+++ extensions/source/config/ldap/makefile.mk 8 Jan 2005 02:48:29 -0000 -@@ -116,6 +116,9 @@ - $(CPPULIB) \ - $(SALHELPERLIB) \ - $(SALLIB) -+.IF "$(OS)"=="FREEBSD" -+SHL1STDLIBS+=-lcompat -+.ENDIF - - DEF1NAME=$(SHL1TARGET) - DEF1EXPORTFILE=exports.dxp -Index: source/nsplugin/source/makefile.mk -=================================================================== -RCS file: /cvs/util/extensions/source/nsplugin/source/makefile.mk,v -retrieving revision 1.8 -diff -u -r1.8 makefile.mk ---- extensions/source/nsplugin/source/makefile.mk 3 Jan 2005 09:04:51 -0000 1.8 -+++ extensions/source/nsplugin/source/makefile.mk 8 Jan 2005 02:48:30 -0000 -@@ -78,7 +78,7 @@ - @echo GTK disabled - nothing to build - - .ELSE # "$(ENABLE_GTK)"=="" --.IF "$(OS)"=="LINUX" -+.IF "$(OS)"=="LINUX" || "$(OS)"=="FREEBSD" - INC+= -DNP_LINUX - .ENDIF - PKGCONFIG_MODULES=gtk+-2.0 -@@ -99,8 +99,10 @@ - .IF "$(GUI)"=="UNX" - SHL1OBJS+=$(SLO)$/npunix.obj - SLOFILES+=$(SLO)$/npunix.obj -+.IF "$(OS)"!="FREEBSD" - SHL1STDLIBS+= -ldl -lnsl --.ENDIF -+.ENDIF #FREEBSD -+.ENDIF #UNX - .IF "$(GUI)"=="WNT" - SHL1OBJS+=$(SLO)$/npwin.obj - SLOFILES+=$(SLO)$/npwin.obj -@@ -131,7 +133,7 @@ - - .IF "$(GUI)"=="UNX" - APP1STDLIBS+=$(PKGCONFIG_LIBS:s/-lpangoxft-1.0//) --.IF "$(OS)"=="LINUX" -+.IF "$(OS)"=="LINUX" || "$(OS)"=="FREEBSD" - .ELSE - APP1STDLIBS+= -ldl -lnsl -lnls -lsocket - .ENDIF diff --git a/editors/openoffice.org-2.0/files/patch-solenv+inc+unxfbsdi.mk b/editors/openoffice.org-2.0/files/patch-solenv+inc+unxfbsdi.mk deleted file mode 100644 index f3f55df061d4..000000000000 --- a/editors/openoffice.org-2.0/files/patch-solenv+inc+unxfbsdi.mk +++ /dev/null @@ -1,262 +0,0 @@ -#iZ and CWS -o http://www.openoffice.org/issues/show_bug.cgi?id=40182 - -Description -o catch up recent unxlngi6.mk -o -Wl,-z,defs -> comment out - -Index: solenv/inc/unxfbsdi.mk -=================================================================== -RCS file: /cvs/tools/solenv/inc/unxfbsdi.mk,v -retrieving revision 1.11 -diff -u -r1.11 unxfbsdi.mk ---- solenv/inc/unxfbsdi.mk 20 Sep 2004 08:37:13 -0000 1.11 -+++ solenv/inc/unxfbsdi.mk 10 Jan 2005 07:44:44 -0000 -@@ -60,16 +60,26 @@ - # - #************************************************************************* - --# mak file for unxfbsdi --ASM=$(CC) --AFLAGS=-x assembler-with-cpp -c $(CDEFS) -+# mk file for unxfbsdi -+ASM= -+AFLAGS= -+ -+SOLAR_JAVA*=TRUE -+JAVAFLAGSDEBUG=-g - - # filter for supressing verbose messages from linker - #not needed at the moment - #LINKOUTPUT_FILTER=" |& $(SOLARENV)$/bin$/msg_filter" - -+# _PTHREADS is needed for the stl -+CDEFS+=$(PTHREAD_CFLAGS) -DX86 -D_PTHREADS -D_REENTRANT -DNEW_SOLAR -D_USE_NAMESPACE=1 -DSTLPORT_VERSION=400 -+ -+# enable visibility define in "sal/types.h" -+.IF "$(HAVE_GCC_VISIBILITY_FEATURE)" == "TRUE" -+CDEFS += -DHAVE_GCC_VISIBILITY_FEATURE -+.ENDIF # "$(HAVE_GCC_VISIBILITY_FEATURE)" == "TRUE" -+ - # this is a platform with JAVA support --SOLAR_JAVA*=TRUE - .IF "$(SOLAR_JAVA)"!="" - JAVADEF=-DSOLAR_JAVA - .IF "$(debug)"=="" -@@ -83,90 +93,82 @@ - CXX*=g++ - # name of C Compiler - CC*=gcc -+.IF "$(SYSBASE)"!="" -+CFLAGS_SYSBASE:=-isystem $(SYSBASE)$/usr$/include -+CXX+:=$(CFLAGS_SYSBASE) -+CC+:=$(CFLAGS_SYSBASE) -+.ENDIF # "$(SYSBASE)"!="" -+CFLAGS+=-Wreturn-type -fmessage-length=0 -c $(INCLUDE) -+.IF "$(PRODUCT)"!="" -+CFLAGS+=-Wuninitialized -+.ENDIF - --# filter for supressing verbose messages from linker --# not needed at the moment --LINKOUTPUT_FILTER=" |& $(SOLARENV)$/bin$/msg_filter" -+# flags to enable build with symbols; required for crashdump feature -+.IF "$(ENABLE_SYMBOLS)"=="SMALL" -+CFLAGSENABLESYMBOLS=-g1 -+.ELSE -+CFLAGSENABLESYMBOLS=-g # was temporarily commented out, reenabled before Beta - --# options for C and C++ Compiler --CDEFS+= -D_USE_NAMESPACE=1 -DX86 -DNEW_SOLAR -DSTLPORT_VERSION=450 -DOSVERSION=$(OSVERSION) --CDEFS+= $(PTHREAD_CFLAGS) -D_REENTRANT -- --# flags for C and C++ Compile --CFLAGS+= -w -c $(INCLUDE) --CFLAGS+= -I/usr/X11R6/include -+.ENDIF - - # flags for the C++ Compiler --CFLAGSCC= -pipe -fno-rtti --CFLAGSCXX= -pipe -fno-rtti --CFLAGSCXX+= -Wno-ctor-dtor-privacy -- -+CFLAGSCC= -pipe -mtune=pentiumpro - # Flags for enabling exception handling --CFLAGSEXCEPTIONS= -fexceptions --CFLAGS_NO_EXCEPTIONS= -fno-exceptions -- --# Compiler flags for compiling static object in single threaded --# environment with graphical user interface --CFLAGSOBJGUIST= -fPIC -- --# Compiler flags for compiling static object in single threaded --# environment with character user interface --CFLAGSOBJCUIST= -fPIC -- --# Compiler flags for compiling static object in multi threaded --# environment with graphical user interface --CFLAGSOBJGUIMT= -fPIC -- --# Compiler flags for compiling static object in multi threaded --# environment with character user interface --CFLAGSOBJCUIMT= -fPIC -- --# Compiler flags for compiling shared object in multi threaded --# environment with graphical user interface --CFLAGSSLOGUIMT= -fPIC -- --# Compiler flags for compiling shared object in multi threaded --# environment with character user interface --CFLAGSSLOCUIMT= -fPIC -+CFLAGSEXCEPTIONS=-fexceptions -fno-enforce-eh-specs -+# Flags for disabling exception handling -+CFLAGS_NO_EXCEPTIONS=-fno-exceptions - --# Compiler flags for profilin --CFLAGSPROF= -pg -+# -fpermissive should be removed as soon as possible -+CFLAGSCXX= -pipe -mtune=pentiumpro -+CFLAGSCXX+= -Wno-ctor-dtor-privacy - -+# Compiler flags for compiling static object in single threaded environment with graphical user interface -+CFLAGSOBJGUIST= -+# Compiler flags for compiling static object in single threaded environment with character user interface -+CFLAGSOBJCUIST= -+# Compiler flags for compiling static object in multi threaded environment with graphical user interface -+CFLAGSOBJGUIMT= -+# Compiler flags for compiling static object in multi threaded environment with character user interface -+CFLAGSOBJCUIMT= -+# Compiler flags for compiling shared object in multi threaded environment with graphical user interface -+CFLAGSSLOGUIMT=-fPIC -+# Compiler flags for compiling shared object in multi threaded environment with character user interface -+CFLAGSSLOCUIMT=-fPIC -+# Compiler flags for profiling -+CFLAGSPROF= - # Compiler flags for debugging --CFLAGSDEBUG= -g -+CFLAGSDEBUG=-g - CFLAGSDBGUTIL= -- --# Compiler flags to enable optimizations --# -02 is broken for FreeBSD --CFLAGSOPT= -O -- --# Compiler flags to disable optimizations --# -0 is broken for STLport for FreeBSD --CFLAGSNOOPT= -O0 -- --# Compiler flags for the output path --CFLAGSOUTOBJ= -o -- -+# Compiler flags for enabling optimazations -+.IF "$(PRODUCT)"!="" -+CFLAGSOPT=-Os -fno-strict-aliasing # optimizing for products -+.ELSE # "$(PRODUCT)"!="" -+CFLAGSOPT= # no optimizing for non products -+.ENDIF # "$(PRODUCT)"!="" -+# Compiler flags for disabling optimazations -+CFLAGSNOOPT=-O0 -+# Compiler flags for discibing the output path -+CFLAGSOUTOBJ=-o - # Enable all warnings - CFLAGSWALL=-Wall -- - # Set default warn level --CFLAGSDFLTWARN=-w -+CFLAGSDFLTWARN= - - # switches for dynamic and static linking --STATIC= -Wl,-Bstatic --DYNAMIC= -Wl,-Bdynamic -+STATIC = -Wl,-Bstatic -+DYNAMIC = -Wl,-Bdynamic - - # name of linker --LINK=$(CC) -+LINK*=$(CXX) - - # default linker flags --# LINKFLAGSRUNPATH*=-Wl,-rpath\''$$ORIGIN'\' --LINKFLAGS=$(LINKFLAGSRUNPATH) -+LINKFLAGSDEFS*=#-Wl,-z,defs -+LINKFLAGSRUNPATH*=-Wl,-rpath,\''$$ORIGIN'\' -+LINKFLAGS=-z combreloc $(LINKFLAGSDEFS) $(LINKFLAGSRUNPATH) - - # linker flags for linking applications --LINKFLAGSAPPGUI= -Wl,--noinhibit-exec --LINKFLAGSAPPCUI= -Wl,--noinhibit-exec -+LINKFLAGSAPPGUI= -Wl,-export-dynamic -Wl,--noinhibit-exec -+LINKFLAGSAPPCUI= -Wl,-export-dynamic -Wl,--noinhibit-exec - - # linker flags for linking shared libraries - LINKFLAGSSHLGUI= -shared -@@ -177,23 +179,19 @@ - LINKFLAGSDEBUG=-g - LINKFLAGSOPT= - --.IF "$(NO_BSYMBOLIC)"=="" --.IF "$(PRJNAME)" != "envtest" --LINKFLAGSSHLGUI+= -Wl,-Bsymbolic --LINKFLAGSSHLCUI+= -Wl,-Bsymbolic --.ENDIF --.ENDIF -+# linker flags for optimization (symbol hashtable) -+# for now, applied to symbol scoped libraries, only -+LINKFLAGSOPTIMIZE*=-Wl,-O1 -+LINKVERSIONMAPFLAG=$(LINKFLAGSOPTIMIZE) -Wl,--version-script - --LINKVERSIONMAPFLAG=-Wl,--version-script -+SONAME_SWITCH=-Wl,-h - - # Sequence of libs does matter ! --STDLIBCPP=-lstdc++ - --# _SYSLIBS= -L/usr/lib -lm --# _X11LIBS= -L/usr/X11R6/lib -lXext -lX11 --# _CXXLIBS= -L/usr/lib -lstdc++ -L/usr/local/lib -+STDLIBCPP=-lstdc++ - - # default objectfilenames to link -+STDOBJVCL=$(L)$/salmain.o - STDOBJGUI= - STDSLOGUI= - STDOBJCUI= -@@ -201,24 +199,25 @@ - - # libraries for linking applications - STDLIBCUIST=-lm --STDLIBGUIST=-lXaw -lXt -lX11 -lm --STDLIBGUIMT=-lXaw -lXt -lX11 $(PTHREAD_LIBS) -lm -+STDLIBGUIMT=-lX11 $(PTHREAD_LIBS) -lm - STDLIBCUIMT=$(PTHREAD_LIBS) -lm -- -+STDLIBGUIST=-lX11 -lm - # libraries for linking shared libraries --STDSHLGUIMT=-lXaw -lXt -lX11 -lXext $(PTHREAD_LIBS) -lm -+STDSHLGUIMT=-lX11 -lXext $(PTHREAD_LIBS) -lm - STDSHLCUIMT=$(PTHREAD_LIBS) -lm -+STDSHLGUIST=-lX11 -lXext -lm -+STDSHLCUIST=-lm - - LIBSALCPPRT*=-Wl,--whole-archive -lsalcpprt -Wl,--no-whole-archive - --# STLport always needs pthread. --LIBSTLPORT=$(DYNAMIC) -lstlport_gcc $(STDLIBCPP) $(PTHREAD_LIBS) --LIBSTLPORTST=$(STATIC) -lstlport_gcc $(DYNAMIC) $(PTHREAD_LIBS) -+LIBSTLPORT=$(DYNAMIC) -lstlport_gcc -+LIBSTLPORTST=$(STATIC) -lstlport_gcc $(DYNAMIC) -+ -+#FILLUPARC=$(STATIC) -lsupc++ $(DYNAMIC) - - # name of library manager - LIBMGR=ar - LIBFLAGS=-r --LIBEXT= .a - - # tool for generating import libraries - IMPLIB= -@@ -237,3 +236,4 @@ - DLLPOSTFIX=fi - DLLPRE=lib - DLLPOST=.so -+ diff --git a/editors/openoffice.org-2.0/files/patch-transex3+source+xmlparse.cxx b/editors/openoffice.org-2.0/files/patch-transex3+source+xmlparse.cxx deleted file mode 100644 index de1864d5e9cb..000000000000 --- a/editors/openoffice.org-2.0/files/patch-transex3+source+xmlparse.cxx +++ /dev/null @@ -1,24 +0,0 @@ -#iZ and CWS -o http://www.openoffice.org/issues/show_bug.cgi?id=40184 -o http://eis.services.openoffice.org/EIS2/servlet/cws.ShowCWS?Id=2030&Path=SRC680%2Fpj16 -o pj16 - -Description -FreeBSD doesn't have alloca.h - -Index: source/xmlparse.cxx -=================================================================== -RCS file: /cvs/l10n/transex3/source/xmlparse.cxx,v -retrieving revision 1.5 -diff -u -r1.5 xmlparse.cxx ---- transex3/source/xmlparse.cxx 18 Nov 2004 08:17:50 -0000 1.5 -+++ transex3/source/xmlparse.cxx 8 Jan 2005 02:56:14 -0000 -@@ -67,7 +67,7 @@ - #ifdef WIN32 - #include <malloc.h> - #else --#ifndef MACOSX -+#if !(defined(MACOSX) || defined(FREEBSD)) - #include <alloca.h> - #endif - #endif diff --git a/editors/openoffice.org-2/Makefile b/editors/openoffice.org-2/Makefile index c563bd2c2beb..e6be311f3b31 100644 --- a/editors/openoffice.org-2/Makefile +++ b/editors/openoffice.org-2/Makefile @@ -19,7 +19,7 @@ EXTRACT_ONLY= OOo_${RELEASE_NR}m${MILESTONE}_source.tar.bz2 MAINTAINER= openoffice@FreeBSD.org COMMENT?= Integrated wordprocessor/dbase/spreadheet/drawing/chart/browser(developer version) -SNAPDATE= 20050119 +SNAPDATE= 20050123 NO_LATEST_LINK= yes USE_GNOME= gtk20 MOZILLA_PROJECT= cws_srx645_mozooo.20041016.tar.gz @@ -49,7 +49,7 @@ BROKEN= "rtld depends on _end symbol. type make -DBROKEN to see how to upgrade CODELINE= 680 RELEASE_NR= 1.9 -MILESTONE= 72 +MILESTONE= 73 INSTALLATION_BASEDIR= openoffice.org${RELEASE_NR}m${MILESTONE} EXECBASE= openoffice.org-${RELEASE_NR}m${MILESTONE} DIST_SUBDIR= openoffice.org2.0 diff --git a/editors/openoffice.org-2/distinfo b/editors/openoffice.org-2/distinfo index 8b7774bf8f23..c9e7f5358b88 100644 --- a/editors/openoffice.org-2/distinfo +++ b/editors/openoffice.org-2/distinfo @@ -1,5 +1,5 @@ -MD5 (openoffice.org2.0/OOo_1.9m72_source.tar.bz2) = c51fa9d749f1e5eb3733d50b91f97fe8 -SIZE (openoffice.org2.0/OOo_1.9m72_source.tar.bz2) = 233690890 +MD5 (openoffice.org2.0/OOo_1.9m73_source.tar.bz2) = 0885bb45bd204b03b16f8276cbd922e0 +SIZE (openoffice.org2.0/OOo_1.9m73_source.tar.bz2) = 233756500 MD5 (openoffice.org2.0/gpc231.tar.Z) = fdb06fdb5a4670b172f9fb738b717be9 SIZE (openoffice.org2.0/gpc231.tar.Z) = 27917 MD5 (openoffice.org2.0/cws_srx645_mozooo.20041016.tar.gz) = eda0ab73b24c45890ae08bdfe04049bd diff --git a/editors/openoffice.org-2/files/Makefile.knobs b/editors/openoffice.org-2/files/Makefile.knobs index 5b9c07e3afce..0afc3acadf7e 100644 --- a/editors/openoffice.org-2/files/Makefile.knobs +++ b/editors/openoffice.org-2/files/Makefile.knobs @@ -19,7 +19,7 @@ CONFIGURE_ARGS+= --enable-cups .if defined(ALL_LOCALIZED_LANGS) CONFIGURE_ARGS+= --with-lang="en-US ar ca cs da de el es et fi fr he hi-IN hu it ja ko pl pt pt-BR ru sk sl sv th tr zh-CN zh-TW" -#following langs still seem to be under development +#following langs still seem to be under development #af bg cy eo eu gl kn-IN lt nb nl nn ns tn zu #CONFIGURE_ARGS+= --with-lang=ALL .else diff --git a/editors/openoffice.org-2/files/patch-config_office+set_soenv.in b/editors/openoffice.org-2/files/patch-config_office+set_soenv.in deleted file mode 100644 index 9b2a97774dc1..000000000000 --- a/editors/openoffice.org-2/files/patch-config_office+set_soenv.in +++ /dev/null @@ -1,25 +0,0 @@ -#iZ and CWS -o http://www.openoffice.org/issues/show_bug.cgi?id=37731 -o http://eis.services.openoffice.org/EIS2/servlet/cws.ShowCWS?Id=2030&Path=SRC680%2Fpj16 -o pj16 - -Description -Do not export LINK to environment - -Index: config_office/set_soenv.in -=================================================================== -RCS file: /cvs/tools/config_office/set_soenv.in,v -retrieving revision 1.31 -diff -u -r1.31 set_soenv.in ---- config_office/set_soenv.in 5 Jan 2005 12:10:00 -0000 1.31 -+++ config_office/set_soenv.in 9 Jan 2005 18:51:24 -0000 -@@ -1684,9 +1684,6 @@ - ToFile( "CC", $CC, "e" ); - ToFile( "CXX", $CXX, "e" ); - ToFile( "USE_SYSTEM_STL", "@USE_SYSTEM_STL@", "e" ); --if ( $COM ne "MSC" ) { -- ToFile( "LINK", $CC, "e" ); --} - ToFile( "ENABLE_SYMBOLS", "@ENABLE_SYMBOLS@", "e" ); - ToFile( "ENABLE_CRASHDUMP", "@ENABLE_CRASHDUMP@", "e" ); - ToFile( "ENABLE_CUPS", "@ENABLE_CUPS@", "e" ); diff --git a/editors/openoffice.org-2/files/patch-project-bridges b/editors/openoffice.org-2/files/patch-project-bridges deleted file mode 100644 index 890cab171898..000000000000 --- a/editors/openoffice.org-2/files/patch-project-bridges +++ /dev/null @@ -1,1004 +0,0 @@ -#iZ and CWS -o http://www.openoffice.org/issues/show_bug.cgi?id=40178 - -Description -catch up recent version of -bridges/source/cpp_uno/gcc3_linux_intel/cpp2uno.cxx -Only difference is: -- rtti = (type_info *)dlsym( m_hApp, symName.getStr() ); -+ rtti = (type_info *)dlsym( RTLD_DEFAULT, symName.getStr() ); -#iZ 22253 for reason why we changed m_hApp to RTLD_DEFAULT - -Index: bridges/source/cpp_uno/gcc3_freebsd_intel/cpp2uno.cxx -=================================================================== -RCS file: /cvs/udk/bridges/source/cpp_uno/gcc3_freebsd_intel/cpp2uno.cxx,v -retrieving revision 1.3 -diff -u -r1.3 cpp2uno.cxx ---- bridges/source/cpp_uno/gcc3_freebsd_intel/cpp2uno.cxx 28 Apr 2003 16:28:20 -0000 1.3 -+++ bridges/source/cpp_uno/gcc3_freebsd_intel/cpp2uno.cxx 27 Dec 2004 06:05:52 -0000 -@@ -2,9 +2,9 @@ - * - * $RCSfile: cpp2uno.cxx,v $ - * -- * $Revision: 1.3 $ -+ * $Revision: 1.6 $ - * -- * last change: $Author: hr $ $Date: 2003/04/28 16:28:20 $ -+ * last change: $Author: obo $ $Date: 2004/06/04 02:59:45 $ - * - * The Contents of this file are made available subject to the terms of - * either of the following licenses -@@ -59,34 +59,26 @@ - * - ************************************************************************/ - --#include <hash_map> -- --#include <sal/alloca.h> --#include <rtl/alloc.h> --#include <osl/mutex.hxx> -- -+#include <com/sun/star/uno/genfunc.hxx> -+#include "com/sun/star/uno/RuntimeException.hpp" - #include <uno/data.h> - #include <typelib/typedescription.hxx> - --#include <bridges/cpp_uno/bridge.hxx> --#include <bridges/cpp_uno/type_misc.hxx> -+#include "bridges/cpp_uno/shared/bridge.hxx" -+#include "bridges/cpp_uno/shared/cppinterfaceproxy.hxx" -+#include "bridges/cpp_uno/shared/types.hxx" -+#include "bridges/cpp_uno/shared/vtablefactory.hxx" - - #include "share.hxx" - -- --using namespace ::osl; --using namespace ::rtl; - using namespace ::com::sun::star::uno; - --namespace CPPU_CURRENT_NAMESPACE -+namespace - { - - //================================================================================================== --rtl_StandardModuleCount g_moduleCount = MODULE_COUNT_INIT; -- --//================================================================================================== - static typelib_TypeClass cpp2uno_call( -- cppu_cppInterfaceProxy * pThis, -+ bridges::cpp_uno::shared::CppInterfaceProxy * pThis, - const typelib_TypeDescription * pMemberTypeDescr, - typelib_TypeDescriptionReference * pReturnTypeRef, // 0 indicates void return - sal_Int32 nParams, typelib_MethodParameter * pParams, -@@ -106,7 +98,7 @@ - - if (pReturnTypeDescr) - { -- if (cppu_isSimpleType( pReturnTypeDescr )) -+ if (bridges::cpp_uno::shared::isSimpleType( pReturnTypeDescr )) - { - pUnoReturn = pRegisterReturn; // direct way for simple types - } -@@ -115,7 +107,8 @@ - pCppReturn = *(void **)pCppStack; - pCppStack += sizeof(void *); - -- pUnoReturn = (cppu_relatesToInterface( pReturnTypeDescr ) -+ pUnoReturn = (bridges::cpp_uno::shared::relatesToInterfaceType( -+ pReturnTypeDescr ) - ? alloca( pReturnTypeDescr->nSize ) - : pCppReturn); // direct way - } -@@ -141,7 +134,9 @@ - typelib_TypeDescription * pParamTypeDescr = 0; - TYPELIB_DANGER_GET( &pParamTypeDescr, rParam.pTypeRef ); - -- if (!rParam.bOut && cppu_isSimpleType( pParamTypeDescr )) // value -+ if (!rParam.bOut -+ && bridges::cpp_uno::shared::isSimpleType( pParamTypeDescr )) -+ // value - { - pCppArgs[nPos] = pCppStack; - pUnoArgs[nPos] = pCppStack; -@@ -168,11 +163,12 @@ - ppTempParamTypeDescr[nTempIndizes++] = pParamTypeDescr; - } - // is in/inout -- else if (cppu_relatesToInterface( pParamTypeDescr )) -+ else if (bridges::cpp_uno::shared::relatesToInterfaceType( -+ pParamTypeDescr )) - { - uno_copyAndConvertData( pUnoArgs[nPos] = alloca( pParamTypeDescr->nSize ), - *(void **)pCppStack, pParamTypeDescr, -- &pThis->pBridge->aCpp2Uno ); -+ pThis->getBridge()->getCpp2Uno() ); - pTempIndizes[nTempIndizes] = nPos; // has to be reconverted - // will be released at reconversion - ppTempParamTypeDescr[nTempIndizes++] = pParamTypeDescr; -@@ -192,7 +188,8 @@ - uno_Any * pUnoExc = &aUnoExc; - - // invoke uno dispatch call -- (*pThis->pUnoI->pDispatcher)( pThis->pUnoI, pMemberTypeDescr, pUnoReturn, pUnoArgs, &pUnoExc ); -+ (*pThis->getUnoI()->pDispatcher)( -+ pThis->getUnoI(), pMemberTypeDescr, pUnoReturn, pUnoArgs, &pUnoExc ); - - // in case an exception occured... - if (pUnoExc) -@@ -209,7 +206,9 @@ - if (pReturnTypeDescr) - TYPELIB_DANGER_RELEASE( pReturnTypeDescr ); - -- raiseException( &aUnoExc, &pThis->pBridge->aUno2Cpp ); // has to destruct the any -+ CPPU_CURRENT_NAMESPACE::raiseException( -+ &aUnoExc, pThis->getBridge()->getUno2Cpp() ); -+ // has to destruct the any - // is here for dummy - return typelib_TypeClass_VOID; - } -@@ -226,7 +225,7 @@ - // convert and assign - uno_destructData( pCppArgs[nIndex], pParamTypeDescr, cpp_release ); - uno_copyAndConvertData( pCppArgs[nIndex], pUnoArgs[nIndex], pParamTypeDescr, -- &pThis->pBridge->aUno2Cpp ); -+ pThis->getBridge()->getUno2Cpp() ); - } - // destroy temp uno param - uno_destructData( pUnoArgs[nIndex], pParamTypeDescr, 0 ); -@@ -239,7 +238,7 @@ - if (pUnoReturn != pCppReturn) // needs reconversion - { - uno_copyAndConvertData( pCppReturn, pUnoReturn, pReturnTypeDescr, -- &pThis->pBridge->aUno2Cpp ); -+ pThis->getBridge()->getUno2Cpp() ); - // destroy temp uno return - uno_destructData( pUnoReturn, pReturnTypeDescr, 0 ); - } -@@ -260,38 +259,41 @@ - - //================================================================================================== - static typelib_TypeClass cpp_mediate( -- sal_Int32 nVtableCall, -+ sal_Int32 nFunctionIndex, -+ sal_Int32 nVtableOffset, - void ** pCallStack, - sal_Int64 * pRegisterReturn /* space for register return */ ) - { - OSL_ENSURE( sizeof(sal_Int32)==sizeof(void *), "### unexpected!" ); - - // pCallStack: ret adr, [ret *], this, params -- // _this_ ptr is patched cppu_XInterfaceProxy object -- cppu_cppInterfaceProxy * pCppI = NULL; -- if( nVtableCall & 0x80000000 ) -+ void * pThis; -+ if( nFunctionIndex & 0x80000000 ) - { -- nVtableCall &= 0x7fffffff; -- pCppI = (cppu_cppInterfaceProxy *)(XInterface *)*(pCallStack +2); -+ nFunctionIndex &= 0x7fffffff; -+ pThis = pCallStack[2]; - } - else - { -- pCppI = (cppu_cppInterfaceProxy *)(XInterface *)*(pCallStack +1); -+ pThis = pCallStack[1]; - } -+ pThis = static_cast< char * >(pThis) - nVtableOffset; -+ bridges::cpp_uno::shared::CppInterfaceProxy * pCppI -+ = bridges::cpp_uno::shared::CppInterfaceProxy::castInterfaceToProxy( -+ pThis); - -- typelib_InterfaceTypeDescription * pTypeDescr = pCppI->pTypeDescr; -+ typelib_InterfaceTypeDescription * pTypeDescr = pCppI->getTypeDescr(); - -- OSL_ENSURE( nVtableCall < pTypeDescr->nMapFunctionIndexToMemberIndex, "### illegal vtable index!" ); -- if (nVtableCall >= pTypeDescr->nMapFunctionIndexToMemberIndex) -+ OSL_ENSURE( nFunctionIndex < pTypeDescr->nMapFunctionIndexToMemberIndex, "### illegal vtable index!" ); -+ if (nFunctionIndex >= pTypeDescr->nMapFunctionIndexToMemberIndex) - { - throw RuntimeException( -- OUString::createFromAscii("illegal vtable index!"), -- (XInterface *)pCppI ); -+ rtl::OUString::createFromAscii("illegal vtable index!"), -+ (XInterface *)pThis ); - } - - // determine called method -- OSL_ENSURE( nVtableCall < pTypeDescr->nMapFunctionIndexToMemberIndex, "### illegal vtable index!" ); -- sal_Int32 nMemberPos = pTypeDescr->pMapFunctionIndexToMemberIndex[nVtableCall]; -+ sal_Int32 nMemberPos = pTypeDescr->pMapFunctionIndexToMemberIndex[nFunctionIndex]; - OSL_ENSURE( nMemberPos < pTypeDescr->nAllMembers, "### illegal member index!" ); - - TypeDescription aMemberDescr( pTypeDescr->ppAllMembers[nMemberPos] ); -@@ -301,7 +303,7 @@ - { - case typelib_TypeClass_INTERFACE_ATTRIBUTE: - { -- if (pTypeDescr->pMapMemberIndexToFunctionIndex[nMemberPos] == nVtableCall) -+ if (pTypeDescr->pMapMemberIndexToFunctionIndex[nMemberPos] == nFunctionIndex) - { - // is GET method - eRet = cpp2uno_call( -@@ -330,7 +332,7 @@ - case typelib_TypeClass_INTERFACE_METHOD: - { - // is METHOD -- switch (nVtableCall) -+ switch (nFunctionIndex) - { - case 1: // acquire() - pCppI->acquireProxy(); // non virtual call! -@@ -347,9 +349,10 @@ - if (pTD) - { - XInterface * pInterface = 0; -- (*pCppI->pBridge->pCppEnv->getRegisteredInterface)( -- pCppI->pBridge->pCppEnv, -- (void **)&pInterface, pCppI->oid.pData, (typelib_InterfaceTypeDescription *)pTD ); -+ (*pCppI->getBridge()->getCppEnv()->getRegisteredInterface)( -+ pCppI->getBridge()->getCppEnv(), -+ (void **)&pInterface, pCppI->getOid().pData, -+ (typelib_InterfaceTypeDescription *)pTD ); - - if (pInterface) - { -@@ -378,8 +381,8 @@ - default: - { - throw RuntimeException( -- OUString::createFromAscii("no member description found!"), -- (XInterface *)pCppI ); -+ rtl::OUString::createFromAscii("no member description found!"), -+ (XInterface *)pThis ); - // is here for dummy - eRet = typelib_TypeClass_VOID; - } -@@ -393,12 +396,15 @@ - * is called on incoming vtable calls - * (called by asm snippets) - */ --static void cpp_vtable_call( int nTableEntry, void** pCallStack ) __attribute__((regparm(2))); -+static void cpp_vtable_call( -+ int nFunctionIndex, int nVtableOffset, void** pCallStack ) -+ __attribute__((regparm(3))); - --void cpp_vtable_call( int nTableEntry, void** pCallStack ) -+void cpp_vtable_call( int nFunctionIndex, int nVtableOffset, void** pCallStack ) - { - volatile long nRegReturn[2]; -- typelib_TypeClass aType = cpp_mediate( nTableEntry, pCallStack, (sal_Int64*)nRegReturn ); -+ typelib_TypeClass aType = cpp_mediate( -+ nFunctionIndex, nVtableOffset, pCallStack, (sal_Int64*)nRegReturn ); - - switch( aType ) - { -@@ -434,161 +440,103 @@ - - - //================================================================================================== --class MediateClassData --{ -- typedef ::std::hash_map< OUString, void *, OUStringHash > t_classdata_map; -- t_classdata_map m_map; -- Mutex m_mutex; -- --public: -- void const * get_vtable( typelib_InterfaceTypeDescription * pTD ) SAL_THROW( () ); -- -- inline MediateClassData() SAL_THROW( () ) -- {} -- ~MediateClassData() SAL_THROW( () ); --}; --//__________________________________________________________________________________________________ --MediateClassData::~MediateClassData() SAL_THROW( () ) -+int const codeSnippetSize = 20; -+ -+unsigned char * codeSnippet( -+ unsigned char * code, sal_Int32 functionIndex, sal_Int32 vtableOffset, -+ bool simpleRetType) - { -- OSL_TRACE( "> calling ~MediateClassData(): freeing mediate vtables." ); -- -- for ( t_classdata_map::const_iterator iPos( m_map.begin() ); iPos != m_map.end(); ++iPos ) -- { -- ::rtl_freeMemory( iPos->second ); -- } -+ if (!simpleRetType) { -+ functionIndex |= 0x80000000; -+ } -+ unsigned char * p = code; -+ OSL_ASSERT(sizeof (sal_Int32) == 4); -+ // mov function_index, %eax: -+ *p++ = 0xB8; -+ *reinterpret_cast< sal_Int32 * >(p) = functionIndex; -+ p += sizeof (sal_Int32); -+ // mov vtable_offset, %edx: -+ *p++ = 0xBA; -+ *reinterpret_cast< sal_Int32 * >(p) = vtableOffset; -+ p += sizeof (sal_Int32); -+ // mov %esp, %ecx: -+ *p++ = 0x89; -+ *p++ = 0xE1; -+ // jmp cpp_vtable_call: -+ *p++ = 0xE9; -+ *reinterpret_cast< sal_Int32 * >(p) -+ = ((unsigned char *) cpp_vtable_call) - p - sizeof (sal_Int32); -+ p += sizeof (sal_Int32); -+ OSL_ASSERT(p - code <= codeSnippetSize); -+ return code + codeSnippetSize; - } --//-------------------------------------------------------------------------------------------------- --static inline void codeSnippet( char * code, sal_uInt32 vtable_pos, bool simple_ret_type ) SAL_THROW( () ) --{ -- if (! simple_ret_type) -- vtable_pos |= 0x80000000; -- OSL_ASSERT( sizeof (long) == 4 ); -- // mov $nPos, %eax -- *code++ = 0xb8; -- *(long *)code = vtable_pos; -- code += sizeof (long); -- // mov %esp, %edx -- *code++ = 0x89; -- *code++ = 0xe2; -- // jmp cpp_vtable_call -- *code++ = 0xe9; -- *(long *)code = ((char *)cpp_vtable_call) - code - sizeof (long); -+ - } --//__________________________________________________________________________________________________ --void const * MediateClassData::get_vtable( typelib_InterfaceTypeDescription * pTD ) SAL_THROW( () ) --{ -- void * buffer; -- -- // avoiding locked counts -- OUString const & unoName = *(OUString const *)&((typelib_TypeDescription *)pTD)->pTypeName; -- { -- MutexGuard aGuard( m_mutex ); -- t_classdata_map::const_iterator iFind( m_map.find( unoName ) ); -- if (iFind == m_map.end()) -- { -- // create new vtable -- sal_Int32 nSlots = pTD->nMapFunctionIndexToMemberIndex; -- buffer = ::rtl_allocateMemory( ((2+ nSlots) * sizeof (void *)) + (nSlots *20) ); -- -- ::std::pair< t_classdata_map::iterator, bool > insertion( -- m_map.insert( t_classdata_map::value_type( unoName, buffer ) ) ); -- OSL_ENSURE( insertion.second, "### inserting new vtable buffer failed?!" ); -- -- void ** slots = (void **)buffer; -- *slots++ = 0; -- *slots++ = 0; // rtti -- char * code = (char *)(slots + nSlots); -- -- sal_uInt32 vtable_pos = 0; -- sal_Int32 nAllMembers = pTD->nAllMembers; -- typelib_TypeDescriptionReference ** ppAllMembers = pTD->ppAllMembers; -- for ( sal_Int32 nPos = 0; nPos < nAllMembers; ++nPos ) -- { -- typelib_TypeDescription * pTD = 0; -- TYPELIB_DANGER_GET( &pTD, ppAllMembers[ nPos ] ); -- OSL_ASSERT( pTD ); -- if (typelib_TypeClass_INTERFACE_ATTRIBUTE == pTD->eTypeClass) -- { -- bool simple_ret = cppu_isSimpleType( -- ((typelib_InterfaceAttributeTypeDescription *)pTD)->pAttributeTypeRef->eTypeClass ); -- // get method -- *slots++ = code; -- codeSnippet( code, vtable_pos++, simple_ret ); -- code += 20; -- if (! ((typelib_InterfaceAttributeTypeDescription *)pTD)->bReadOnly) -- { -- // set method -- *slots++ = code; -- codeSnippet( code, vtable_pos++, true ); -- code += 20; -- } -- } -- else -+ -+void ** bridges::cpp_uno::shared::VtableFactory::mapBlockToVtable(char * block) -+{ -+ return reinterpret_cast< void ** >(block) + 2; -+} -+ -+char * bridges::cpp_uno::shared::VtableFactory::createBlock( -+ sal_Int32 slotCount, void *** slots) -+{ -+ char * block = new char[ -+ (slotCount + 2) * sizeof (void *) + slotCount * codeSnippetSize]; -+ *slots = mapBlockToVtable(block); -+ (*slots)[-2] = 0; -+ (*slots)[-1] = 0; -+ return block; -+} -+ -+unsigned char * bridges::cpp_uno::shared::VtableFactory::addLocalFunctions( -+ void ** slots, unsigned char * code, -+ typelib_InterfaceTypeDescription const * type, sal_Int32 functionOffset, -+ sal_Int32 functionCount, sal_Int32 vtableOffset) -+{ -+ for (sal_Int32 i = 0; i < type->nMembers; ++i) { -+ typelib_TypeDescription * member = 0; -+ TYPELIB_DANGER_GET(&member, type->ppMembers[i]); -+ OSL_ASSERT(member != 0); -+ switch (member->eTypeClass) { -+ case typelib_TypeClass_INTERFACE_ATTRIBUTE: -+ // Getter: -+ *slots++ = code; -+ code = codeSnippet( -+ code, functionOffset++, vtableOffset, -+ bridges::cpp_uno::shared::isSimpleType( -+ reinterpret_cast< -+ typelib_InterfaceAttributeTypeDescription * >( -+ member)->pAttributeTypeRef)); -+ // Setter: -+ if (!reinterpret_cast< -+ typelib_InterfaceAttributeTypeDescription * >( -+ member)->bReadOnly) - { -- bool simple_ret = cppu_isSimpleType( -- ((typelib_InterfaceMethodTypeDescription *)pTD)->pReturnTypeRef->eTypeClass ); - *slots++ = code; -- codeSnippet( code, vtable_pos++, simple_ret ); -- code += 20; -+ code = codeSnippet(code, functionOffset++, vtableOffset, true); - } -- TYPELIB_DANGER_RELEASE( pTD ); -+ break; -+ -+ case typelib_TypeClass_INTERFACE_METHOD: -+ *slots++ = code; -+ code = codeSnippet( -+ code, functionOffset++, vtableOffset, -+ bridges::cpp_uno::shared::isSimpleType( -+ reinterpret_cast< -+ typelib_InterfaceMethodTypeDescription * >( -+ member)->pReturnTypeRef)); -+ break; -+ -+ default: -+ OSL_ASSERT(false); -+ break; - } -- OSL_ASSERT( vtable_pos == nSlots ); -- } -- else -- { -- buffer = iFind->second; -- } -+ TYPELIB_DANGER_RELEASE(member); - } -- -- return ((void **)buffer +2); --} -- --//================================================================================================== --void SAL_CALL cppu_cppInterfaceProxy_patchVtable( -- XInterface * pCppI, typelib_InterfaceTypeDescription * pTypeDescr ) throw () --{ -- static MediateClassData * s_pMediateClassData = 0; -- if (! s_pMediateClassData) -- { -- MutexGuard aGuard( Mutex::getGlobalMutex() ); -- if (! s_pMediateClassData) -- { --#ifdef LEAK_STATIC_DATA -- s_pMediateClassData = new MediateClassData(); --#else -- static MediateClassData s_aMediateClassData; -- s_pMediateClassData = &s_aMediateClassData; --#endif -- } -- } -- *(void const **)pCppI = s_pMediateClassData->get_vtable( pTypeDescr ); --} -- -+ return code; - } - --extern "C" --{ --//################################################################################################## --sal_Bool SAL_CALL component_canUnload( TimeValue * pTime ) -- SAL_THROW_EXTERN_C() --{ -- return CPPU_CURRENT_NAMESPACE::g_moduleCount.canUnload( -- &CPPU_CURRENT_NAMESPACE::g_moduleCount, pTime ); --} --//################################################################################################## --void SAL_CALL uno_initEnvironment( uno_Environment * pCppEnv ) -- SAL_THROW_EXTERN_C() --{ -- CPPU_CURRENT_NAMESPACE::cppu_cppenv_initEnvironment( -- pCppEnv ); --} --//################################################################################################## --void SAL_CALL uno_ext_getMapping( -- uno_Mapping ** ppMapping, uno_Environment * pFrom, uno_Environment * pTo ) -- SAL_THROW_EXTERN_C() --{ -- CPPU_CURRENT_NAMESPACE::cppu_ext_getMapping( -- ppMapping, pFrom, pTo ); --} --} -+void bridges::cpp_uno::shared::VtableFactory::flushCode( -+ unsigned char const *, unsigned char const *) -+{} -Index: bridges/source/cpp_uno/gcc3_freebsd_intel/except.cxx -=================================================================== -RCS file: /cvs/udk/bridges/source/cpp_uno/gcc3_freebsd_intel/except.cxx,v -retrieving revision 1.4 -diff -u -r1.4 except.cxx ---- bridges/source/cpp_uno/gcc3_freebsd_intel/except.cxx 28 Apr 2003 16:41:25 -0000 1.4 -+++ bridges/source/cpp_uno/gcc3_freebsd_intel/except.cxx 27 Dec 2004 06:05:52 -0000 -@@ -2,9 +2,9 @@ - * - * $RCSfile: except.cxx,v $ - * -- * $Revision: 1.4 $ -+ * $Revision: 1.10 $ - * -- * last change: $Author: hr $ $Date: 2003/04/28 16:41:25 $ -+ * last change: $Author: obo $ $Date: 2004/06/04 02:59:59 $ - * - * The Contents of this file are made available subject to the terms of - * either of the following licenses -@@ -69,7 +69,8 @@ - #include <osl/diagnose.h> - #include <osl/mutex.hxx> - --#include <bridges/cpp_uno/bridge.hxx> -+#include <com/sun/star/uno/genfunc.hxx> -+#include "com/sun/star/uno/RuntimeException.hpp" - #include <typelib/typedescription.hxx> - #include <uno/any2.h> - -@@ -147,7 +148,7 @@ - }; - //__________________________________________________________________________________________________ - RTTI::RTTI() SAL_THROW( () ) -- : m_hApp( dlopen( 0, RTLD_LAZY ) ) -+ : m_hApp( dlopen( 0, RTLD_NOW | RTLD_GLOBAL ) ) - { - } - //__________________________________________________________________________________________________ -@@ -182,7 +183,8 @@ - buf.append( 'E' ); - - OString symName( buf.makeStringAndClear() ); -- rtti = (type_info *)dlsym( m_hApp, symName.getStr() ); -+//#iZ 22253 -+ rtti = (type_info *)dlsym( RTLD_DEFAULT, symName.getStr() ); - - if (rtti) - { -@@ -253,7 +255,7 @@ - //================================================================================================== - void raiseException( uno_Any * pUnoExc, uno_Mapping * pUno2Cpp ) - { --#if defined DEBUG -+#if OSL_DEBUG_LEVEL > 1 - OString cstr( - OUStringToOString( - *reinterpret_cast< OUString const * >( &pUnoExc->pType->pTypeName ), -@@ -275,7 +277,7 @@ - *reinterpret_cast< OUString const * >( &pUnoExc->pType->pTypeName ), - Reference< XInterface >() ); - } -- -+ - pCppExc = __cxa_allocate_exception( pTypeDescr->nSize ); - ::uno_copyAndConvertData( pCppExc, pUnoExc->pData, pTypeDescr, pUno2Cpp ); - -@@ -321,16 +323,16 @@ - Reference< XInterface >() ); - Type const & rType = ::getCppuType( &aRE ); - uno_type_any_constructAndConvert( pUnoExc, &aRE, rType.getTypeLibType(), pCpp2Uno ); --#if defined _DEBUG -+#if OSL_DEBUG_LEVEL > 0 - OString cstr( OUStringToOString( aRE.Message, RTL_TEXTENCODING_ASCII_US ) ); - OSL_ENSURE( 0, cstr.getStr() ); - #endif - return; - } -- -+ - typelib_TypeDescription * pExcTypeDescr = 0; - OUString unoName( toUNOname( header->exceptionType->name() ) ); --#if defined DEBUG -+#if OSL_DEBUG_LEVEL > 1 - OString cstr_unoName( OUStringToOString( unoName, RTL_TEXTENCODING_ASCII_US ) ); - fprintf( stderr, "> c++ exception occured: %s\n", cstr_unoName.getStr() ); - #endif -@@ -342,7 +344,7 @@ - Reference< XInterface >() ); - Type const & rType = ::getCppuType( &aRE ); - uno_type_any_constructAndConvert( pUnoExc, &aRE, rType.getTypeLibType(), pCpp2Uno ); --#if defined _DEBUG -+#if OSL_DEBUG_LEVEL > 0 - OString cstr( OUStringToOString( aRE.Message, RTL_TEXTENCODING_ASCII_US ) ); - OSL_ENSURE( 0, cstr.getStr() ); - #endif -Index: bridges/source/cpp_uno/gcc3_freebsd_intel/makefile.mk -=================================================================== -RCS file: /cvs/udk/bridges/source/cpp_uno/gcc3_freebsd_intel/makefile.mk,v -retrieving revision 1.2 -diff -u -r1.2 makefile.mk ---- bridges/source/cpp_uno/gcc3_freebsd_intel/makefile.mk 18 Mar 2003 19:06:52 -0000 1.2 -+++ bridges/source/cpp_uno/gcc3_freebsd_intel/makefile.mk 27 Dec 2004 06:05:52 -0000 -@@ -2,9 +2,9 @@ - # - # $RCSfile: makefile.mk,v $ - # --# $Revision: 1.2 $ -+# $Revision: 1.3 $ - # --# last change: $Author: hr $ $Date: 2003/03/18 19:06:52 $ -+# last change: $Author: hr $ $Date: 2004/02/03 12:37:41 $ - # - # The Contents of this file are made available subject to the terms of - # either of the following licenses -@@ -95,10 +95,8 @@ - SHL1IMPLIB=i$(TARGET) - SHL1VERSIONMAP=..$/..$/bridge_exports.map - --SHL1OBJS= \ -- $(SLO)$/except.obj \ -- $(SLO)$/cpp2uno.obj \ -- $(SLO)$/uno2cpp.obj -+SHL1OBJS = $(SLOFILES) -+SHL1LIBS = $(SLB)$/cpp_uno_shared.lib - - SHL1STDLIBS= \ - $(CPPULIB) \ -Index: bridges/source/cpp_uno/gcc3_freebsd_intel/share.hxx -=================================================================== -RCS file: /cvs/udk/bridges/source/cpp_uno/gcc3_freebsd_intel/share.hxx,v -retrieving revision 1.2 -diff -u -r1.2 share.hxx ---- bridges/source/cpp_uno/gcc3_freebsd_intel/share.hxx 18 Mar 2003 19:06:53 -0000 1.2 -+++ bridges/source/cpp_uno/gcc3_freebsd_intel/share.hxx 27 Dec 2004 06:05:52 -0000 -@@ -4,7 +4,7 @@ - * - * $Revision: 1.2 $ - * -- * last change: $Author: hr $ $Date: 2003/03/18 19:06:53 $ -+ * last change: $Author: hr $ $Date: 2004/02/03 12:38:19 $ - * - * The Contents of this file are made available subject to the terms of - * either of the following licenses -@@ -59,6 +59,8 @@ - * - ************************************************************************/ - -+#include "uno/mapping.h" -+ - #include <typeinfo> - #include <exception> - #include <cstddef> -@@ -66,6 +68,8 @@ - namespace CPPU_CURRENT_NAMESPACE - { - -+void dummy_can_throw_anything( char const * ); -+ - // ----- following decl from libstdc++-v3/libsupc++/unwind-cxx.h and unwind.h - - struct _Unwind_Exception -Index: bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx -=================================================================== -RCS file: /cvs/udk/bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx,v -retrieving revision 1.5 -diff -u -r1.5 uno2cpp.cxx ---- bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx 3 Nov 2004 09:03:15 -0000 1.5 -+++ bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx 27 Dec 2004 06:05:52 -0000 -@@ -2,9 +2,9 @@ - * - * $RCSfile: uno2cpp.cxx,v $ - * -- * $Revision: 1.5 $ -+ * $Revision: 1.7 $ - * -- * last change: $Author: pjunck $ $Date: 2004/11/03 09:03:15 $ -+ * last change: $Author: sb $ $Date: 2004/09/27 09:08:35 $ - * - * The Contents of this file are made available subject to the terms of - * either of the following licenses -@@ -59,24 +59,25 @@ - * - ************************************************************************/ - --#include <sal/alloca.h> --#include <rtl/alloc.h> -+#include <stdlib.h> - -+#include <com/sun/star/uno/genfunc.hxx> -+#include "com/sun/star/uno/RuntimeException.hpp" - #include <uno/data.h> --#include <bridges/cpp_uno/bridge.hxx> --#include <bridges/cpp_uno/type_misc.hxx> - --#include "share.hxx" -+#include "bridges/cpp_uno/shared/bridge.hxx" -+#include "bridges/cpp_uno/shared/types.hxx" -+#include "bridges/cpp_uno/shared/unointerfaceproxy.hxx" -+#include "bridges/cpp_uno/shared/vtables.hxx" - -+#include "share.hxx" - - using namespace ::rtl; - using namespace ::com::sun::star::uno; - --namespace CPPU_CURRENT_NAMESPACE -+namespace - { - --void dummy_can_throw_anything( char const * ); -- - //================================================================================================== - // The call instruction within the asm section of callVirtualMethod may throw - // exceptions. So that the compiler handles this correctly, it is important -@@ -85,7 +86,7 @@ - // callVirtualMethod is not inlined at its call site (so that any exceptions are - // caught which are thrown from the instruction calling callVirtualMethod): - void callVirtualMethod( -- void * pThis, -+ void * pAdjustedThisPtr, - sal_Int32 nVtableIndex, - void * pRegisterReturn, - typelib_TypeClass eReturnType, -@@ -93,7 +94,7 @@ - sal_Int32 nStackLongs ) __attribute__((noinline)); - - void callVirtualMethod( -- void * pThis, -+ void * pAdjustedThisPtr, - sal_Int32 nVtableIndex, - void * pRegisterReturn, - typelib_TypeClass eReturnType, -@@ -103,13 +104,13 @@ - // parameter list is mixed list of * and values - // reference parameters are pointers - -- OSL_ENSURE( pStackLongs && pThis, "### null ptr!" ); -+ OSL_ENSURE( pStackLongs && pAdjustedThisPtr, "### null ptr!" ); - OSL_ENSURE( (sizeof(void *) == 4) && (sizeof(sal_Int32) == 4), "### unexpected size of int!" ); - OSL_ENSURE( nStackLongs && pStackLongs, "### no stack in callVirtualMethod !" ); - - // never called -- if (! pThis) dummy_can_throw_anything("xxx"); // address something -- -+ if (! pAdjustedThisPtr) CPPU_CURRENT_NAMESPACE::dummy_can_throw_anything("xxx"); // address something -+ - volatile long edx = 0, eax = 0; // for register returns - void * stackptr; - asm volatile ( -@@ -139,8 +140,8 @@ - // cleanup stack - "mov %6, %%esp\n\t" - : -- : "m"(nStackLongs), "m"(pStackLongs), "m"(pThis), "m"(nVtableIndex), -- "m"(eax), "m"(edx), "m"(stackptr) -+ : "m"(nStackLongs), "m"(pStackLongs), "m"(pAdjustedThisPtr), -+ "m"(nVtableIndex), "m"(eax), "m"(edx), "m"(stackptr) - : "eax", "edx" ); - switch( eReturnType ) - { -@@ -172,8 +173,8 @@ - - //================================================================================================== - static void cpp_call( -- cppu_unoInterfaceProxy * pThis, -- sal_Int32 nVtableCall, -+ bridges::cpp_uno::shared::UnoInterfaceProxy * pThis, -+ bridges::cpp_uno::shared::VtableSlot aVtableSlot, - typelib_TypeDescriptionReference * pReturnTypeRef, - sal_Int32 nParams, typelib_MethodParameter * pParams, - void * pUnoReturn, void * pUnoArgs[], uno_Any ** ppUnoExc ) -@@ -192,21 +193,25 @@ - - if (pReturnTypeDescr) - { -- if (cppu_isSimpleType( pReturnTypeDescr )) -+ if (bridges::cpp_uno::shared::isSimpleType( pReturnTypeDescr )) - { - pCppReturn = pUnoReturn; // direct way for simple types - } - else - { - // complex return via ptr -- pCppReturn = *(void **)pCppStack = (cppu_relatesToInterface( pReturnTypeDescr ) -- ? alloca( pReturnTypeDescr->nSize ) -- : pUnoReturn); // direct way -+ pCppReturn = *(void **)pCppStack -+ = (bridges::cpp_uno::shared::relatesToInterfaceType( -+ pReturnTypeDescr ) -+ ? alloca( pReturnTypeDescr->nSize ) -+ : pUnoReturn); // direct way - pCppStack += sizeof(void *); - } - } - // push this -- *(void**)pCppStack = pThis->pCppI; -+ void * pAdjustedThisPtr = reinterpret_cast< void ** >(pThis->getCppI()) -+ + aVtableSlot.offset; -+ *(void**)pCppStack = pAdjustedThisPtr; - pCppStack += sizeof( void* ); - - // stack space -@@ -226,10 +231,11 @@ - typelib_TypeDescription * pParamTypeDescr = 0; - TYPELIB_DANGER_GET( &pParamTypeDescr, rParam.pTypeRef ); - -- if (!rParam.bOut && cppu_isSimpleType( pParamTypeDescr )) -+ if (!rParam.bOut -+ && bridges::cpp_uno::shared::isSimpleType( pParamTypeDescr )) - { - uno_copyAndConvertData( pCppArgs[nPos] = pCppStack, pUnoArgs[nPos], pParamTypeDescr, -- &pThis->pBridge->aUno2Cpp ); -+ pThis->getBridge()->getUno2Cpp() ); - - switch (pParamTypeDescr->eTypeClass) - { -@@ -254,11 +260,13 @@ - ppTempParamTypeDescr[nTempIndizes++] = pParamTypeDescr; - } - // is in/inout -- else if (cppu_relatesToInterface( pParamTypeDescr )) -+ else if (bridges::cpp_uno::shared::relatesToInterfaceType( -+ pParamTypeDescr )) - { - uno_copyAndConvertData( - *(void **)pCppStack = pCppArgs[nPos] = alloca( pParamTypeDescr->nSize ), -- pUnoArgs[nPos], pParamTypeDescr, &pThis->pBridge->aUno2Cpp ); -+ pUnoArgs[nPos], pParamTypeDescr, -+ pThis->getBridge()->getUno2Cpp() ); - - pTempIndizes[nTempIndizes] = nPos; // has to be reconverted - // will be released at reconversion -@@ -278,7 +286,7 @@ - { - OSL_ENSURE( !( (pCppStack - pCppStackStart ) & 3), "UNALIGNED STACK !!! (Please DO panic)" ); - callVirtualMethod( -- pThis->pCppI, nVtableCall, -+ pAdjustedThisPtr, aVtableSlot.index, - pCppReturn, pReturnTypeDescr->eTypeClass, - (sal_Int32 *)pCppStackStart, (pCppStack - pCppStackStart) / sizeof(sal_Int32) ); - // NO exception occured... -@@ -296,13 +304,13 @@ - { - uno_destructData( pUnoArgs[nIndex], pParamTypeDescr, 0 ); // destroy uno value - uno_copyAndConvertData( pUnoArgs[nIndex], pCppArgs[nIndex], pParamTypeDescr, -- &pThis->pBridge->aCpp2Uno ); -+ pThis->getBridge()->getCpp2Uno() ); - } - } - else // pure out - { - uno_copyAndConvertData( pUnoArgs[nIndex], pCppArgs[nIndex], pParamTypeDescr, -- &pThis->pBridge->aCpp2Uno ); -+ pThis->getBridge()->getCpp2Uno() ); - } - // destroy temp cpp param => cpp: every param was constructed - uno_destructData( pCppArgs[nIndex], pParamTypeDescr, cpp_release ); -@@ -313,14 +321,14 @@ - if (pCppReturn && pUnoReturn != pCppReturn) - { - uno_copyAndConvertData( pUnoReturn, pCppReturn, pReturnTypeDescr, -- &pThis->pBridge->aCpp2Uno ); -+ pThis->getBridge()->getCpp2Uno() ); - uno_destructData( pCppReturn, pReturnTypeDescr, cpp_release ); - } - } - catch (...) - { - // fill uno exception -- fillUnoException( __cxa_get_globals()->caughtExceptions, *ppUnoExc, &pThis->pBridge->aCpp2Uno ); -+ fillUnoException( CPPU_CURRENT_NAMESPACE::__cxa_get_globals()->caughtExceptions, *ppUnoExc, pThis->getBridge()->getCpp2Uno() ); - - // temporary params - for ( ; nTempIndizes--; ) -@@ -336,32 +344,32 @@ - } - } - -+} - - //================================================================================================== --void SAL_CALL cppu_unoInterfaceProxy_dispatch( -+void bridges::cpp_uno::shared::UnoInterfaceProxy::dispatch( - uno_Interface * pUnoI, const typelib_TypeDescription * pMemberDescr, -- void * pReturn, void * pArgs[], uno_Any ** ppException ) throw () -+ void * pReturn, void * pArgs[], uno_Any ** ppException ) SAL_THROW(()) - { - // is my surrogate -- cppu_unoInterfaceProxy * pThis = (cppu_unoInterfaceProxy *)pUnoI; -+ bridges::cpp_uno::shared::UnoInterfaceProxy * pThis -+ = static_cast< bridges::cpp_uno::shared::UnoInterfaceProxy * >(pUnoI); - typelib_InterfaceTypeDescription * pTypeDescr = pThis->pTypeDescr; - - switch (pMemberDescr->eTypeClass) - { - case typelib_TypeClass_INTERFACE_ATTRIBUTE: - { -- // determine vtable call index -- sal_Int32 nMemberPos = ((typelib_InterfaceMemberTypeDescription *)pMemberDescr)->nPosition; -- OSL_ENSURE( nMemberPos < pTypeDescr->nAllMembers, "### member pos out of range!" ); -- -- sal_Int32 nVtableCall = pTypeDescr->pMapMemberIndexToFunctionIndex[nMemberPos]; -- OSL_ENSURE( nVtableCall < pTypeDescr->nMapFunctionIndexToMemberIndex, "### illegal vtable index!" ); -- -+ VtableSlot aVtableSlot( -+ getVtableSlot( -+ reinterpret_cast< -+ typelib_InterfaceAttributeTypeDescription const * >( -+ pMemberDescr))); - if (pReturn) - { - // dependent dispatch - cpp_call( -- pThis, nVtableCall, -+ pThis, aVtableSlot, - ((typelib_InterfaceAttributeTypeDescription *)pMemberDescr)->pAttributeTypeRef, - 0, 0, // no params - pReturn, pArgs, ppException ); -@@ -381,8 +389,9 @@ - &pReturnTypeRef, typelib_TypeClass_VOID, aVoidName.pData ); - - // dependent dispatch -+ aVtableSlot.index += 1; // get, then set method - cpp_call( -- pThis, nVtableCall +1, // get, then set method -+ pThis, aVtableSlot, - pReturnTypeRef, - 1, &aParam, - pReturn, pArgs, ppException ); -@@ -394,14 +403,12 @@ - } - case typelib_TypeClass_INTERFACE_METHOD: - { -- // determine vtable call index -- sal_Int32 nMemberPos = ((typelib_InterfaceMemberTypeDescription *)pMemberDescr)->nPosition; -- OSL_ENSURE( nMemberPos < pTypeDescr->nAllMembers, "### member pos out of range!" ); -- -- sal_Int32 nVtableCall = pTypeDescr->pMapMemberIndexToFunctionIndex[nMemberPos]; -- OSL_ENSURE( nVtableCall < pTypeDescr->nMapFunctionIndexToMemberIndex, "### illegal vtable index!" ); -- -- switch (nVtableCall) -+ VtableSlot aVtableSlot( -+ getVtableSlot( -+ reinterpret_cast< -+ typelib_InterfaceMethodTypeDescription const * >( -+ pMemberDescr))); -+ switch (aVtableSlot.index) - { - // standard calls - case 1: // acquire uno interface -@@ -419,8 +426,8 @@ - if (pTD) - { - uno_Interface * pInterface = 0; -- (*pThis->pBridge->pUnoEnv->getRegisteredInterface)( -- pThis->pBridge->pUnoEnv, -+ (*pThis->pBridge->getUnoEnv()->getRegisteredInterface)( -+ pThis->pBridge->getUnoEnv(), - (void **)&pInterface, pThis->oid.pData, (typelib_InterfaceTypeDescription *)pTD ); - - if (pInterface) -@@ -439,7 +446,7 @@ - default: - // dependent dispatch - cpp_call( -- pThis, nVtableCall, -+ pThis, aVtableSlot, - ((typelib_InterfaceMethodTypeDescription *)pMemberDescr)->pReturnTypeRef, - ((typelib_InterfaceMethodTypeDescription *)pMemberDescr)->nParams, - ((typelib_InterfaceMethodTypeDescription *)pMemberDescr)->pParams, -@@ -459,6 +466,3 @@ - } - } - } -- --} -- diff --git a/editors/openoffice.org-2/files/patch-project-extentions b/editors/openoffice.org-2/files/patch-project-extentions deleted file mode 100644 index a8b9d7ee9416..000000000000 --- a/editors/openoffice.org-2/files/patch-project-extentions +++ /dev/null @@ -1,65 +0,0 @@ -#iZ and CWS -o http://www.openoffice.org/issues/show_bug.cgi?id=40179 -o http://eis.services.openoffice.org/EIS2/servlet/cws.ShowCWS?Id=2030&Path=SRC680%2Fpj16 -o pj16 - -Description - -o source/config/ldap/makefile.mk needs -lcompat since re_comp is defined here. -o FreeBSD doesn't have -ldl -o INC+= -DNP_LINUX is also requried for FreeBSD - -Index: source/config/ldap/makefile.mk -=================================================================== -RCS file: /cvs/util/extensions/source/config/ldap/makefile.mk,v -retrieving revision 1.4 -diff -u -r1.4 makefile.mk ---- extensions/source/config/ldap/makefile.mk 15 Nov 2004 14:14:22 -0000 1.4 -+++ extensions/source/config/ldap/makefile.mk 8 Jan 2005 02:48:29 -0000 -@@ -116,6 +116,9 @@ - $(CPPULIB) \ - $(SALHELPERLIB) \ - $(SALLIB) -+.IF "$(OS)"=="FREEBSD" -+SHL1STDLIBS+=-lcompat -+.ENDIF - - DEF1NAME=$(SHL1TARGET) - DEF1EXPORTFILE=exports.dxp -Index: source/nsplugin/source/makefile.mk -=================================================================== -RCS file: /cvs/util/extensions/source/nsplugin/source/makefile.mk,v -retrieving revision 1.8 -diff -u -r1.8 makefile.mk ---- extensions/source/nsplugin/source/makefile.mk 3 Jan 2005 09:04:51 -0000 1.8 -+++ extensions/source/nsplugin/source/makefile.mk 8 Jan 2005 02:48:30 -0000 -@@ -78,7 +78,7 @@ - @echo GTK disabled - nothing to build - - .ELSE # "$(ENABLE_GTK)"=="" --.IF "$(OS)"=="LINUX" -+.IF "$(OS)"=="LINUX" || "$(OS)"=="FREEBSD" - INC+= -DNP_LINUX - .ENDIF - PKGCONFIG_MODULES=gtk+-2.0 -@@ -99,8 +99,10 @@ - .IF "$(GUI)"=="UNX" - SHL1OBJS+=$(SLO)$/npunix.obj - SLOFILES+=$(SLO)$/npunix.obj -+.IF "$(OS)"!="FREEBSD" - SHL1STDLIBS+= -ldl -lnsl --.ENDIF -+.ENDIF #FREEBSD -+.ENDIF #UNX - .IF "$(GUI)"=="WNT" - SHL1OBJS+=$(SLO)$/npwin.obj - SLOFILES+=$(SLO)$/npwin.obj -@@ -131,7 +133,7 @@ - - .IF "$(GUI)"=="UNX" - APP1STDLIBS+=$(PKGCONFIG_LIBS:s/-lpangoxft-1.0//) --.IF "$(OS)"=="LINUX" -+.IF "$(OS)"=="LINUX" || "$(OS)"=="FREEBSD" - .ELSE - APP1STDLIBS+= -ldl -lnsl -lnls -lsocket - .ENDIF diff --git a/editors/openoffice.org-2/files/patch-solenv+inc+unxfbsdi.mk b/editors/openoffice.org-2/files/patch-solenv+inc+unxfbsdi.mk deleted file mode 100644 index f3f55df061d4..000000000000 --- a/editors/openoffice.org-2/files/patch-solenv+inc+unxfbsdi.mk +++ /dev/null @@ -1,262 +0,0 @@ -#iZ and CWS -o http://www.openoffice.org/issues/show_bug.cgi?id=40182 - -Description -o catch up recent unxlngi6.mk -o -Wl,-z,defs -> comment out - -Index: solenv/inc/unxfbsdi.mk -=================================================================== -RCS file: /cvs/tools/solenv/inc/unxfbsdi.mk,v -retrieving revision 1.11 -diff -u -r1.11 unxfbsdi.mk ---- solenv/inc/unxfbsdi.mk 20 Sep 2004 08:37:13 -0000 1.11 -+++ solenv/inc/unxfbsdi.mk 10 Jan 2005 07:44:44 -0000 -@@ -60,16 +60,26 @@ - # - #************************************************************************* - --# mak file for unxfbsdi --ASM=$(CC) --AFLAGS=-x assembler-with-cpp -c $(CDEFS) -+# mk file for unxfbsdi -+ASM= -+AFLAGS= -+ -+SOLAR_JAVA*=TRUE -+JAVAFLAGSDEBUG=-g - - # filter for supressing verbose messages from linker - #not needed at the moment - #LINKOUTPUT_FILTER=" |& $(SOLARENV)$/bin$/msg_filter" - -+# _PTHREADS is needed for the stl -+CDEFS+=$(PTHREAD_CFLAGS) -DX86 -D_PTHREADS -D_REENTRANT -DNEW_SOLAR -D_USE_NAMESPACE=1 -DSTLPORT_VERSION=400 -+ -+# enable visibility define in "sal/types.h" -+.IF "$(HAVE_GCC_VISIBILITY_FEATURE)" == "TRUE" -+CDEFS += -DHAVE_GCC_VISIBILITY_FEATURE -+.ENDIF # "$(HAVE_GCC_VISIBILITY_FEATURE)" == "TRUE" -+ - # this is a platform with JAVA support --SOLAR_JAVA*=TRUE - .IF "$(SOLAR_JAVA)"!="" - JAVADEF=-DSOLAR_JAVA - .IF "$(debug)"=="" -@@ -83,90 +93,82 @@ - CXX*=g++ - # name of C Compiler - CC*=gcc -+.IF "$(SYSBASE)"!="" -+CFLAGS_SYSBASE:=-isystem $(SYSBASE)$/usr$/include -+CXX+:=$(CFLAGS_SYSBASE) -+CC+:=$(CFLAGS_SYSBASE) -+.ENDIF # "$(SYSBASE)"!="" -+CFLAGS+=-Wreturn-type -fmessage-length=0 -c $(INCLUDE) -+.IF "$(PRODUCT)"!="" -+CFLAGS+=-Wuninitialized -+.ENDIF - --# filter for supressing verbose messages from linker --# not needed at the moment --LINKOUTPUT_FILTER=" |& $(SOLARENV)$/bin$/msg_filter" -+# flags to enable build with symbols; required for crashdump feature -+.IF "$(ENABLE_SYMBOLS)"=="SMALL" -+CFLAGSENABLESYMBOLS=-g1 -+.ELSE -+CFLAGSENABLESYMBOLS=-g # was temporarily commented out, reenabled before Beta - --# options for C and C++ Compiler --CDEFS+= -D_USE_NAMESPACE=1 -DX86 -DNEW_SOLAR -DSTLPORT_VERSION=450 -DOSVERSION=$(OSVERSION) --CDEFS+= $(PTHREAD_CFLAGS) -D_REENTRANT -- --# flags for C and C++ Compile --CFLAGS+= -w -c $(INCLUDE) --CFLAGS+= -I/usr/X11R6/include -+.ENDIF - - # flags for the C++ Compiler --CFLAGSCC= -pipe -fno-rtti --CFLAGSCXX= -pipe -fno-rtti --CFLAGSCXX+= -Wno-ctor-dtor-privacy -- -+CFLAGSCC= -pipe -mtune=pentiumpro - # Flags for enabling exception handling --CFLAGSEXCEPTIONS= -fexceptions --CFLAGS_NO_EXCEPTIONS= -fno-exceptions -- --# Compiler flags for compiling static object in single threaded --# environment with graphical user interface --CFLAGSOBJGUIST= -fPIC -- --# Compiler flags for compiling static object in single threaded --# environment with character user interface --CFLAGSOBJCUIST= -fPIC -- --# Compiler flags for compiling static object in multi threaded --# environment with graphical user interface --CFLAGSOBJGUIMT= -fPIC -- --# Compiler flags for compiling static object in multi threaded --# environment with character user interface --CFLAGSOBJCUIMT= -fPIC -- --# Compiler flags for compiling shared object in multi threaded --# environment with graphical user interface --CFLAGSSLOGUIMT= -fPIC -- --# Compiler flags for compiling shared object in multi threaded --# environment with character user interface --CFLAGSSLOCUIMT= -fPIC -+CFLAGSEXCEPTIONS=-fexceptions -fno-enforce-eh-specs -+# Flags for disabling exception handling -+CFLAGS_NO_EXCEPTIONS=-fno-exceptions - --# Compiler flags for profilin --CFLAGSPROF= -pg -+# -fpermissive should be removed as soon as possible -+CFLAGSCXX= -pipe -mtune=pentiumpro -+CFLAGSCXX+= -Wno-ctor-dtor-privacy - -+# Compiler flags for compiling static object in single threaded environment with graphical user interface -+CFLAGSOBJGUIST= -+# Compiler flags for compiling static object in single threaded environment with character user interface -+CFLAGSOBJCUIST= -+# Compiler flags for compiling static object in multi threaded environment with graphical user interface -+CFLAGSOBJGUIMT= -+# Compiler flags for compiling static object in multi threaded environment with character user interface -+CFLAGSOBJCUIMT= -+# Compiler flags for compiling shared object in multi threaded environment with graphical user interface -+CFLAGSSLOGUIMT=-fPIC -+# Compiler flags for compiling shared object in multi threaded environment with character user interface -+CFLAGSSLOCUIMT=-fPIC -+# Compiler flags for profiling -+CFLAGSPROF= - # Compiler flags for debugging --CFLAGSDEBUG= -g -+CFLAGSDEBUG=-g - CFLAGSDBGUTIL= -- --# Compiler flags to enable optimizations --# -02 is broken for FreeBSD --CFLAGSOPT= -O -- --# Compiler flags to disable optimizations --# -0 is broken for STLport for FreeBSD --CFLAGSNOOPT= -O0 -- --# Compiler flags for the output path --CFLAGSOUTOBJ= -o -- -+# Compiler flags for enabling optimazations -+.IF "$(PRODUCT)"!="" -+CFLAGSOPT=-Os -fno-strict-aliasing # optimizing for products -+.ELSE # "$(PRODUCT)"!="" -+CFLAGSOPT= # no optimizing for non products -+.ENDIF # "$(PRODUCT)"!="" -+# Compiler flags for disabling optimazations -+CFLAGSNOOPT=-O0 -+# Compiler flags for discibing the output path -+CFLAGSOUTOBJ=-o - # Enable all warnings - CFLAGSWALL=-Wall -- - # Set default warn level --CFLAGSDFLTWARN=-w -+CFLAGSDFLTWARN= - - # switches for dynamic and static linking --STATIC= -Wl,-Bstatic --DYNAMIC= -Wl,-Bdynamic -+STATIC = -Wl,-Bstatic -+DYNAMIC = -Wl,-Bdynamic - - # name of linker --LINK=$(CC) -+LINK*=$(CXX) - - # default linker flags --# LINKFLAGSRUNPATH*=-Wl,-rpath\''$$ORIGIN'\' --LINKFLAGS=$(LINKFLAGSRUNPATH) -+LINKFLAGSDEFS*=#-Wl,-z,defs -+LINKFLAGSRUNPATH*=-Wl,-rpath,\''$$ORIGIN'\' -+LINKFLAGS=-z combreloc $(LINKFLAGSDEFS) $(LINKFLAGSRUNPATH) - - # linker flags for linking applications --LINKFLAGSAPPGUI= -Wl,--noinhibit-exec --LINKFLAGSAPPCUI= -Wl,--noinhibit-exec -+LINKFLAGSAPPGUI= -Wl,-export-dynamic -Wl,--noinhibit-exec -+LINKFLAGSAPPCUI= -Wl,-export-dynamic -Wl,--noinhibit-exec - - # linker flags for linking shared libraries - LINKFLAGSSHLGUI= -shared -@@ -177,23 +179,19 @@ - LINKFLAGSDEBUG=-g - LINKFLAGSOPT= - --.IF "$(NO_BSYMBOLIC)"=="" --.IF "$(PRJNAME)" != "envtest" --LINKFLAGSSHLGUI+= -Wl,-Bsymbolic --LINKFLAGSSHLCUI+= -Wl,-Bsymbolic --.ENDIF --.ENDIF -+# linker flags for optimization (symbol hashtable) -+# for now, applied to symbol scoped libraries, only -+LINKFLAGSOPTIMIZE*=-Wl,-O1 -+LINKVERSIONMAPFLAG=$(LINKFLAGSOPTIMIZE) -Wl,--version-script - --LINKVERSIONMAPFLAG=-Wl,--version-script -+SONAME_SWITCH=-Wl,-h - - # Sequence of libs does matter ! --STDLIBCPP=-lstdc++ - --# _SYSLIBS= -L/usr/lib -lm --# _X11LIBS= -L/usr/X11R6/lib -lXext -lX11 --# _CXXLIBS= -L/usr/lib -lstdc++ -L/usr/local/lib -+STDLIBCPP=-lstdc++ - - # default objectfilenames to link -+STDOBJVCL=$(L)$/salmain.o - STDOBJGUI= - STDSLOGUI= - STDOBJCUI= -@@ -201,24 +199,25 @@ - - # libraries for linking applications - STDLIBCUIST=-lm --STDLIBGUIST=-lXaw -lXt -lX11 -lm --STDLIBGUIMT=-lXaw -lXt -lX11 $(PTHREAD_LIBS) -lm -+STDLIBGUIMT=-lX11 $(PTHREAD_LIBS) -lm - STDLIBCUIMT=$(PTHREAD_LIBS) -lm -- -+STDLIBGUIST=-lX11 -lm - # libraries for linking shared libraries --STDSHLGUIMT=-lXaw -lXt -lX11 -lXext $(PTHREAD_LIBS) -lm -+STDSHLGUIMT=-lX11 -lXext $(PTHREAD_LIBS) -lm - STDSHLCUIMT=$(PTHREAD_LIBS) -lm -+STDSHLGUIST=-lX11 -lXext -lm -+STDSHLCUIST=-lm - - LIBSALCPPRT*=-Wl,--whole-archive -lsalcpprt -Wl,--no-whole-archive - --# STLport always needs pthread. --LIBSTLPORT=$(DYNAMIC) -lstlport_gcc $(STDLIBCPP) $(PTHREAD_LIBS) --LIBSTLPORTST=$(STATIC) -lstlport_gcc $(DYNAMIC) $(PTHREAD_LIBS) -+LIBSTLPORT=$(DYNAMIC) -lstlport_gcc -+LIBSTLPORTST=$(STATIC) -lstlport_gcc $(DYNAMIC) -+ -+#FILLUPARC=$(STATIC) -lsupc++ $(DYNAMIC) - - # name of library manager - LIBMGR=ar - LIBFLAGS=-r --LIBEXT= .a - - # tool for generating import libraries - IMPLIB= -@@ -237,3 +236,4 @@ - DLLPOSTFIX=fi - DLLPRE=lib - DLLPOST=.so -+ diff --git a/editors/openoffice.org-2/files/patch-transex3+source+xmlparse.cxx b/editors/openoffice.org-2/files/patch-transex3+source+xmlparse.cxx deleted file mode 100644 index de1864d5e9cb..000000000000 --- a/editors/openoffice.org-2/files/patch-transex3+source+xmlparse.cxx +++ /dev/null @@ -1,24 +0,0 @@ -#iZ and CWS -o http://www.openoffice.org/issues/show_bug.cgi?id=40184 -o http://eis.services.openoffice.org/EIS2/servlet/cws.ShowCWS?Id=2030&Path=SRC680%2Fpj16 -o pj16 - -Description -FreeBSD doesn't have alloca.h - -Index: source/xmlparse.cxx -=================================================================== -RCS file: /cvs/l10n/transex3/source/xmlparse.cxx,v -retrieving revision 1.5 -diff -u -r1.5 xmlparse.cxx ---- transex3/source/xmlparse.cxx 18 Nov 2004 08:17:50 -0000 1.5 -+++ transex3/source/xmlparse.cxx 8 Jan 2005 02:56:14 -0000 -@@ -67,7 +67,7 @@ - #ifdef WIN32 - #include <malloc.h> - #else --#ifndef MACOSX -+#if !(defined(MACOSX) || defined(FREEBSD)) - #include <alloca.h> - #endif - #endif diff --git a/editors/openoffice.org-3-RC/Makefile b/editors/openoffice.org-3-RC/Makefile index c563bd2c2beb..e6be311f3b31 100644 --- a/editors/openoffice.org-3-RC/Makefile +++ b/editors/openoffice.org-3-RC/Makefile @@ -19,7 +19,7 @@ EXTRACT_ONLY= OOo_${RELEASE_NR}m${MILESTONE}_source.tar.bz2 MAINTAINER= openoffice@FreeBSD.org COMMENT?= Integrated wordprocessor/dbase/spreadheet/drawing/chart/browser(developer version) -SNAPDATE= 20050119 +SNAPDATE= 20050123 NO_LATEST_LINK= yes USE_GNOME= gtk20 MOZILLA_PROJECT= cws_srx645_mozooo.20041016.tar.gz @@ -49,7 +49,7 @@ BROKEN= "rtld depends on _end symbol. type make -DBROKEN to see how to upgrade CODELINE= 680 RELEASE_NR= 1.9 -MILESTONE= 72 +MILESTONE= 73 INSTALLATION_BASEDIR= openoffice.org${RELEASE_NR}m${MILESTONE} EXECBASE= openoffice.org-${RELEASE_NR}m${MILESTONE} DIST_SUBDIR= openoffice.org2.0 diff --git a/editors/openoffice.org-3-RC/distinfo b/editors/openoffice.org-3-RC/distinfo index 8b7774bf8f23..c9e7f5358b88 100644 --- a/editors/openoffice.org-3-RC/distinfo +++ b/editors/openoffice.org-3-RC/distinfo @@ -1,5 +1,5 @@ -MD5 (openoffice.org2.0/OOo_1.9m72_source.tar.bz2) = c51fa9d749f1e5eb3733d50b91f97fe8 -SIZE (openoffice.org2.0/OOo_1.9m72_source.tar.bz2) = 233690890 +MD5 (openoffice.org2.0/OOo_1.9m73_source.tar.bz2) = 0885bb45bd204b03b16f8276cbd922e0 +SIZE (openoffice.org2.0/OOo_1.9m73_source.tar.bz2) = 233756500 MD5 (openoffice.org2.0/gpc231.tar.Z) = fdb06fdb5a4670b172f9fb738b717be9 SIZE (openoffice.org2.0/gpc231.tar.Z) = 27917 MD5 (openoffice.org2.0/cws_srx645_mozooo.20041016.tar.gz) = eda0ab73b24c45890ae08bdfe04049bd diff --git a/editors/openoffice.org-3-RC/files/Makefile.knobs b/editors/openoffice.org-3-RC/files/Makefile.knobs index 5b9c07e3afce..0afc3acadf7e 100644 --- a/editors/openoffice.org-3-RC/files/Makefile.knobs +++ b/editors/openoffice.org-3-RC/files/Makefile.knobs @@ -19,7 +19,7 @@ CONFIGURE_ARGS+= --enable-cups .if defined(ALL_LOCALIZED_LANGS) CONFIGURE_ARGS+= --with-lang="en-US ar ca cs da de el es et fi fr he hi-IN hu it ja ko pl pt pt-BR ru sk sl sv th tr zh-CN zh-TW" -#following langs still seem to be under development +#following langs still seem to be under development #af bg cy eo eu gl kn-IN lt nb nl nn ns tn zu #CONFIGURE_ARGS+= --with-lang=ALL .else diff --git a/editors/openoffice.org-3-RC/files/patch-config_office+set_soenv.in b/editors/openoffice.org-3-RC/files/patch-config_office+set_soenv.in deleted file mode 100644 index 9b2a97774dc1..000000000000 --- a/editors/openoffice.org-3-RC/files/patch-config_office+set_soenv.in +++ /dev/null @@ -1,25 +0,0 @@ -#iZ and CWS -o http://www.openoffice.org/issues/show_bug.cgi?id=37731 -o http://eis.services.openoffice.org/EIS2/servlet/cws.ShowCWS?Id=2030&Path=SRC680%2Fpj16 -o pj16 - -Description -Do not export LINK to environment - -Index: config_office/set_soenv.in -=================================================================== -RCS file: /cvs/tools/config_office/set_soenv.in,v -retrieving revision 1.31 -diff -u -r1.31 set_soenv.in ---- config_office/set_soenv.in 5 Jan 2005 12:10:00 -0000 1.31 -+++ config_office/set_soenv.in 9 Jan 2005 18:51:24 -0000 -@@ -1684,9 +1684,6 @@ - ToFile( "CC", $CC, "e" ); - ToFile( "CXX", $CXX, "e" ); - ToFile( "USE_SYSTEM_STL", "@USE_SYSTEM_STL@", "e" ); --if ( $COM ne "MSC" ) { -- ToFile( "LINK", $CC, "e" ); --} - ToFile( "ENABLE_SYMBOLS", "@ENABLE_SYMBOLS@", "e" ); - ToFile( "ENABLE_CRASHDUMP", "@ENABLE_CRASHDUMP@", "e" ); - ToFile( "ENABLE_CUPS", "@ENABLE_CUPS@", "e" ); diff --git a/editors/openoffice.org-3-RC/files/patch-project-bridges b/editors/openoffice.org-3-RC/files/patch-project-bridges deleted file mode 100644 index 890cab171898..000000000000 --- a/editors/openoffice.org-3-RC/files/patch-project-bridges +++ /dev/null @@ -1,1004 +0,0 @@ -#iZ and CWS -o http://www.openoffice.org/issues/show_bug.cgi?id=40178 - -Description -catch up recent version of -bridges/source/cpp_uno/gcc3_linux_intel/cpp2uno.cxx -Only difference is: -- rtti = (type_info *)dlsym( m_hApp, symName.getStr() ); -+ rtti = (type_info *)dlsym( RTLD_DEFAULT, symName.getStr() ); -#iZ 22253 for reason why we changed m_hApp to RTLD_DEFAULT - -Index: bridges/source/cpp_uno/gcc3_freebsd_intel/cpp2uno.cxx -=================================================================== -RCS file: /cvs/udk/bridges/source/cpp_uno/gcc3_freebsd_intel/cpp2uno.cxx,v -retrieving revision 1.3 -diff -u -r1.3 cpp2uno.cxx ---- bridges/source/cpp_uno/gcc3_freebsd_intel/cpp2uno.cxx 28 Apr 2003 16:28:20 -0000 1.3 -+++ bridges/source/cpp_uno/gcc3_freebsd_intel/cpp2uno.cxx 27 Dec 2004 06:05:52 -0000 -@@ -2,9 +2,9 @@ - * - * $RCSfile: cpp2uno.cxx,v $ - * -- * $Revision: 1.3 $ -+ * $Revision: 1.6 $ - * -- * last change: $Author: hr $ $Date: 2003/04/28 16:28:20 $ -+ * last change: $Author: obo $ $Date: 2004/06/04 02:59:45 $ - * - * The Contents of this file are made available subject to the terms of - * either of the following licenses -@@ -59,34 +59,26 @@ - * - ************************************************************************/ - --#include <hash_map> -- --#include <sal/alloca.h> --#include <rtl/alloc.h> --#include <osl/mutex.hxx> -- -+#include <com/sun/star/uno/genfunc.hxx> -+#include "com/sun/star/uno/RuntimeException.hpp" - #include <uno/data.h> - #include <typelib/typedescription.hxx> - --#include <bridges/cpp_uno/bridge.hxx> --#include <bridges/cpp_uno/type_misc.hxx> -+#include "bridges/cpp_uno/shared/bridge.hxx" -+#include "bridges/cpp_uno/shared/cppinterfaceproxy.hxx" -+#include "bridges/cpp_uno/shared/types.hxx" -+#include "bridges/cpp_uno/shared/vtablefactory.hxx" - - #include "share.hxx" - -- --using namespace ::osl; --using namespace ::rtl; - using namespace ::com::sun::star::uno; - --namespace CPPU_CURRENT_NAMESPACE -+namespace - { - - //================================================================================================== --rtl_StandardModuleCount g_moduleCount = MODULE_COUNT_INIT; -- --//================================================================================================== - static typelib_TypeClass cpp2uno_call( -- cppu_cppInterfaceProxy * pThis, -+ bridges::cpp_uno::shared::CppInterfaceProxy * pThis, - const typelib_TypeDescription * pMemberTypeDescr, - typelib_TypeDescriptionReference * pReturnTypeRef, // 0 indicates void return - sal_Int32 nParams, typelib_MethodParameter * pParams, -@@ -106,7 +98,7 @@ - - if (pReturnTypeDescr) - { -- if (cppu_isSimpleType( pReturnTypeDescr )) -+ if (bridges::cpp_uno::shared::isSimpleType( pReturnTypeDescr )) - { - pUnoReturn = pRegisterReturn; // direct way for simple types - } -@@ -115,7 +107,8 @@ - pCppReturn = *(void **)pCppStack; - pCppStack += sizeof(void *); - -- pUnoReturn = (cppu_relatesToInterface( pReturnTypeDescr ) -+ pUnoReturn = (bridges::cpp_uno::shared::relatesToInterfaceType( -+ pReturnTypeDescr ) - ? alloca( pReturnTypeDescr->nSize ) - : pCppReturn); // direct way - } -@@ -141,7 +134,9 @@ - typelib_TypeDescription * pParamTypeDescr = 0; - TYPELIB_DANGER_GET( &pParamTypeDescr, rParam.pTypeRef ); - -- if (!rParam.bOut && cppu_isSimpleType( pParamTypeDescr )) // value -+ if (!rParam.bOut -+ && bridges::cpp_uno::shared::isSimpleType( pParamTypeDescr )) -+ // value - { - pCppArgs[nPos] = pCppStack; - pUnoArgs[nPos] = pCppStack; -@@ -168,11 +163,12 @@ - ppTempParamTypeDescr[nTempIndizes++] = pParamTypeDescr; - } - // is in/inout -- else if (cppu_relatesToInterface( pParamTypeDescr )) -+ else if (bridges::cpp_uno::shared::relatesToInterfaceType( -+ pParamTypeDescr )) - { - uno_copyAndConvertData( pUnoArgs[nPos] = alloca( pParamTypeDescr->nSize ), - *(void **)pCppStack, pParamTypeDescr, -- &pThis->pBridge->aCpp2Uno ); -+ pThis->getBridge()->getCpp2Uno() ); - pTempIndizes[nTempIndizes] = nPos; // has to be reconverted - // will be released at reconversion - ppTempParamTypeDescr[nTempIndizes++] = pParamTypeDescr; -@@ -192,7 +188,8 @@ - uno_Any * pUnoExc = &aUnoExc; - - // invoke uno dispatch call -- (*pThis->pUnoI->pDispatcher)( pThis->pUnoI, pMemberTypeDescr, pUnoReturn, pUnoArgs, &pUnoExc ); -+ (*pThis->getUnoI()->pDispatcher)( -+ pThis->getUnoI(), pMemberTypeDescr, pUnoReturn, pUnoArgs, &pUnoExc ); - - // in case an exception occured... - if (pUnoExc) -@@ -209,7 +206,9 @@ - if (pReturnTypeDescr) - TYPELIB_DANGER_RELEASE( pReturnTypeDescr ); - -- raiseException( &aUnoExc, &pThis->pBridge->aUno2Cpp ); // has to destruct the any -+ CPPU_CURRENT_NAMESPACE::raiseException( -+ &aUnoExc, pThis->getBridge()->getUno2Cpp() ); -+ // has to destruct the any - // is here for dummy - return typelib_TypeClass_VOID; - } -@@ -226,7 +225,7 @@ - // convert and assign - uno_destructData( pCppArgs[nIndex], pParamTypeDescr, cpp_release ); - uno_copyAndConvertData( pCppArgs[nIndex], pUnoArgs[nIndex], pParamTypeDescr, -- &pThis->pBridge->aUno2Cpp ); -+ pThis->getBridge()->getUno2Cpp() ); - } - // destroy temp uno param - uno_destructData( pUnoArgs[nIndex], pParamTypeDescr, 0 ); -@@ -239,7 +238,7 @@ - if (pUnoReturn != pCppReturn) // needs reconversion - { - uno_copyAndConvertData( pCppReturn, pUnoReturn, pReturnTypeDescr, -- &pThis->pBridge->aUno2Cpp ); -+ pThis->getBridge()->getUno2Cpp() ); - // destroy temp uno return - uno_destructData( pUnoReturn, pReturnTypeDescr, 0 ); - } -@@ -260,38 +259,41 @@ - - //================================================================================================== - static typelib_TypeClass cpp_mediate( -- sal_Int32 nVtableCall, -+ sal_Int32 nFunctionIndex, -+ sal_Int32 nVtableOffset, - void ** pCallStack, - sal_Int64 * pRegisterReturn /* space for register return */ ) - { - OSL_ENSURE( sizeof(sal_Int32)==sizeof(void *), "### unexpected!" ); - - // pCallStack: ret adr, [ret *], this, params -- // _this_ ptr is patched cppu_XInterfaceProxy object -- cppu_cppInterfaceProxy * pCppI = NULL; -- if( nVtableCall & 0x80000000 ) -+ void * pThis; -+ if( nFunctionIndex & 0x80000000 ) - { -- nVtableCall &= 0x7fffffff; -- pCppI = (cppu_cppInterfaceProxy *)(XInterface *)*(pCallStack +2); -+ nFunctionIndex &= 0x7fffffff; -+ pThis = pCallStack[2]; - } - else - { -- pCppI = (cppu_cppInterfaceProxy *)(XInterface *)*(pCallStack +1); -+ pThis = pCallStack[1]; - } -+ pThis = static_cast< char * >(pThis) - nVtableOffset; -+ bridges::cpp_uno::shared::CppInterfaceProxy * pCppI -+ = bridges::cpp_uno::shared::CppInterfaceProxy::castInterfaceToProxy( -+ pThis); - -- typelib_InterfaceTypeDescription * pTypeDescr = pCppI->pTypeDescr; -+ typelib_InterfaceTypeDescription * pTypeDescr = pCppI->getTypeDescr(); - -- OSL_ENSURE( nVtableCall < pTypeDescr->nMapFunctionIndexToMemberIndex, "### illegal vtable index!" ); -- if (nVtableCall >= pTypeDescr->nMapFunctionIndexToMemberIndex) -+ OSL_ENSURE( nFunctionIndex < pTypeDescr->nMapFunctionIndexToMemberIndex, "### illegal vtable index!" ); -+ if (nFunctionIndex >= pTypeDescr->nMapFunctionIndexToMemberIndex) - { - throw RuntimeException( -- OUString::createFromAscii("illegal vtable index!"), -- (XInterface *)pCppI ); -+ rtl::OUString::createFromAscii("illegal vtable index!"), -+ (XInterface *)pThis ); - } - - // determine called method -- OSL_ENSURE( nVtableCall < pTypeDescr->nMapFunctionIndexToMemberIndex, "### illegal vtable index!" ); -- sal_Int32 nMemberPos = pTypeDescr->pMapFunctionIndexToMemberIndex[nVtableCall]; -+ sal_Int32 nMemberPos = pTypeDescr->pMapFunctionIndexToMemberIndex[nFunctionIndex]; - OSL_ENSURE( nMemberPos < pTypeDescr->nAllMembers, "### illegal member index!" ); - - TypeDescription aMemberDescr( pTypeDescr->ppAllMembers[nMemberPos] ); -@@ -301,7 +303,7 @@ - { - case typelib_TypeClass_INTERFACE_ATTRIBUTE: - { -- if (pTypeDescr->pMapMemberIndexToFunctionIndex[nMemberPos] == nVtableCall) -+ if (pTypeDescr->pMapMemberIndexToFunctionIndex[nMemberPos] == nFunctionIndex) - { - // is GET method - eRet = cpp2uno_call( -@@ -330,7 +332,7 @@ - case typelib_TypeClass_INTERFACE_METHOD: - { - // is METHOD -- switch (nVtableCall) -+ switch (nFunctionIndex) - { - case 1: // acquire() - pCppI->acquireProxy(); // non virtual call! -@@ -347,9 +349,10 @@ - if (pTD) - { - XInterface * pInterface = 0; -- (*pCppI->pBridge->pCppEnv->getRegisteredInterface)( -- pCppI->pBridge->pCppEnv, -- (void **)&pInterface, pCppI->oid.pData, (typelib_InterfaceTypeDescription *)pTD ); -+ (*pCppI->getBridge()->getCppEnv()->getRegisteredInterface)( -+ pCppI->getBridge()->getCppEnv(), -+ (void **)&pInterface, pCppI->getOid().pData, -+ (typelib_InterfaceTypeDescription *)pTD ); - - if (pInterface) - { -@@ -378,8 +381,8 @@ - default: - { - throw RuntimeException( -- OUString::createFromAscii("no member description found!"), -- (XInterface *)pCppI ); -+ rtl::OUString::createFromAscii("no member description found!"), -+ (XInterface *)pThis ); - // is here for dummy - eRet = typelib_TypeClass_VOID; - } -@@ -393,12 +396,15 @@ - * is called on incoming vtable calls - * (called by asm snippets) - */ --static void cpp_vtable_call( int nTableEntry, void** pCallStack ) __attribute__((regparm(2))); -+static void cpp_vtable_call( -+ int nFunctionIndex, int nVtableOffset, void** pCallStack ) -+ __attribute__((regparm(3))); - --void cpp_vtable_call( int nTableEntry, void** pCallStack ) -+void cpp_vtable_call( int nFunctionIndex, int nVtableOffset, void** pCallStack ) - { - volatile long nRegReturn[2]; -- typelib_TypeClass aType = cpp_mediate( nTableEntry, pCallStack, (sal_Int64*)nRegReturn ); -+ typelib_TypeClass aType = cpp_mediate( -+ nFunctionIndex, nVtableOffset, pCallStack, (sal_Int64*)nRegReturn ); - - switch( aType ) - { -@@ -434,161 +440,103 @@ - - - //================================================================================================== --class MediateClassData --{ -- typedef ::std::hash_map< OUString, void *, OUStringHash > t_classdata_map; -- t_classdata_map m_map; -- Mutex m_mutex; -- --public: -- void const * get_vtable( typelib_InterfaceTypeDescription * pTD ) SAL_THROW( () ); -- -- inline MediateClassData() SAL_THROW( () ) -- {} -- ~MediateClassData() SAL_THROW( () ); --}; --//__________________________________________________________________________________________________ --MediateClassData::~MediateClassData() SAL_THROW( () ) -+int const codeSnippetSize = 20; -+ -+unsigned char * codeSnippet( -+ unsigned char * code, sal_Int32 functionIndex, sal_Int32 vtableOffset, -+ bool simpleRetType) - { -- OSL_TRACE( "> calling ~MediateClassData(): freeing mediate vtables." ); -- -- for ( t_classdata_map::const_iterator iPos( m_map.begin() ); iPos != m_map.end(); ++iPos ) -- { -- ::rtl_freeMemory( iPos->second ); -- } -+ if (!simpleRetType) { -+ functionIndex |= 0x80000000; -+ } -+ unsigned char * p = code; -+ OSL_ASSERT(sizeof (sal_Int32) == 4); -+ // mov function_index, %eax: -+ *p++ = 0xB8; -+ *reinterpret_cast< sal_Int32 * >(p) = functionIndex; -+ p += sizeof (sal_Int32); -+ // mov vtable_offset, %edx: -+ *p++ = 0xBA; -+ *reinterpret_cast< sal_Int32 * >(p) = vtableOffset; -+ p += sizeof (sal_Int32); -+ // mov %esp, %ecx: -+ *p++ = 0x89; -+ *p++ = 0xE1; -+ // jmp cpp_vtable_call: -+ *p++ = 0xE9; -+ *reinterpret_cast< sal_Int32 * >(p) -+ = ((unsigned char *) cpp_vtable_call) - p - sizeof (sal_Int32); -+ p += sizeof (sal_Int32); -+ OSL_ASSERT(p - code <= codeSnippetSize); -+ return code + codeSnippetSize; - } --//-------------------------------------------------------------------------------------------------- --static inline void codeSnippet( char * code, sal_uInt32 vtable_pos, bool simple_ret_type ) SAL_THROW( () ) --{ -- if (! simple_ret_type) -- vtable_pos |= 0x80000000; -- OSL_ASSERT( sizeof (long) == 4 ); -- // mov $nPos, %eax -- *code++ = 0xb8; -- *(long *)code = vtable_pos; -- code += sizeof (long); -- // mov %esp, %edx -- *code++ = 0x89; -- *code++ = 0xe2; -- // jmp cpp_vtable_call -- *code++ = 0xe9; -- *(long *)code = ((char *)cpp_vtable_call) - code - sizeof (long); -+ - } --//__________________________________________________________________________________________________ --void const * MediateClassData::get_vtable( typelib_InterfaceTypeDescription * pTD ) SAL_THROW( () ) --{ -- void * buffer; -- -- // avoiding locked counts -- OUString const & unoName = *(OUString const *)&((typelib_TypeDescription *)pTD)->pTypeName; -- { -- MutexGuard aGuard( m_mutex ); -- t_classdata_map::const_iterator iFind( m_map.find( unoName ) ); -- if (iFind == m_map.end()) -- { -- // create new vtable -- sal_Int32 nSlots = pTD->nMapFunctionIndexToMemberIndex; -- buffer = ::rtl_allocateMemory( ((2+ nSlots) * sizeof (void *)) + (nSlots *20) ); -- -- ::std::pair< t_classdata_map::iterator, bool > insertion( -- m_map.insert( t_classdata_map::value_type( unoName, buffer ) ) ); -- OSL_ENSURE( insertion.second, "### inserting new vtable buffer failed?!" ); -- -- void ** slots = (void **)buffer; -- *slots++ = 0; -- *slots++ = 0; // rtti -- char * code = (char *)(slots + nSlots); -- -- sal_uInt32 vtable_pos = 0; -- sal_Int32 nAllMembers = pTD->nAllMembers; -- typelib_TypeDescriptionReference ** ppAllMembers = pTD->ppAllMembers; -- for ( sal_Int32 nPos = 0; nPos < nAllMembers; ++nPos ) -- { -- typelib_TypeDescription * pTD = 0; -- TYPELIB_DANGER_GET( &pTD, ppAllMembers[ nPos ] ); -- OSL_ASSERT( pTD ); -- if (typelib_TypeClass_INTERFACE_ATTRIBUTE == pTD->eTypeClass) -- { -- bool simple_ret = cppu_isSimpleType( -- ((typelib_InterfaceAttributeTypeDescription *)pTD)->pAttributeTypeRef->eTypeClass ); -- // get method -- *slots++ = code; -- codeSnippet( code, vtable_pos++, simple_ret ); -- code += 20; -- if (! ((typelib_InterfaceAttributeTypeDescription *)pTD)->bReadOnly) -- { -- // set method -- *slots++ = code; -- codeSnippet( code, vtable_pos++, true ); -- code += 20; -- } -- } -- else -+ -+void ** bridges::cpp_uno::shared::VtableFactory::mapBlockToVtable(char * block) -+{ -+ return reinterpret_cast< void ** >(block) + 2; -+} -+ -+char * bridges::cpp_uno::shared::VtableFactory::createBlock( -+ sal_Int32 slotCount, void *** slots) -+{ -+ char * block = new char[ -+ (slotCount + 2) * sizeof (void *) + slotCount * codeSnippetSize]; -+ *slots = mapBlockToVtable(block); -+ (*slots)[-2] = 0; -+ (*slots)[-1] = 0; -+ return block; -+} -+ -+unsigned char * bridges::cpp_uno::shared::VtableFactory::addLocalFunctions( -+ void ** slots, unsigned char * code, -+ typelib_InterfaceTypeDescription const * type, sal_Int32 functionOffset, -+ sal_Int32 functionCount, sal_Int32 vtableOffset) -+{ -+ for (sal_Int32 i = 0; i < type->nMembers; ++i) { -+ typelib_TypeDescription * member = 0; -+ TYPELIB_DANGER_GET(&member, type->ppMembers[i]); -+ OSL_ASSERT(member != 0); -+ switch (member->eTypeClass) { -+ case typelib_TypeClass_INTERFACE_ATTRIBUTE: -+ // Getter: -+ *slots++ = code; -+ code = codeSnippet( -+ code, functionOffset++, vtableOffset, -+ bridges::cpp_uno::shared::isSimpleType( -+ reinterpret_cast< -+ typelib_InterfaceAttributeTypeDescription * >( -+ member)->pAttributeTypeRef)); -+ // Setter: -+ if (!reinterpret_cast< -+ typelib_InterfaceAttributeTypeDescription * >( -+ member)->bReadOnly) - { -- bool simple_ret = cppu_isSimpleType( -- ((typelib_InterfaceMethodTypeDescription *)pTD)->pReturnTypeRef->eTypeClass ); - *slots++ = code; -- codeSnippet( code, vtable_pos++, simple_ret ); -- code += 20; -+ code = codeSnippet(code, functionOffset++, vtableOffset, true); - } -- TYPELIB_DANGER_RELEASE( pTD ); -+ break; -+ -+ case typelib_TypeClass_INTERFACE_METHOD: -+ *slots++ = code; -+ code = codeSnippet( -+ code, functionOffset++, vtableOffset, -+ bridges::cpp_uno::shared::isSimpleType( -+ reinterpret_cast< -+ typelib_InterfaceMethodTypeDescription * >( -+ member)->pReturnTypeRef)); -+ break; -+ -+ default: -+ OSL_ASSERT(false); -+ break; - } -- OSL_ASSERT( vtable_pos == nSlots ); -- } -- else -- { -- buffer = iFind->second; -- } -+ TYPELIB_DANGER_RELEASE(member); - } -- -- return ((void **)buffer +2); --} -- --//================================================================================================== --void SAL_CALL cppu_cppInterfaceProxy_patchVtable( -- XInterface * pCppI, typelib_InterfaceTypeDescription * pTypeDescr ) throw () --{ -- static MediateClassData * s_pMediateClassData = 0; -- if (! s_pMediateClassData) -- { -- MutexGuard aGuard( Mutex::getGlobalMutex() ); -- if (! s_pMediateClassData) -- { --#ifdef LEAK_STATIC_DATA -- s_pMediateClassData = new MediateClassData(); --#else -- static MediateClassData s_aMediateClassData; -- s_pMediateClassData = &s_aMediateClassData; --#endif -- } -- } -- *(void const **)pCppI = s_pMediateClassData->get_vtable( pTypeDescr ); --} -- -+ return code; - } - --extern "C" --{ --//################################################################################################## --sal_Bool SAL_CALL component_canUnload( TimeValue * pTime ) -- SAL_THROW_EXTERN_C() --{ -- return CPPU_CURRENT_NAMESPACE::g_moduleCount.canUnload( -- &CPPU_CURRENT_NAMESPACE::g_moduleCount, pTime ); --} --//################################################################################################## --void SAL_CALL uno_initEnvironment( uno_Environment * pCppEnv ) -- SAL_THROW_EXTERN_C() --{ -- CPPU_CURRENT_NAMESPACE::cppu_cppenv_initEnvironment( -- pCppEnv ); --} --//################################################################################################## --void SAL_CALL uno_ext_getMapping( -- uno_Mapping ** ppMapping, uno_Environment * pFrom, uno_Environment * pTo ) -- SAL_THROW_EXTERN_C() --{ -- CPPU_CURRENT_NAMESPACE::cppu_ext_getMapping( -- ppMapping, pFrom, pTo ); --} --} -+void bridges::cpp_uno::shared::VtableFactory::flushCode( -+ unsigned char const *, unsigned char const *) -+{} -Index: bridges/source/cpp_uno/gcc3_freebsd_intel/except.cxx -=================================================================== -RCS file: /cvs/udk/bridges/source/cpp_uno/gcc3_freebsd_intel/except.cxx,v -retrieving revision 1.4 -diff -u -r1.4 except.cxx ---- bridges/source/cpp_uno/gcc3_freebsd_intel/except.cxx 28 Apr 2003 16:41:25 -0000 1.4 -+++ bridges/source/cpp_uno/gcc3_freebsd_intel/except.cxx 27 Dec 2004 06:05:52 -0000 -@@ -2,9 +2,9 @@ - * - * $RCSfile: except.cxx,v $ - * -- * $Revision: 1.4 $ -+ * $Revision: 1.10 $ - * -- * last change: $Author: hr $ $Date: 2003/04/28 16:41:25 $ -+ * last change: $Author: obo $ $Date: 2004/06/04 02:59:59 $ - * - * The Contents of this file are made available subject to the terms of - * either of the following licenses -@@ -69,7 +69,8 @@ - #include <osl/diagnose.h> - #include <osl/mutex.hxx> - --#include <bridges/cpp_uno/bridge.hxx> -+#include <com/sun/star/uno/genfunc.hxx> -+#include "com/sun/star/uno/RuntimeException.hpp" - #include <typelib/typedescription.hxx> - #include <uno/any2.h> - -@@ -147,7 +148,7 @@ - }; - //__________________________________________________________________________________________________ - RTTI::RTTI() SAL_THROW( () ) -- : m_hApp( dlopen( 0, RTLD_LAZY ) ) -+ : m_hApp( dlopen( 0, RTLD_NOW | RTLD_GLOBAL ) ) - { - } - //__________________________________________________________________________________________________ -@@ -182,7 +183,8 @@ - buf.append( 'E' ); - - OString symName( buf.makeStringAndClear() ); -- rtti = (type_info *)dlsym( m_hApp, symName.getStr() ); -+//#iZ 22253 -+ rtti = (type_info *)dlsym( RTLD_DEFAULT, symName.getStr() ); - - if (rtti) - { -@@ -253,7 +255,7 @@ - //================================================================================================== - void raiseException( uno_Any * pUnoExc, uno_Mapping * pUno2Cpp ) - { --#if defined DEBUG -+#if OSL_DEBUG_LEVEL > 1 - OString cstr( - OUStringToOString( - *reinterpret_cast< OUString const * >( &pUnoExc->pType->pTypeName ), -@@ -275,7 +277,7 @@ - *reinterpret_cast< OUString const * >( &pUnoExc->pType->pTypeName ), - Reference< XInterface >() ); - } -- -+ - pCppExc = __cxa_allocate_exception( pTypeDescr->nSize ); - ::uno_copyAndConvertData( pCppExc, pUnoExc->pData, pTypeDescr, pUno2Cpp ); - -@@ -321,16 +323,16 @@ - Reference< XInterface >() ); - Type const & rType = ::getCppuType( &aRE ); - uno_type_any_constructAndConvert( pUnoExc, &aRE, rType.getTypeLibType(), pCpp2Uno ); --#if defined _DEBUG -+#if OSL_DEBUG_LEVEL > 0 - OString cstr( OUStringToOString( aRE.Message, RTL_TEXTENCODING_ASCII_US ) ); - OSL_ENSURE( 0, cstr.getStr() ); - #endif - return; - } -- -+ - typelib_TypeDescription * pExcTypeDescr = 0; - OUString unoName( toUNOname( header->exceptionType->name() ) ); --#if defined DEBUG -+#if OSL_DEBUG_LEVEL > 1 - OString cstr_unoName( OUStringToOString( unoName, RTL_TEXTENCODING_ASCII_US ) ); - fprintf( stderr, "> c++ exception occured: %s\n", cstr_unoName.getStr() ); - #endif -@@ -342,7 +344,7 @@ - Reference< XInterface >() ); - Type const & rType = ::getCppuType( &aRE ); - uno_type_any_constructAndConvert( pUnoExc, &aRE, rType.getTypeLibType(), pCpp2Uno ); --#if defined _DEBUG -+#if OSL_DEBUG_LEVEL > 0 - OString cstr( OUStringToOString( aRE.Message, RTL_TEXTENCODING_ASCII_US ) ); - OSL_ENSURE( 0, cstr.getStr() ); - #endif -Index: bridges/source/cpp_uno/gcc3_freebsd_intel/makefile.mk -=================================================================== -RCS file: /cvs/udk/bridges/source/cpp_uno/gcc3_freebsd_intel/makefile.mk,v -retrieving revision 1.2 -diff -u -r1.2 makefile.mk ---- bridges/source/cpp_uno/gcc3_freebsd_intel/makefile.mk 18 Mar 2003 19:06:52 -0000 1.2 -+++ bridges/source/cpp_uno/gcc3_freebsd_intel/makefile.mk 27 Dec 2004 06:05:52 -0000 -@@ -2,9 +2,9 @@ - # - # $RCSfile: makefile.mk,v $ - # --# $Revision: 1.2 $ -+# $Revision: 1.3 $ - # --# last change: $Author: hr $ $Date: 2003/03/18 19:06:52 $ -+# last change: $Author: hr $ $Date: 2004/02/03 12:37:41 $ - # - # The Contents of this file are made available subject to the terms of - # either of the following licenses -@@ -95,10 +95,8 @@ - SHL1IMPLIB=i$(TARGET) - SHL1VERSIONMAP=..$/..$/bridge_exports.map - --SHL1OBJS= \ -- $(SLO)$/except.obj \ -- $(SLO)$/cpp2uno.obj \ -- $(SLO)$/uno2cpp.obj -+SHL1OBJS = $(SLOFILES) -+SHL1LIBS = $(SLB)$/cpp_uno_shared.lib - - SHL1STDLIBS= \ - $(CPPULIB) \ -Index: bridges/source/cpp_uno/gcc3_freebsd_intel/share.hxx -=================================================================== -RCS file: /cvs/udk/bridges/source/cpp_uno/gcc3_freebsd_intel/share.hxx,v -retrieving revision 1.2 -diff -u -r1.2 share.hxx ---- bridges/source/cpp_uno/gcc3_freebsd_intel/share.hxx 18 Mar 2003 19:06:53 -0000 1.2 -+++ bridges/source/cpp_uno/gcc3_freebsd_intel/share.hxx 27 Dec 2004 06:05:52 -0000 -@@ -4,7 +4,7 @@ - * - * $Revision: 1.2 $ - * -- * last change: $Author: hr $ $Date: 2003/03/18 19:06:53 $ -+ * last change: $Author: hr $ $Date: 2004/02/03 12:38:19 $ - * - * The Contents of this file are made available subject to the terms of - * either of the following licenses -@@ -59,6 +59,8 @@ - * - ************************************************************************/ - -+#include "uno/mapping.h" -+ - #include <typeinfo> - #include <exception> - #include <cstddef> -@@ -66,6 +68,8 @@ - namespace CPPU_CURRENT_NAMESPACE - { - -+void dummy_can_throw_anything( char const * ); -+ - // ----- following decl from libstdc++-v3/libsupc++/unwind-cxx.h and unwind.h - - struct _Unwind_Exception -Index: bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx -=================================================================== -RCS file: /cvs/udk/bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx,v -retrieving revision 1.5 -diff -u -r1.5 uno2cpp.cxx ---- bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx 3 Nov 2004 09:03:15 -0000 1.5 -+++ bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx 27 Dec 2004 06:05:52 -0000 -@@ -2,9 +2,9 @@ - * - * $RCSfile: uno2cpp.cxx,v $ - * -- * $Revision: 1.5 $ -+ * $Revision: 1.7 $ - * -- * last change: $Author: pjunck $ $Date: 2004/11/03 09:03:15 $ -+ * last change: $Author: sb $ $Date: 2004/09/27 09:08:35 $ - * - * The Contents of this file are made available subject to the terms of - * either of the following licenses -@@ -59,24 +59,25 @@ - * - ************************************************************************/ - --#include <sal/alloca.h> --#include <rtl/alloc.h> -+#include <stdlib.h> - -+#include <com/sun/star/uno/genfunc.hxx> -+#include "com/sun/star/uno/RuntimeException.hpp" - #include <uno/data.h> --#include <bridges/cpp_uno/bridge.hxx> --#include <bridges/cpp_uno/type_misc.hxx> - --#include "share.hxx" -+#include "bridges/cpp_uno/shared/bridge.hxx" -+#include "bridges/cpp_uno/shared/types.hxx" -+#include "bridges/cpp_uno/shared/unointerfaceproxy.hxx" -+#include "bridges/cpp_uno/shared/vtables.hxx" - -+#include "share.hxx" - - using namespace ::rtl; - using namespace ::com::sun::star::uno; - --namespace CPPU_CURRENT_NAMESPACE -+namespace - { - --void dummy_can_throw_anything( char const * ); -- - //================================================================================================== - // The call instruction within the asm section of callVirtualMethod may throw - // exceptions. So that the compiler handles this correctly, it is important -@@ -85,7 +86,7 @@ - // callVirtualMethod is not inlined at its call site (so that any exceptions are - // caught which are thrown from the instruction calling callVirtualMethod): - void callVirtualMethod( -- void * pThis, -+ void * pAdjustedThisPtr, - sal_Int32 nVtableIndex, - void * pRegisterReturn, - typelib_TypeClass eReturnType, -@@ -93,7 +94,7 @@ - sal_Int32 nStackLongs ) __attribute__((noinline)); - - void callVirtualMethod( -- void * pThis, -+ void * pAdjustedThisPtr, - sal_Int32 nVtableIndex, - void * pRegisterReturn, - typelib_TypeClass eReturnType, -@@ -103,13 +104,13 @@ - // parameter list is mixed list of * and values - // reference parameters are pointers - -- OSL_ENSURE( pStackLongs && pThis, "### null ptr!" ); -+ OSL_ENSURE( pStackLongs && pAdjustedThisPtr, "### null ptr!" ); - OSL_ENSURE( (sizeof(void *) == 4) && (sizeof(sal_Int32) == 4), "### unexpected size of int!" ); - OSL_ENSURE( nStackLongs && pStackLongs, "### no stack in callVirtualMethod !" ); - - // never called -- if (! pThis) dummy_can_throw_anything("xxx"); // address something -- -+ if (! pAdjustedThisPtr) CPPU_CURRENT_NAMESPACE::dummy_can_throw_anything("xxx"); // address something -+ - volatile long edx = 0, eax = 0; // for register returns - void * stackptr; - asm volatile ( -@@ -139,8 +140,8 @@ - // cleanup stack - "mov %6, %%esp\n\t" - : -- : "m"(nStackLongs), "m"(pStackLongs), "m"(pThis), "m"(nVtableIndex), -- "m"(eax), "m"(edx), "m"(stackptr) -+ : "m"(nStackLongs), "m"(pStackLongs), "m"(pAdjustedThisPtr), -+ "m"(nVtableIndex), "m"(eax), "m"(edx), "m"(stackptr) - : "eax", "edx" ); - switch( eReturnType ) - { -@@ -172,8 +173,8 @@ - - //================================================================================================== - static void cpp_call( -- cppu_unoInterfaceProxy * pThis, -- sal_Int32 nVtableCall, -+ bridges::cpp_uno::shared::UnoInterfaceProxy * pThis, -+ bridges::cpp_uno::shared::VtableSlot aVtableSlot, - typelib_TypeDescriptionReference * pReturnTypeRef, - sal_Int32 nParams, typelib_MethodParameter * pParams, - void * pUnoReturn, void * pUnoArgs[], uno_Any ** ppUnoExc ) -@@ -192,21 +193,25 @@ - - if (pReturnTypeDescr) - { -- if (cppu_isSimpleType( pReturnTypeDescr )) -+ if (bridges::cpp_uno::shared::isSimpleType( pReturnTypeDescr )) - { - pCppReturn = pUnoReturn; // direct way for simple types - } - else - { - // complex return via ptr -- pCppReturn = *(void **)pCppStack = (cppu_relatesToInterface( pReturnTypeDescr ) -- ? alloca( pReturnTypeDescr->nSize ) -- : pUnoReturn); // direct way -+ pCppReturn = *(void **)pCppStack -+ = (bridges::cpp_uno::shared::relatesToInterfaceType( -+ pReturnTypeDescr ) -+ ? alloca( pReturnTypeDescr->nSize ) -+ : pUnoReturn); // direct way - pCppStack += sizeof(void *); - } - } - // push this -- *(void**)pCppStack = pThis->pCppI; -+ void * pAdjustedThisPtr = reinterpret_cast< void ** >(pThis->getCppI()) -+ + aVtableSlot.offset; -+ *(void**)pCppStack = pAdjustedThisPtr; - pCppStack += sizeof( void* ); - - // stack space -@@ -226,10 +231,11 @@ - typelib_TypeDescription * pParamTypeDescr = 0; - TYPELIB_DANGER_GET( &pParamTypeDescr, rParam.pTypeRef ); - -- if (!rParam.bOut && cppu_isSimpleType( pParamTypeDescr )) -+ if (!rParam.bOut -+ && bridges::cpp_uno::shared::isSimpleType( pParamTypeDescr )) - { - uno_copyAndConvertData( pCppArgs[nPos] = pCppStack, pUnoArgs[nPos], pParamTypeDescr, -- &pThis->pBridge->aUno2Cpp ); -+ pThis->getBridge()->getUno2Cpp() ); - - switch (pParamTypeDescr->eTypeClass) - { -@@ -254,11 +260,13 @@ - ppTempParamTypeDescr[nTempIndizes++] = pParamTypeDescr; - } - // is in/inout -- else if (cppu_relatesToInterface( pParamTypeDescr )) -+ else if (bridges::cpp_uno::shared::relatesToInterfaceType( -+ pParamTypeDescr )) - { - uno_copyAndConvertData( - *(void **)pCppStack = pCppArgs[nPos] = alloca( pParamTypeDescr->nSize ), -- pUnoArgs[nPos], pParamTypeDescr, &pThis->pBridge->aUno2Cpp ); -+ pUnoArgs[nPos], pParamTypeDescr, -+ pThis->getBridge()->getUno2Cpp() ); - - pTempIndizes[nTempIndizes] = nPos; // has to be reconverted - // will be released at reconversion -@@ -278,7 +286,7 @@ - { - OSL_ENSURE( !( (pCppStack - pCppStackStart ) & 3), "UNALIGNED STACK !!! (Please DO panic)" ); - callVirtualMethod( -- pThis->pCppI, nVtableCall, -+ pAdjustedThisPtr, aVtableSlot.index, - pCppReturn, pReturnTypeDescr->eTypeClass, - (sal_Int32 *)pCppStackStart, (pCppStack - pCppStackStart) / sizeof(sal_Int32) ); - // NO exception occured... -@@ -296,13 +304,13 @@ - { - uno_destructData( pUnoArgs[nIndex], pParamTypeDescr, 0 ); // destroy uno value - uno_copyAndConvertData( pUnoArgs[nIndex], pCppArgs[nIndex], pParamTypeDescr, -- &pThis->pBridge->aCpp2Uno ); -+ pThis->getBridge()->getCpp2Uno() ); - } - } - else // pure out - { - uno_copyAndConvertData( pUnoArgs[nIndex], pCppArgs[nIndex], pParamTypeDescr, -- &pThis->pBridge->aCpp2Uno ); -+ pThis->getBridge()->getCpp2Uno() ); - } - // destroy temp cpp param => cpp: every param was constructed - uno_destructData( pCppArgs[nIndex], pParamTypeDescr, cpp_release ); -@@ -313,14 +321,14 @@ - if (pCppReturn && pUnoReturn != pCppReturn) - { - uno_copyAndConvertData( pUnoReturn, pCppReturn, pReturnTypeDescr, -- &pThis->pBridge->aCpp2Uno ); -+ pThis->getBridge()->getCpp2Uno() ); - uno_destructData( pCppReturn, pReturnTypeDescr, cpp_release ); - } - } - catch (...) - { - // fill uno exception -- fillUnoException( __cxa_get_globals()->caughtExceptions, *ppUnoExc, &pThis->pBridge->aCpp2Uno ); -+ fillUnoException( CPPU_CURRENT_NAMESPACE::__cxa_get_globals()->caughtExceptions, *ppUnoExc, pThis->getBridge()->getCpp2Uno() ); - - // temporary params - for ( ; nTempIndizes--; ) -@@ -336,32 +344,32 @@ - } - } - -+} - - //================================================================================================== --void SAL_CALL cppu_unoInterfaceProxy_dispatch( -+void bridges::cpp_uno::shared::UnoInterfaceProxy::dispatch( - uno_Interface * pUnoI, const typelib_TypeDescription * pMemberDescr, -- void * pReturn, void * pArgs[], uno_Any ** ppException ) throw () -+ void * pReturn, void * pArgs[], uno_Any ** ppException ) SAL_THROW(()) - { - // is my surrogate -- cppu_unoInterfaceProxy * pThis = (cppu_unoInterfaceProxy *)pUnoI; -+ bridges::cpp_uno::shared::UnoInterfaceProxy * pThis -+ = static_cast< bridges::cpp_uno::shared::UnoInterfaceProxy * >(pUnoI); - typelib_InterfaceTypeDescription * pTypeDescr = pThis->pTypeDescr; - - switch (pMemberDescr->eTypeClass) - { - case typelib_TypeClass_INTERFACE_ATTRIBUTE: - { -- // determine vtable call index -- sal_Int32 nMemberPos = ((typelib_InterfaceMemberTypeDescription *)pMemberDescr)->nPosition; -- OSL_ENSURE( nMemberPos < pTypeDescr->nAllMembers, "### member pos out of range!" ); -- -- sal_Int32 nVtableCall = pTypeDescr->pMapMemberIndexToFunctionIndex[nMemberPos]; -- OSL_ENSURE( nVtableCall < pTypeDescr->nMapFunctionIndexToMemberIndex, "### illegal vtable index!" ); -- -+ VtableSlot aVtableSlot( -+ getVtableSlot( -+ reinterpret_cast< -+ typelib_InterfaceAttributeTypeDescription const * >( -+ pMemberDescr))); - if (pReturn) - { - // dependent dispatch - cpp_call( -- pThis, nVtableCall, -+ pThis, aVtableSlot, - ((typelib_InterfaceAttributeTypeDescription *)pMemberDescr)->pAttributeTypeRef, - 0, 0, // no params - pReturn, pArgs, ppException ); -@@ -381,8 +389,9 @@ - &pReturnTypeRef, typelib_TypeClass_VOID, aVoidName.pData ); - - // dependent dispatch -+ aVtableSlot.index += 1; // get, then set method - cpp_call( -- pThis, nVtableCall +1, // get, then set method -+ pThis, aVtableSlot, - pReturnTypeRef, - 1, &aParam, - pReturn, pArgs, ppException ); -@@ -394,14 +403,12 @@ - } - case typelib_TypeClass_INTERFACE_METHOD: - { -- // determine vtable call index -- sal_Int32 nMemberPos = ((typelib_InterfaceMemberTypeDescription *)pMemberDescr)->nPosition; -- OSL_ENSURE( nMemberPos < pTypeDescr->nAllMembers, "### member pos out of range!" ); -- -- sal_Int32 nVtableCall = pTypeDescr->pMapMemberIndexToFunctionIndex[nMemberPos]; -- OSL_ENSURE( nVtableCall < pTypeDescr->nMapFunctionIndexToMemberIndex, "### illegal vtable index!" ); -- -- switch (nVtableCall) -+ VtableSlot aVtableSlot( -+ getVtableSlot( -+ reinterpret_cast< -+ typelib_InterfaceMethodTypeDescription const * >( -+ pMemberDescr))); -+ switch (aVtableSlot.index) - { - // standard calls - case 1: // acquire uno interface -@@ -419,8 +426,8 @@ - if (pTD) - { - uno_Interface * pInterface = 0; -- (*pThis->pBridge->pUnoEnv->getRegisteredInterface)( -- pThis->pBridge->pUnoEnv, -+ (*pThis->pBridge->getUnoEnv()->getRegisteredInterface)( -+ pThis->pBridge->getUnoEnv(), - (void **)&pInterface, pThis->oid.pData, (typelib_InterfaceTypeDescription *)pTD ); - - if (pInterface) -@@ -439,7 +446,7 @@ - default: - // dependent dispatch - cpp_call( -- pThis, nVtableCall, -+ pThis, aVtableSlot, - ((typelib_InterfaceMethodTypeDescription *)pMemberDescr)->pReturnTypeRef, - ((typelib_InterfaceMethodTypeDescription *)pMemberDescr)->nParams, - ((typelib_InterfaceMethodTypeDescription *)pMemberDescr)->pParams, -@@ -459,6 +466,3 @@ - } - } - } -- --} -- diff --git a/editors/openoffice.org-3-RC/files/patch-project-extentions b/editors/openoffice.org-3-RC/files/patch-project-extentions deleted file mode 100644 index a8b9d7ee9416..000000000000 --- a/editors/openoffice.org-3-RC/files/patch-project-extentions +++ /dev/null @@ -1,65 +0,0 @@ -#iZ and CWS -o http://www.openoffice.org/issues/show_bug.cgi?id=40179 -o http://eis.services.openoffice.org/EIS2/servlet/cws.ShowCWS?Id=2030&Path=SRC680%2Fpj16 -o pj16 - -Description - -o source/config/ldap/makefile.mk needs -lcompat since re_comp is defined here. -o FreeBSD doesn't have -ldl -o INC+= -DNP_LINUX is also requried for FreeBSD - -Index: source/config/ldap/makefile.mk -=================================================================== -RCS file: /cvs/util/extensions/source/config/ldap/makefile.mk,v -retrieving revision 1.4 -diff -u -r1.4 makefile.mk ---- extensions/source/config/ldap/makefile.mk 15 Nov 2004 14:14:22 -0000 1.4 -+++ extensions/source/config/ldap/makefile.mk 8 Jan 2005 02:48:29 -0000 -@@ -116,6 +116,9 @@ - $(CPPULIB) \ - $(SALHELPERLIB) \ - $(SALLIB) -+.IF "$(OS)"=="FREEBSD" -+SHL1STDLIBS+=-lcompat -+.ENDIF - - DEF1NAME=$(SHL1TARGET) - DEF1EXPORTFILE=exports.dxp -Index: source/nsplugin/source/makefile.mk -=================================================================== -RCS file: /cvs/util/extensions/source/nsplugin/source/makefile.mk,v -retrieving revision 1.8 -diff -u -r1.8 makefile.mk ---- extensions/source/nsplugin/source/makefile.mk 3 Jan 2005 09:04:51 -0000 1.8 -+++ extensions/source/nsplugin/source/makefile.mk 8 Jan 2005 02:48:30 -0000 -@@ -78,7 +78,7 @@ - @echo GTK disabled - nothing to build - - .ELSE # "$(ENABLE_GTK)"=="" --.IF "$(OS)"=="LINUX" -+.IF "$(OS)"=="LINUX" || "$(OS)"=="FREEBSD" - INC+= -DNP_LINUX - .ENDIF - PKGCONFIG_MODULES=gtk+-2.0 -@@ -99,8 +99,10 @@ - .IF "$(GUI)"=="UNX" - SHL1OBJS+=$(SLO)$/npunix.obj - SLOFILES+=$(SLO)$/npunix.obj -+.IF "$(OS)"!="FREEBSD" - SHL1STDLIBS+= -ldl -lnsl --.ENDIF -+.ENDIF #FREEBSD -+.ENDIF #UNX - .IF "$(GUI)"=="WNT" - SHL1OBJS+=$(SLO)$/npwin.obj - SLOFILES+=$(SLO)$/npwin.obj -@@ -131,7 +133,7 @@ - - .IF "$(GUI)"=="UNX" - APP1STDLIBS+=$(PKGCONFIG_LIBS:s/-lpangoxft-1.0//) --.IF "$(OS)"=="LINUX" -+.IF "$(OS)"=="LINUX" || "$(OS)"=="FREEBSD" - .ELSE - APP1STDLIBS+= -ldl -lnsl -lnls -lsocket - .ENDIF diff --git a/editors/openoffice.org-3-RC/files/patch-solenv+inc+unxfbsdi.mk b/editors/openoffice.org-3-RC/files/patch-solenv+inc+unxfbsdi.mk deleted file mode 100644 index f3f55df061d4..000000000000 --- a/editors/openoffice.org-3-RC/files/patch-solenv+inc+unxfbsdi.mk +++ /dev/null @@ -1,262 +0,0 @@ -#iZ and CWS -o http://www.openoffice.org/issues/show_bug.cgi?id=40182 - -Description -o catch up recent unxlngi6.mk -o -Wl,-z,defs -> comment out - -Index: solenv/inc/unxfbsdi.mk -=================================================================== -RCS file: /cvs/tools/solenv/inc/unxfbsdi.mk,v -retrieving revision 1.11 -diff -u -r1.11 unxfbsdi.mk ---- solenv/inc/unxfbsdi.mk 20 Sep 2004 08:37:13 -0000 1.11 -+++ solenv/inc/unxfbsdi.mk 10 Jan 2005 07:44:44 -0000 -@@ -60,16 +60,26 @@ - # - #************************************************************************* - --# mak file for unxfbsdi --ASM=$(CC) --AFLAGS=-x assembler-with-cpp -c $(CDEFS) -+# mk file for unxfbsdi -+ASM= -+AFLAGS= -+ -+SOLAR_JAVA*=TRUE -+JAVAFLAGSDEBUG=-g - - # filter for supressing verbose messages from linker - #not needed at the moment - #LINKOUTPUT_FILTER=" |& $(SOLARENV)$/bin$/msg_filter" - -+# _PTHREADS is needed for the stl -+CDEFS+=$(PTHREAD_CFLAGS) -DX86 -D_PTHREADS -D_REENTRANT -DNEW_SOLAR -D_USE_NAMESPACE=1 -DSTLPORT_VERSION=400 -+ -+# enable visibility define in "sal/types.h" -+.IF "$(HAVE_GCC_VISIBILITY_FEATURE)" == "TRUE" -+CDEFS += -DHAVE_GCC_VISIBILITY_FEATURE -+.ENDIF # "$(HAVE_GCC_VISIBILITY_FEATURE)" == "TRUE" -+ - # this is a platform with JAVA support --SOLAR_JAVA*=TRUE - .IF "$(SOLAR_JAVA)"!="" - JAVADEF=-DSOLAR_JAVA - .IF "$(debug)"=="" -@@ -83,90 +93,82 @@ - CXX*=g++ - # name of C Compiler - CC*=gcc -+.IF "$(SYSBASE)"!="" -+CFLAGS_SYSBASE:=-isystem $(SYSBASE)$/usr$/include -+CXX+:=$(CFLAGS_SYSBASE) -+CC+:=$(CFLAGS_SYSBASE) -+.ENDIF # "$(SYSBASE)"!="" -+CFLAGS+=-Wreturn-type -fmessage-length=0 -c $(INCLUDE) -+.IF "$(PRODUCT)"!="" -+CFLAGS+=-Wuninitialized -+.ENDIF - --# filter for supressing verbose messages from linker --# not needed at the moment --LINKOUTPUT_FILTER=" |& $(SOLARENV)$/bin$/msg_filter" -+# flags to enable build with symbols; required for crashdump feature -+.IF "$(ENABLE_SYMBOLS)"=="SMALL" -+CFLAGSENABLESYMBOLS=-g1 -+.ELSE -+CFLAGSENABLESYMBOLS=-g # was temporarily commented out, reenabled before Beta - --# options for C and C++ Compiler --CDEFS+= -D_USE_NAMESPACE=1 -DX86 -DNEW_SOLAR -DSTLPORT_VERSION=450 -DOSVERSION=$(OSVERSION) --CDEFS+= $(PTHREAD_CFLAGS) -D_REENTRANT -- --# flags for C and C++ Compile --CFLAGS+= -w -c $(INCLUDE) --CFLAGS+= -I/usr/X11R6/include -+.ENDIF - - # flags for the C++ Compiler --CFLAGSCC= -pipe -fno-rtti --CFLAGSCXX= -pipe -fno-rtti --CFLAGSCXX+= -Wno-ctor-dtor-privacy -- -+CFLAGSCC= -pipe -mtune=pentiumpro - # Flags for enabling exception handling --CFLAGSEXCEPTIONS= -fexceptions --CFLAGS_NO_EXCEPTIONS= -fno-exceptions -- --# Compiler flags for compiling static object in single threaded --# environment with graphical user interface --CFLAGSOBJGUIST= -fPIC -- --# Compiler flags for compiling static object in single threaded --# environment with character user interface --CFLAGSOBJCUIST= -fPIC -- --# Compiler flags for compiling static object in multi threaded --# environment with graphical user interface --CFLAGSOBJGUIMT= -fPIC -- --# Compiler flags for compiling static object in multi threaded --# environment with character user interface --CFLAGSOBJCUIMT= -fPIC -- --# Compiler flags for compiling shared object in multi threaded --# environment with graphical user interface --CFLAGSSLOGUIMT= -fPIC -- --# Compiler flags for compiling shared object in multi threaded --# environment with character user interface --CFLAGSSLOCUIMT= -fPIC -+CFLAGSEXCEPTIONS=-fexceptions -fno-enforce-eh-specs -+# Flags for disabling exception handling -+CFLAGS_NO_EXCEPTIONS=-fno-exceptions - --# Compiler flags for profilin --CFLAGSPROF= -pg -+# -fpermissive should be removed as soon as possible -+CFLAGSCXX= -pipe -mtune=pentiumpro -+CFLAGSCXX+= -Wno-ctor-dtor-privacy - -+# Compiler flags for compiling static object in single threaded environment with graphical user interface -+CFLAGSOBJGUIST= -+# Compiler flags for compiling static object in single threaded environment with character user interface -+CFLAGSOBJCUIST= -+# Compiler flags for compiling static object in multi threaded environment with graphical user interface -+CFLAGSOBJGUIMT= -+# Compiler flags for compiling static object in multi threaded environment with character user interface -+CFLAGSOBJCUIMT= -+# Compiler flags for compiling shared object in multi threaded environment with graphical user interface -+CFLAGSSLOGUIMT=-fPIC -+# Compiler flags for compiling shared object in multi threaded environment with character user interface -+CFLAGSSLOCUIMT=-fPIC -+# Compiler flags for profiling -+CFLAGSPROF= - # Compiler flags for debugging --CFLAGSDEBUG= -g -+CFLAGSDEBUG=-g - CFLAGSDBGUTIL= -- --# Compiler flags to enable optimizations --# -02 is broken for FreeBSD --CFLAGSOPT= -O -- --# Compiler flags to disable optimizations --# -0 is broken for STLport for FreeBSD --CFLAGSNOOPT= -O0 -- --# Compiler flags for the output path --CFLAGSOUTOBJ= -o -- -+# Compiler flags for enabling optimazations -+.IF "$(PRODUCT)"!="" -+CFLAGSOPT=-Os -fno-strict-aliasing # optimizing for products -+.ELSE # "$(PRODUCT)"!="" -+CFLAGSOPT= # no optimizing for non products -+.ENDIF # "$(PRODUCT)"!="" -+# Compiler flags for disabling optimazations -+CFLAGSNOOPT=-O0 -+# Compiler flags for discibing the output path -+CFLAGSOUTOBJ=-o - # Enable all warnings - CFLAGSWALL=-Wall -- - # Set default warn level --CFLAGSDFLTWARN=-w -+CFLAGSDFLTWARN= - - # switches for dynamic and static linking --STATIC= -Wl,-Bstatic --DYNAMIC= -Wl,-Bdynamic -+STATIC = -Wl,-Bstatic -+DYNAMIC = -Wl,-Bdynamic - - # name of linker --LINK=$(CC) -+LINK*=$(CXX) - - # default linker flags --# LINKFLAGSRUNPATH*=-Wl,-rpath\''$$ORIGIN'\' --LINKFLAGS=$(LINKFLAGSRUNPATH) -+LINKFLAGSDEFS*=#-Wl,-z,defs -+LINKFLAGSRUNPATH*=-Wl,-rpath,\''$$ORIGIN'\' -+LINKFLAGS=-z combreloc $(LINKFLAGSDEFS) $(LINKFLAGSRUNPATH) - - # linker flags for linking applications --LINKFLAGSAPPGUI= -Wl,--noinhibit-exec --LINKFLAGSAPPCUI= -Wl,--noinhibit-exec -+LINKFLAGSAPPGUI= -Wl,-export-dynamic -Wl,--noinhibit-exec -+LINKFLAGSAPPCUI= -Wl,-export-dynamic -Wl,--noinhibit-exec - - # linker flags for linking shared libraries - LINKFLAGSSHLGUI= -shared -@@ -177,23 +179,19 @@ - LINKFLAGSDEBUG=-g - LINKFLAGSOPT= - --.IF "$(NO_BSYMBOLIC)"=="" --.IF "$(PRJNAME)" != "envtest" --LINKFLAGSSHLGUI+= -Wl,-Bsymbolic --LINKFLAGSSHLCUI+= -Wl,-Bsymbolic --.ENDIF --.ENDIF -+# linker flags for optimization (symbol hashtable) -+# for now, applied to symbol scoped libraries, only -+LINKFLAGSOPTIMIZE*=-Wl,-O1 -+LINKVERSIONMAPFLAG=$(LINKFLAGSOPTIMIZE) -Wl,--version-script - --LINKVERSIONMAPFLAG=-Wl,--version-script -+SONAME_SWITCH=-Wl,-h - - # Sequence of libs does matter ! --STDLIBCPP=-lstdc++ - --# _SYSLIBS= -L/usr/lib -lm --# _X11LIBS= -L/usr/X11R6/lib -lXext -lX11 --# _CXXLIBS= -L/usr/lib -lstdc++ -L/usr/local/lib -+STDLIBCPP=-lstdc++ - - # default objectfilenames to link -+STDOBJVCL=$(L)$/salmain.o - STDOBJGUI= - STDSLOGUI= - STDOBJCUI= -@@ -201,24 +199,25 @@ - - # libraries for linking applications - STDLIBCUIST=-lm --STDLIBGUIST=-lXaw -lXt -lX11 -lm --STDLIBGUIMT=-lXaw -lXt -lX11 $(PTHREAD_LIBS) -lm -+STDLIBGUIMT=-lX11 $(PTHREAD_LIBS) -lm - STDLIBCUIMT=$(PTHREAD_LIBS) -lm -- -+STDLIBGUIST=-lX11 -lm - # libraries for linking shared libraries --STDSHLGUIMT=-lXaw -lXt -lX11 -lXext $(PTHREAD_LIBS) -lm -+STDSHLGUIMT=-lX11 -lXext $(PTHREAD_LIBS) -lm - STDSHLCUIMT=$(PTHREAD_LIBS) -lm -+STDSHLGUIST=-lX11 -lXext -lm -+STDSHLCUIST=-lm - - LIBSALCPPRT*=-Wl,--whole-archive -lsalcpprt -Wl,--no-whole-archive - --# STLport always needs pthread. --LIBSTLPORT=$(DYNAMIC) -lstlport_gcc $(STDLIBCPP) $(PTHREAD_LIBS) --LIBSTLPORTST=$(STATIC) -lstlport_gcc $(DYNAMIC) $(PTHREAD_LIBS) -+LIBSTLPORT=$(DYNAMIC) -lstlport_gcc -+LIBSTLPORTST=$(STATIC) -lstlport_gcc $(DYNAMIC) -+ -+#FILLUPARC=$(STATIC) -lsupc++ $(DYNAMIC) - - # name of library manager - LIBMGR=ar - LIBFLAGS=-r --LIBEXT= .a - - # tool for generating import libraries - IMPLIB= -@@ -237,3 +236,4 @@ - DLLPOSTFIX=fi - DLLPRE=lib - DLLPOST=.so -+ diff --git a/editors/openoffice.org-3-RC/files/patch-transex3+source+xmlparse.cxx b/editors/openoffice.org-3-RC/files/patch-transex3+source+xmlparse.cxx deleted file mode 100644 index de1864d5e9cb..000000000000 --- a/editors/openoffice.org-3-RC/files/patch-transex3+source+xmlparse.cxx +++ /dev/null @@ -1,24 +0,0 @@ -#iZ and CWS -o http://www.openoffice.org/issues/show_bug.cgi?id=40184 -o http://eis.services.openoffice.org/EIS2/servlet/cws.ShowCWS?Id=2030&Path=SRC680%2Fpj16 -o pj16 - -Description -FreeBSD doesn't have alloca.h - -Index: source/xmlparse.cxx -=================================================================== -RCS file: /cvs/l10n/transex3/source/xmlparse.cxx,v -retrieving revision 1.5 -diff -u -r1.5 xmlparse.cxx ---- transex3/source/xmlparse.cxx 18 Nov 2004 08:17:50 -0000 1.5 -+++ transex3/source/xmlparse.cxx 8 Jan 2005 02:56:14 -0000 -@@ -67,7 +67,7 @@ - #ifdef WIN32 - #include <malloc.h> - #else --#ifndef MACOSX -+#if !(defined(MACOSX) || defined(FREEBSD)) - #include <alloca.h> - #endif - #endif diff --git a/editors/openoffice.org-3-devel/Makefile b/editors/openoffice.org-3-devel/Makefile index c563bd2c2beb..e6be311f3b31 100644 --- a/editors/openoffice.org-3-devel/Makefile +++ b/editors/openoffice.org-3-devel/Makefile @@ -19,7 +19,7 @@ EXTRACT_ONLY= OOo_${RELEASE_NR}m${MILESTONE}_source.tar.bz2 MAINTAINER= openoffice@FreeBSD.org COMMENT?= Integrated wordprocessor/dbase/spreadheet/drawing/chart/browser(developer version) -SNAPDATE= 20050119 +SNAPDATE= 20050123 NO_LATEST_LINK= yes USE_GNOME= gtk20 MOZILLA_PROJECT= cws_srx645_mozooo.20041016.tar.gz @@ -49,7 +49,7 @@ BROKEN= "rtld depends on _end symbol. type make -DBROKEN to see how to upgrade CODELINE= 680 RELEASE_NR= 1.9 -MILESTONE= 72 +MILESTONE= 73 INSTALLATION_BASEDIR= openoffice.org${RELEASE_NR}m${MILESTONE} EXECBASE= openoffice.org-${RELEASE_NR}m${MILESTONE} DIST_SUBDIR= openoffice.org2.0 diff --git a/editors/openoffice.org-3-devel/distinfo b/editors/openoffice.org-3-devel/distinfo index 8b7774bf8f23..c9e7f5358b88 100644 --- a/editors/openoffice.org-3-devel/distinfo +++ b/editors/openoffice.org-3-devel/distinfo @@ -1,5 +1,5 @@ -MD5 (openoffice.org2.0/OOo_1.9m72_source.tar.bz2) = c51fa9d749f1e5eb3733d50b91f97fe8 -SIZE (openoffice.org2.0/OOo_1.9m72_source.tar.bz2) = 233690890 +MD5 (openoffice.org2.0/OOo_1.9m73_source.tar.bz2) = 0885bb45bd204b03b16f8276cbd922e0 +SIZE (openoffice.org2.0/OOo_1.9m73_source.tar.bz2) = 233756500 MD5 (openoffice.org2.0/gpc231.tar.Z) = fdb06fdb5a4670b172f9fb738b717be9 SIZE (openoffice.org2.0/gpc231.tar.Z) = 27917 MD5 (openoffice.org2.0/cws_srx645_mozooo.20041016.tar.gz) = eda0ab73b24c45890ae08bdfe04049bd diff --git a/editors/openoffice.org-3-devel/files/Makefile.knobs b/editors/openoffice.org-3-devel/files/Makefile.knobs index 5b9c07e3afce..0afc3acadf7e 100644 --- a/editors/openoffice.org-3-devel/files/Makefile.knobs +++ b/editors/openoffice.org-3-devel/files/Makefile.knobs @@ -19,7 +19,7 @@ CONFIGURE_ARGS+= --enable-cups .if defined(ALL_LOCALIZED_LANGS) CONFIGURE_ARGS+= --with-lang="en-US ar ca cs da de el es et fi fr he hi-IN hu it ja ko pl pt pt-BR ru sk sl sv th tr zh-CN zh-TW" -#following langs still seem to be under development +#following langs still seem to be under development #af bg cy eo eu gl kn-IN lt nb nl nn ns tn zu #CONFIGURE_ARGS+= --with-lang=ALL .else diff --git a/editors/openoffice.org-3-devel/files/patch-config_office+set_soenv.in b/editors/openoffice.org-3-devel/files/patch-config_office+set_soenv.in deleted file mode 100644 index 9b2a97774dc1..000000000000 --- a/editors/openoffice.org-3-devel/files/patch-config_office+set_soenv.in +++ /dev/null @@ -1,25 +0,0 @@ -#iZ and CWS -o http://www.openoffice.org/issues/show_bug.cgi?id=37731 -o http://eis.services.openoffice.org/EIS2/servlet/cws.ShowCWS?Id=2030&Path=SRC680%2Fpj16 -o pj16 - -Description -Do not export LINK to environment - -Index: config_office/set_soenv.in -=================================================================== -RCS file: /cvs/tools/config_office/set_soenv.in,v -retrieving revision 1.31 -diff -u -r1.31 set_soenv.in ---- config_office/set_soenv.in 5 Jan 2005 12:10:00 -0000 1.31 -+++ config_office/set_soenv.in 9 Jan 2005 18:51:24 -0000 -@@ -1684,9 +1684,6 @@ - ToFile( "CC", $CC, "e" ); - ToFile( "CXX", $CXX, "e" ); - ToFile( "USE_SYSTEM_STL", "@USE_SYSTEM_STL@", "e" ); --if ( $COM ne "MSC" ) { -- ToFile( "LINK", $CC, "e" ); --} - ToFile( "ENABLE_SYMBOLS", "@ENABLE_SYMBOLS@", "e" ); - ToFile( "ENABLE_CRASHDUMP", "@ENABLE_CRASHDUMP@", "e" ); - ToFile( "ENABLE_CUPS", "@ENABLE_CUPS@", "e" ); diff --git a/editors/openoffice.org-3-devel/files/patch-project-bridges b/editors/openoffice.org-3-devel/files/patch-project-bridges deleted file mode 100644 index 890cab171898..000000000000 --- a/editors/openoffice.org-3-devel/files/patch-project-bridges +++ /dev/null @@ -1,1004 +0,0 @@ -#iZ and CWS -o http://www.openoffice.org/issues/show_bug.cgi?id=40178 - -Description -catch up recent version of -bridges/source/cpp_uno/gcc3_linux_intel/cpp2uno.cxx -Only difference is: -- rtti = (type_info *)dlsym( m_hApp, symName.getStr() ); -+ rtti = (type_info *)dlsym( RTLD_DEFAULT, symName.getStr() ); -#iZ 22253 for reason why we changed m_hApp to RTLD_DEFAULT - -Index: bridges/source/cpp_uno/gcc3_freebsd_intel/cpp2uno.cxx -=================================================================== -RCS file: /cvs/udk/bridges/source/cpp_uno/gcc3_freebsd_intel/cpp2uno.cxx,v -retrieving revision 1.3 -diff -u -r1.3 cpp2uno.cxx ---- bridges/source/cpp_uno/gcc3_freebsd_intel/cpp2uno.cxx 28 Apr 2003 16:28:20 -0000 1.3 -+++ bridges/source/cpp_uno/gcc3_freebsd_intel/cpp2uno.cxx 27 Dec 2004 06:05:52 -0000 -@@ -2,9 +2,9 @@ - * - * $RCSfile: cpp2uno.cxx,v $ - * -- * $Revision: 1.3 $ -+ * $Revision: 1.6 $ - * -- * last change: $Author: hr $ $Date: 2003/04/28 16:28:20 $ -+ * last change: $Author: obo $ $Date: 2004/06/04 02:59:45 $ - * - * The Contents of this file are made available subject to the terms of - * either of the following licenses -@@ -59,34 +59,26 @@ - * - ************************************************************************/ - --#include <hash_map> -- --#include <sal/alloca.h> --#include <rtl/alloc.h> --#include <osl/mutex.hxx> -- -+#include <com/sun/star/uno/genfunc.hxx> -+#include "com/sun/star/uno/RuntimeException.hpp" - #include <uno/data.h> - #include <typelib/typedescription.hxx> - --#include <bridges/cpp_uno/bridge.hxx> --#include <bridges/cpp_uno/type_misc.hxx> -+#include "bridges/cpp_uno/shared/bridge.hxx" -+#include "bridges/cpp_uno/shared/cppinterfaceproxy.hxx" -+#include "bridges/cpp_uno/shared/types.hxx" -+#include "bridges/cpp_uno/shared/vtablefactory.hxx" - - #include "share.hxx" - -- --using namespace ::osl; --using namespace ::rtl; - using namespace ::com::sun::star::uno; - --namespace CPPU_CURRENT_NAMESPACE -+namespace - { - - //================================================================================================== --rtl_StandardModuleCount g_moduleCount = MODULE_COUNT_INIT; -- --//================================================================================================== - static typelib_TypeClass cpp2uno_call( -- cppu_cppInterfaceProxy * pThis, -+ bridges::cpp_uno::shared::CppInterfaceProxy * pThis, - const typelib_TypeDescription * pMemberTypeDescr, - typelib_TypeDescriptionReference * pReturnTypeRef, // 0 indicates void return - sal_Int32 nParams, typelib_MethodParameter * pParams, -@@ -106,7 +98,7 @@ - - if (pReturnTypeDescr) - { -- if (cppu_isSimpleType( pReturnTypeDescr )) -+ if (bridges::cpp_uno::shared::isSimpleType( pReturnTypeDescr )) - { - pUnoReturn = pRegisterReturn; // direct way for simple types - } -@@ -115,7 +107,8 @@ - pCppReturn = *(void **)pCppStack; - pCppStack += sizeof(void *); - -- pUnoReturn = (cppu_relatesToInterface( pReturnTypeDescr ) -+ pUnoReturn = (bridges::cpp_uno::shared::relatesToInterfaceType( -+ pReturnTypeDescr ) - ? alloca( pReturnTypeDescr->nSize ) - : pCppReturn); // direct way - } -@@ -141,7 +134,9 @@ - typelib_TypeDescription * pParamTypeDescr = 0; - TYPELIB_DANGER_GET( &pParamTypeDescr, rParam.pTypeRef ); - -- if (!rParam.bOut && cppu_isSimpleType( pParamTypeDescr )) // value -+ if (!rParam.bOut -+ && bridges::cpp_uno::shared::isSimpleType( pParamTypeDescr )) -+ // value - { - pCppArgs[nPos] = pCppStack; - pUnoArgs[nPos] = pCppStack; -@@ -168,11 +163,12 @@ - ppTempParamTypeDescr[nTempIndizes++] = pParamTypeDescr; - } - // is in/inout -- else if (cppu_relatesToInterface( pParamTypeDescr )) -+ else if (bridges::cpp_uno::shared::relatesToInterfaceType( -+ pParamTypeDescr )) - { - uno_copyAndConvertData( pUnoArgs[nPos] = alloca( pParamTypeDescr->nSize ), - *(void **)pCppStack, pParamTypeDescr, -- &pThis->pBridge->aCpp2Uno ); -+ pThis->getBridge()->getCpp2Uno() ); - pTempIndizes[nTempIndizes] = nPos; // has to be reconverted - // will be released at reconversion - ppTempParamTypeDescr[nTempIndizes++] = pParamTypeDescr; -@@ -192,7 +188,8 @@ - uno_Any * pUnoExc = &aUnoExc; - - // invoke uno dispatch call -- (*pThis->pUnoI->pDispatcher)( pThis->pUnoI, pMemberTypeDescr, pUnoReturn, pUnoArgs, &pUnoExc ); -+ (*pThis->getUnoI()->pDispatcher)( -+ pThis->getUnoI(), pMemberTypeDescr, pUnoReturn, pUnoArgs, &pUnoExc ); - - // in case an exception occured... - if (pUnoExc) -@@ -209,7 +206,9 @@ - if (pReturnTypeDescr) - TYPELIB_DANGER_RELEASE( pReturnTypeDescr ); - -- raiseException( &aUnoExc, &pThis->pBridge->aUno2Cpp ); // has to destruct the any -+ CPPU_CURRENT_NAMESPACE::raiseException( -+ &aUnoExc, pThis->getBridge()->getUno2Cpp() ); -+ // has to destruct the any - // is here for dummy - return typelib_TypeClass_VOID; - } -@@ -226,7 +225,7 @@ - // convert and assign - uno_destructData( pCppArgs[nIndex], pParamTypeDescr, cpp_release ); - uno_copyAndConvertData( pCppArgs[nIndex], pUnoArgs[nIndex], pParamTypeDescr, -- &pThis->pBridge->aUno2Cpp ); -+ pThis->getBridge()->getUno2Cpp() ); - } - // destroy temp uno param - uno_destructData( pUnoArgs[nIndex], pParamTypeDescr, 0 ); -@@ -239,7 +238,7 @@ - if (pUnoReturn != pCppReturn) // needs reconversion - { - uno_copyAndConvertData( pCppReturn, pUnoReturn, pReturnTypeDescr, -- &pThis->pBridge->aUno2Cpp ); -+ pThis->getBridge()->getUno2Cpp() ); - // destroy temp uno return - uno_destructData( pUnoReturn, pReturnTypeDescr, 0 ); - } -@@ -260,38 +259,41 @@ - - //================================================================================================== - static typelib_TypeClass cpp_mediate( -- sal_Int32 nVtableCall, -+ sal_Int32 nFunctionIndex, -+ sal_Int32 nVtableOffset, - void ** pCallStack, - sal_Int64 * pRegisterReturn /* space for register return */ ) - { - OSL_ENSURE( sizeof(sal_Int32)==sizeof(void *), "### unexpected!" ); - - // pCallStack: ret adr, [ret *], this, params -- // _this_ ptr is patched cppu_XInterfaceProxy object -- cppu_cppInterfaceProxy * pCppI = NULL; -- if( nVtableCall & 0x80000000 ) -+ void * pThis; -+ if( nFunctionIndex & 0x80000000 ) - { -- nVtableCall &= 0x7fffffff; -- pCppI = (cppu_cppInterfaceProxy *)(XInterface *)*(pCallStack +2); -+ nFunctionIndex &= 0x7fffffff; -+ pThis = pCallStack[2]; - } - else - { -- pCppI = (cppu_cppInterfaceProxy *)(XInterface *)*(pCallStack +1); -+ pThis = pCallStack[1]; - } -+ pThis = static_cast< char * >(pThis) - nVtableOffset; -+ bridges::cpp_uno::shared::CppInterfaceProxy * pCppI -+ = bridges::cpp_uno::shared::CppInterfaceProxy::castInterfaceToProxy( -+ pThis); - -- typelib_InterfaceTypeDescription * pTypeDescr = pCppI->pTypeDescr; -+ typelib_InterfaceTypeDescription * pTypeDescr = pCppI->getTypeDescr(); - -- OSL_ENSURE( nVtableCall < pTypeDescr->nMapFunctionIndexToMemberIndex, "### illegal vtable index!" ); -- if (nVtableCall >= pTypeDescr->nMapFunctionIndexToMemberIndex) -+ OSL_ENSURE( nFunctionIndex < pTypeDescr->nMapFunctionIndexToMemberIndex, "### illegal vtable index!" ); -+ if (nFunctionIndex >= pTypeDescr->nMapFunctionIndexToMemberIndex) - { - throw RuntimeException( -- OUString::createFromAscii("illegal vtable index!"), -- (XInterface *)pCppI ); -+ rtl::OUString::createFromAscii("illegal vtable index!"), -+ (XInterface *)pThis ); - } - - // determine called method -- OSL_ENSURE( nVtableCall < pTypeDescr->nMapFunctionIndexToMemberIndex, "### illegal vtable index!" ); -- sal_Int32 nMemberPos = pTypeDescr->pMapFunctionIndexToMemberIndex[nVtableCall]; -+ sal_Int32 nMemberPos = pTypeDescr->pMapFunctionIndexToMemberIndex[nFunctionIndex]; - OSL_ENSURE( nMemberPos < pTypeDescr->nAllMembers, "### illegal member index!" ); - - TypeDescription aMemberDescr( pTypeDescr->ppAllMembers[nMemberPos] ); -@@ -301,7 +303,7 @@ - { - case typelib_TypeClass_INTERFACE_ATTRIBUTE: - { -- if (pTypeDescr->pMapMemberIndexToFunctionIndex[nMemberPos] == nVtableCall) -+ if (pTypeDescr->pMapMemberIndexToFunctionIndex[nMemberPos] == nFunctionIndex) - { - // is GET method - eRet = cpp2uno_call( -@@ -330,7 +332,7 @@ - case typelib_TypeClass_INTERFACE_METHOD: - { - // is METHOD -- switch (nVtableCall) -+ switch (nFunctionIndex) - { - case 1: // acquire() - pCppI->acquireProxy(); // non virtual call! -@@ -347,9 +349,10 @@ - if (pTD) - { - XInterface * pInterface = 0; -- (*pCppI->pBridge->pCppEnv->getRegisteredInterface)( -- pCppI->pBridge->pCppEnv, -- (void **)&pInterface, pCppI->oid.pData, (typelib_InterfaceTypeDescription *)pTD ); -+ (*pCppI->getBridge()->getCppEnv()->getRegisteredInterface)( -+ pCppI->getBridge()->getCppEnv(), -+ (void **)&pInterface, pCppI->getOid().pData, -+ (typelib_InterfaceTypeDescription *)pTD ); - - if (pInterface) - { -@@ -378,8 +381,8 @@ - default: - { - throw RuntimeException( -- OUString::createFromAscii("no member description found!"), -- (XInterface *)pCppI ); -+ rtl::OUString::createFromAscii("no member description found!"), -+ (XInterface *)pThis ); - // is here for dummy - eRet = typelib_TypeClass_VOID; - } -@@ -393,12 +396,15 @@ - * is called on incoming vtable calls - * (called by asm snippets) - */ --static void cpp_vtable_call( int nTableEntry, void** pCallStack ) __attribute__((regparm(2))); -+static void cpp_vtable_call( -+ int nFunctionIndex, int nVtableOffset, void** pCallStack ) -+ __attribute__((regparm(3))); - --void cpp_vtable_call( int nTableEntry, void** pCallStack ) -+void cpp_vtable_call( int nFunctionIndex, int nVtableOffset, void** pCallStack ) - { - volatile long nRegReturn[2]; -- typelib_TypeClass aType = cpp_mediate( nTableEntry, pCallStack, (sal_Int64*)nRegReturn ); -+ typelib_TypeClass aType = cpp_mediate( -+ nFunctionIndex, nVtableOffset, pCallStack, (sal_Int64*)nRegReturn ); - - switch( aType ) - { -@@ -434,161 +440,103 @@ - - - //================================================================================================== --class MediateClassData --{ -- typedef ::std::hash_map< OUString, void *, OUStringHash > t_classdata_map; -- t_classdata_map m_map; -- Mutex m_mutex; -- --public: -- void const * get_vtable( typelib_InterfaceTypeDescription * pTD ) SAL_THROW( () ); -- -- inline MediateClassData() SAL_THROW( () ) -- {} -- ~MediateClassData() SAL_THROW( () ); --}; --//__________________________________________________________________________________________________ --MediateClassData::~MediateClassData() SAL_THROW( () ) -+int const codeSnippetSize = 20; -+ -+unsigned char * codeSnippet( -+ unsigned char * code, sal_Int32 functionIndex, sal_Int32 vtableOffset, -+ bool simpleRetType) - { -- OSL_TRACE( "> calling ~MediateClassData(): freeing mediate vtables." ); -- -- for ( t_classdata_map::const_iterator iPos( m_map.begin() ); iPos != m_map.end(); ++iPos ) -- { -- ::rtl_freeMemory( iPos->second ); -- } -+ if (!simpleRetType) { -+ functionIndex |= 0x80000000; -+ } -+ unsigned char * p = code; -+ OSL_ASSERT(sizeof (sal_Int32) == 4); -+ // mov function_index, %eax: -+ *p++ = 0xB8; -+ *reinterpret_cast< sal_Int32 * >(p) = functionIndex; -+ p += sizeof (sal_Int32); -+ // mov vtable_offset, %edx: -+ *p++ = 0xBA; -+ *reinterpret_cast< sal_Int32 * >(p) = vtableOffset; -+ p += sizeof (sal_Int32); -+ // mov %esp, %ecx: -+ *p++ = 0x89; -+ *p++ = 0xE1; -+ // jmp cpp_vtable_call: -+ *p++ = 0xE9; -+ *reinterpret_cast< sal_Int32 * >(p) -+ = ((unsigned char *) cpp_vtable_call) - p - sizeof (sal_Int32); -+ p += sizeof (sal_Int32); -+ OSL_ASSERT(p - code <= codeSnippetSize); -+ return code + codeSnippetSize; - } --//-------------------------------------------------------------------------------------------------- --static inline void codeSnippet( char * code, sal_uInt32 vtable_pos, bool simple_ret_type ) SAL_THROW( () ) --{ -- if (! simple_ret_type) -- vtable_pos |= 0x80000000; -- OSL_ASSERT( sizeof (long) == 4 ); -- // mov $nPos, %eax -- *code++ = 0xb8; -- *(long *)code = vtable_pos; -- code += sizeof (long); -- // mov %esp, %edx -- *code++ = 0x89; -- *code++ = 0xe2; -- // jmp cpp_vtable_call -- *code++ = 0xe9; -- *(long *)code = ((char *)cpp_vtable_call) - code - sizeof (long); -+ - } --//__________________________________________________________________________________________________ --void const * MediateClassData::get_vtable( typelib_InterfaceTypeDescription * pTD ) SAL_THROW( () ) --{ -- void * buffer; -- -- // avoiding locked counts -- OUString const & unoName = *(OUString const *)&((typelib_TypeDescription *)pTD)->pTypeName; -- { -- MutexGuard aGuard( m_mutex ); -- t_classdata_map::const_iterator iFind( m_map.find( unoName ) ); -- if (iFind == m_map.end()) -- { -- // create new vtable -- sal_Int32 nSlots = pTD->nMapFunctionIndexToMemberIndex; -- buffer = ::rtl_allocateMemory( ((2+ nSlots) * sizeof (void *)) + (nSlots *20) ); -- -- ::std::pair< t_classdata_map::iterator, bool > insertion( -- m_map.insert( t_classdata_map::value_type( unoName, buffer ) ) ); -- OSL_ENSURE( insertion.second, "### inserting new vtable buffer failed?!" ); -- -- void ** slots = (void **)buffer; -- *slots++ = 0; -- *slots++ = 0; // rtti -- char * code = (char *)(slots + nSlots); -- -- sal_uInt32 vtable_pos = 0; -- sal_Int32 nAllMembers = pTD->nAllMembers; -- typelib_TypeDescriptionReference ** ppAllMembers = pTD->ppAllMembers; -- for ( sal_Int32 nPos = 0; nPos < nAllMembers; ++nPos ) -- { -- typelib_TypeDescription * pTD = 0; -- TYPELIB_DANGER_GET( &pTD, ppAllMembers[ nPos ] ); -- OSL_ASSERT( pTD ); -- if (typelib_TypeClass_INTERFACE_ATTRIBUTE == pTD->eTypeClass) -- { -- bool simple_ret = cppu_isSimpleType( -- ((typelib_InterfaceAttributeTypeDescription *)pTD)->pAttributeTypeRef->eTypeClass ); -- // get method -- *slots++ = code; -- codeSnippet( code, vtable_pos++, simple_ret ); -- code += 20; -- if (! ((typelib_InterfaceAttributeTypeDescription *)pTD)->bReadOnly) -- { -- // set method -- *slots++ = code; -- codeSnippet( code, vtable_pos++, true ); -- code += 20; -- } -- } -- else -+ -+void ** bridges::cpp_uno::shared::VtableFactory::mapBlockToVtable(char * block) -+{ -+ return reinterpret_cast< void ** >(block) + 2; -+} -+ -+char * bridges::cpp_uno::shared::VtableFactory::createBlock( -+ sal_Int32 slotCount, void *** slots) -+{ -+ char * block = new char[ -+ (slotCount + 2) * sizeof (void *) + slotCount * codeSnippetSize]; -+ *slots = mapBlockToVtable(block); -+ (*slots)[-2] = 0; -+ (*slots)[-1] = 0; -+ return block; -+} -+ -+unsigned char * bridges::cpp_uno::shared::VtableFactory::addLocalFunctions( -+ void ** slots, unsigned char * code, -+ typelib_InterfaceTypeDescription const * type, sal_Int32 functionOffset, -+ sal_Int32 functionCount, sal_Int32 vtableOffset) -+{ -+ for (sal_Int32 i = 0; i < type->nMembers; ++i) { -+ typelib_TypeDescription * member = 0; -+ TYPELIB_DANGER_GET(&member, type->ppMembers[i]); -+ OSL_ASSERT(member != 0); -+ switch (member->eTypeClass) { -+ case typelib_TypeClass_INTERFACE_ATTRIBUTE: -+ // Getter: -+ *slots++ = code; -+ code = codeSnippet( -+ code, functionOffset++, vtableOffset, -+ bridges::cpp_uno::shared::isSimpleType( -+ reinterpret_cast< -+ typelib_InterfaceAttributeTypeDescription * >( -+ member)->pAttributeTypeRef)); -+ // Setter: -+ if (!reinterpret_cast< -+ typelib_InterfaceAttributeTypeDescription * >( -+ member)->bReadOnly) - { -- bool simple_ret = cppu_isSimpleType( -- ((typelib_InterfaceMethodTypeDescription *)pTD)->pReturnTypeRef->eTypeClass ); - *slots++ = code; -- codeSnippet( code, vtable_pos++, simple_ret ); -- code += 20; -+ code = codeSnippet(code, functionOffset++, vtableOffset, true); - } -- TYPELIB_DANGER_RELEASE( pTD ); -+ break; -+ -+ case typelib_TypeClass_INTERFACE_METHOD: -+ *slots++ = code; -+ code = codeSnippet( -+ code, functionOffset++, vtableOffset, -+ bridges::cpp_uno::shared::isSimpleType( -+ reinterpret_cast< -+ typelib_InterfaceMethodTypeDescription * >( -+ member)->pReturnTypeRef)); -+ break; -+ -+ default: -+ OSL_ASSERT(false); -+ break; - } -- OSL_ASSERT( vtable_pos == nSlots ); -- } -- else -- { -- buffer = iFind->second; -- } -+ TYPELIB_DANGER_RELEASE(member); - } -- -- return ((void **)buffer +2); --} -- --//================================================================================================== --void SAL_CALL cppu_cppInterfaceProxy_patchVtable( -- XInterface * pCppI, typelib_InterfaceTypeDescription * pTypeDescr ) throw () --{ -- static MediateClassData * s_pMediateClassData = 0; -- if (! s_pMediateClassData) -- { -- MutexGuard aGuard( Mutex::getGlobalMutex() ); -- if (! s_pMediateClassData) -- { --#ifdef LEAK_STATIC_DATA -- s_pMediateClassData = new MediateClassData(); --#else -- static MediateClassData s_aMediateClassData; -- s_pMediateClassData = &s_aMediateClassData; --#endif -- } -- } -- *(void const **)pCppI = s_pMediateClassData->get_vtable( pTypeDescr ); --} -- -+ return code; - } - --extern "C" --{ --//################################################################################################## --sal_Bool SAL_CALL component_canUnload( TimeValue * pTime ) -- SAL_THROW_EXTERN_C() --{ -- return CPPU_CURRENT_NAMESPACE::g_moduleCount.canUnload( -- &CPPU_CURRENT_NAMESPACE::g_moduleCount, pTime ); --} --//################################################################################################## --void SAL_CALL uno_initEnvironment( uno_Environment * pCppEnv ) -- SAL_THROW_EXTERN_C() --{ -- CPPU_CURRENT_NAMESPACE::cppu_cppenv_initEnvironment( -- pCppEnv ); --} --//################################################################################################## --void SAL_CALL uno_ext_getMapping( -- uno_Mapping ** ppMapping, uno_Environment * pFrom, uno_Environment * pTo ) -- SAL_THROW_EXTERN_C() --{ -- CPPU_CURRENT_NAMESPACE::cppu_ext_getMapping( -- ppMapping, pFrom, pTo ); --} --} -+void bridges::cpp_uno::shared::VtableFactory::flushCode( -+ unsigned char const *, unsigned char const *) -+{} -Index: bridges/source/cpp_uno/gcc3_freebsd_intel/except.cxx -=================================================================== -RCS file: /cvs/udk/bridges/source/cpp_uno/gcc3_freebsd_intel/except.cxx,v -retrieving revision 1.4 -diff -u -r1.4 except.cxx ---- bridges/source/cpp_uno/gcc3_freebsd_intel/except.cxx 28 Apr 2003 16:41:25 -0000 1.4 -+++ bridges/source/cpp_uno/gcc3_freebsd_intel/except.cxx 27 Dec 2004 06:05:52 -0000 -@@ -2,9 +2,9 @@ - * - * $RCSfile: except.cxx,v $ - * -- * $Revision: 1.4 $ -+ * $Revision: 1.10 $ - * -- * last change: $Author: hr $ $Date: 2003/04/28 16:41:25 $ -+ * last change: $Author: obo $ $Date: 2004/06/04 02:59:59 $ - * - * The Contents of this file are made available subject to the terms of - * either of the following licenses -@@ -69,7 +69,8 @@ - #include <osl/diagnose.h> - #include <osl/mutex.hxx> - --#include <bridges/cpp_uno/bridge.hxx> -+#include <com/sun/star/uno/genfunc.hxx> -+#include "com/sun/star/uno/RuntimeException.hpp" - #include <typelib/typedescription.hxx> - #include <uno/any2.h> - -@@ -147,7 +148,7 @@ - }; - //__________________________________________________________________________________________________ - RTTI::RTTI() SAL_THROW( () ) -- : m_hApp( dlopen( 0, RTLD_LAZY ) ) -+ : m_hApp( dlopen( 0, RTLD_NOW | RTLD_GLOBAL ) ) - { - } - //__________________________________________________________________________________________________ -@@ -182,7 +183,8 @@ - buf.append( 'E' ); - - OString symName( buf.makeStringAndClear() ); -- rtti = (type_info *)dlsym( m_hApp, symName.getStr() ); -+//#iZ 22253 -+ rtti = (type_info *)dlsym( RTLD_DEFAULT, symName.getStr() ); - - if (rtti) - { -@@ -253,7 +255,7 @@ - //================================================================================================== - void raiseException( uno_Any * pUnoExc, uno_Mapping * pUno2Cpp ) - { --#if defined DEBUG -+#if OSL_DEBUG_LEVEL > 1 - OString cstr( - OUStringToOString( - *reinterpret_cast< OUString const * >( &pUnoExc->pType->pTypeName ), -@@ -275,7 +277,7 @@ - *reinterpret_cast< OUString const * >( &pUnoExc->pType->pTypeName ), - Reference< XInterface >() ); - } -- -+ - pCppExc = __cxa_allocate_exception( pTypeDescr->nSize ); - ::uno_copyAndConvertData( pCppExc, pUnoExc->pData, pTypeDescr, pUno2Cpp ); - -@@ -321,16 +323,16 @@ - Reference< XInterface >() ); - Type const & rType = ::getCppuType( &aRE ); - uno_type_any_constructAndConvert( pUnoExc, &aRE, rType.getTypeLibType(), pCpp2Uno ); --#if defined _DEBUG -+#if OSL_DEBUG_LEVEL > 0 - OString cstr( OUStringToOString( aRE.Message, RTL_TEXTENCODING_ASCII_US ) ); - OSL_ENSURE( 0, cstr.getStr() ); - #endif - return; - } -- -+ - typelib_TypeDescription * pExcTypeDescr = 0; - OUString unoName( toUNOname( header->exceptionType->name() ) ); --#if defined DEBUG -+#if OSL_DEBUG_LEVEL > 1 - OString cstr_unoName( OUStringToOString( unoName, RTL_TEXTENCODING_ASCII_US ) ); - fprintf( stderr, "> c++ exception occured: %s\n", cstr_unoName.getStr() ); - #endif -@@ -342,7 +344,7 @@ - Reference< XInterface >() ); - Type const & rType = ::getCppuType( &aRE ); - uno_type_any_constructAndConvert( pUnoExc, &aRE, rType.getTypeLibType(), pCpp2Uno ); --#if defined _DEBUG -+#if OSL_DEBUG_LEVEL > 0 - OString cstr( OUStringToOString( aRE.Message, RTL_TEXTENCODING_ASCII_US ) ); - OSL_ENSURE( 0, cstr.getStr() ); - #endif -Index: bridges/source/cpp_uno/gcc3_freebsd_intel/makefile.mk -=================================================================== -RCS file: /cvs/udk/bridges/source/cpp_uno/gcc3_freebsd_intel/makefile.mk,v -retrieving revision 1.2 -diff -u -r1.2 makefile.mk ---- bridges/source/cpp_uno/gcc3_freebsd_intel/makefile.mk 18 Mar 2003 19:06:52 -0000 1.2 -+++ bridges/source/cpp_uno/gcc3_freebsd_intel/makefile.mk 27 Dec 2004 06:05:52 -0000 -@@ -2,9 +2,9 @@ - # - # $RCSfile: makefile.mk,v $ - # --# $Revision: 1.2 $ -+# $Revision: 1.3 $ - # --# last change: $Author: hr $ $Date: 2003/03/18 19:06:52 $ -+# last change: $Author: hr $ $Date: 2004/02/03 12:37:41 $ - # - # The Contents of this file are made available subject to the terms of - # either of the following licenses -@@ -95,10 +95,8 @@ - SHL1IMPLIB=i$(TARGET) - SHL1VERSIONMAP=..$/..$/bridge_exports.map - --SHL1OBJS= \ -- $(SLO)$/except.obj \ -- $(SLO)$/cpp2uno.obj \ -- $(SLO)$/uno2cpp.obj -+SHL1OBJS = $(SLOFILES) -+SHL1LIBS = $(SLB)$/cpp_uno_shared.lib - - SHL1STDLIBS= \ - $(CPPULIB) \ -Index: bridges/source/cpp_uno/gcc3_freebsd_intel/share.hxx -=================================================================== -RCS file: /cvs/udk/bridges/source/cpp_uno/gcc3_freebsd_intel/share.hxx,v -retrieving revision 1.2 -diff -u -r1.2 share.hxx ---- bridges/source/cpp_uno/gcc3_freebsd_intel/share.hxx 18 Mar 2003 19:06:53 -0000 1.2 -+++ bridges/source/cpp_uno/gcc3_freebsd_intel/share.hxx 27 Dec 2004 06:05:52 -0000 -@@ -4,7 +4,7 @@ - * - * $Revision: 1.2 $ - * -- * last change: $Author: hr $ $Date: 2003/03/18 19:06:53 $ -+ * last change: $Author: hr $ $Date: 2004/02/03 12:38:19 $ - * - * The Contents of this file are made available subject to the terms of - * either of the following licenses -@@ -59,6 +59,8 @@ - * - ************************************************************************/ - -+#include "uno/mapping.h" -+ - #include <typeinfo> - #include <exception> - #include <cstddef> -@@ -66,6 +68,8 @@ - namespace CPPU_CURRENT_NAMESPACE - { - -+void dummy_can_throw_anything( char const * ); -+ - // ----- following decl from libstdc++-v3/libsupc++/unwind-cxx.h and unwind.h - - struct _Unwind_Exception -Index: bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx -=================================================================== -RCS file: /cvs/udk/bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx,v -retrieving revision 1.5 -diff -u -r1.5 uno2cpp.cxx ---- bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx 3 Nov 2004 09:03:15 -0000 1.5 -+++ bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx 27 Dec 2004 06:05:52 -0000 -@@ -2,9 +2,9 @@ - * - * $RCSfile: uno2cpp.cxx,v $ - * -- * $Revision: 1.5 $ -+ * $Revision: 1.7 $ - * -- * last change: $Author: pjunck $ $Date: 2004/11/03 09:03:15 $ -+ * last change: $Author: sb $ $Date: 2004/09/27 09:08:35 $ - * - * The Contents of this file are made available subject to the terms of - * either of the following licenses -@@ -59,24 +59,25 @@ - * - ************************************************************************/ - --#include <sal/alloca.h> --#include <rtl/alloc.h> -+#include <stdlib.h> - -+#include <com/sun/star/uno/genfunc.hxx> -+#include "com/sun/star/uno/RuntimeException.hpp" - #include <uno/data.h> --#include <bridges/cpp_uno/bridge.hxx> --#include <bridges/cpp_uno/type_misc.hxx> - --#include "share.hxx" -+#include "bridges/cpp_uno/shared/bridge.hxx" -+#include "bridges/cpp_uno/shared/types.hxx" -+#include "bridges/cpp_uno/shared/unointerfaceproxy.hxx" -+#include "bridges/cpp_uno/shared/vtables.hxx" - -+#include "share.hxx" - - using namespace ::rtl; - using namespace ::com::sun::star::uno; - --namespace CPPU_CURRENT_NAMESPACE -+namespace - { - --void dummy_can_throw_anything( char const * ); -- - //================================================================================================== - // The call instruction within the asm section of callVirtualMethod may throw - // exceptions. So that the compiler handles this correctly, it is important -@@ -85,7 +86,7 @@ - // callVirtualMethod is not inlined at its call site (so that any exceptions are - // caught which are thrown from the instruction calling callVirtualMethod): - void callVirtualMethod( -- void * pThis, -+ void * pAdjustedThisPtr, - sal_Int32 nVtableIndex, - void * pRegisterReturn, - typelib_TypeClass eReturnType, -@@ -93,7 +94,7 @@ - sal_Int32 nStackLongs ) __attribute__((noinline)); - - void callVirtualMethod( -- void * pThis, -+ void * pAdjustedThisPtr, - sal_Int32 nVtableIndex, - void * pRegisterReturn, - typelib_TypeClass eReturnType, -@@ -103,13 +104,13 @@ - // parameter list is mixed list of * and values - // reference parameters are pointers - -- OSL_ENSURE( pStackLongs && pThis, "### null ptr!" ); -+ OSL_ENSURE( pStackLongs && pAdjustedThisPtr, "### null ptr!" ); - OSL_ENSURE( (sizeof(void *) == 4) && (sizeof(sal_Int32) == 4), "### unexpected size of int!" ); - OSL_ENSURE( nStackLongs && pStackLongs, "### no stack in callVirtualMethod !" ); - - // never called -- if (! pThis) dummy_can_throw_anything("xxx"); // address something -- -+ if (! pAdjustedThisPtr) CPPU_CURRENT_NAMESPACE::dummy_can_throw_anything("xxx"); // address something -+ - volatile long edx = 0, eax = 0; // for register returns - void * stackptr; - asm volatile ( -@@ -139,8 +140,8 @@ - // cleanup stack - "mov %6, %%esp\n\t" - : -- : "m"(nStackLongs), "m"(pStackLongs), "m"(pThis), "m"(nVtableIndex), -- "m"(eax), "m"(edx), "m"(stackptr) -+ : "m"(nStackLongs), "m"(pStackLongs), "m"(pAdjustedThisPtr), -+ "m"(nVtableIndex), "m"(eax), "m"(edx), "m"(stackptr) - : "eax", "edx" ); - switch( eReturnType ) - { -@@ -172,8 +173,8 @@ - - //================================================================================================== - static void cpp_call( -- cppu_unoInterfaceProxy * pThis, -- sal_Int32 nVtableCall, -+ bridges::cpp_uno::shared::UnoInterfaceProxy * pThis, -+ bridges::cpp_uno::shared::VtableSlot aVtableSlot, - typelib_TypeDescriptionReference * pReturnTypeRef, - sal_Int32 nParams, typelib_MethodParameter * pParams, - void * pUnoReturn, void * pUnoArgs[], uno_Any ** ppUnoExc ) -@@ -192,21 +193,25 @@ - - if (pReturnTypeDescr) - { -- if (cppu_isSimpleType( pReturnTypeDescr )) -+ if (bridges::cpp_uno::shared::isSimpleType( pReturnTypeDescr )) - { - pCppReturn = pUnoReturn; // direct way for simple types - } - else - { - // complex return via ptr -- pCppReturn = *(void **)pCppStack = (cppu_relatesToInterface( pReturnTypeDescr ) -- ? alloca( pReturnTypeDescr->nSize ) -- : pUnoReturn); // direct way -+ pCppReturn = *(void **)pCppStack -+ = (bridges::cpp_uno::shared::relatesToInterfaceType( -+ pReturnTypeDescr ) -+ ? alloca( pReturnTypeDescr->nSize ) -+ : pUnoReturn); // direct way - pCppStack += sizeof(void *); - } - } - // push this -- *(void**)pCppStack = pThis->pCppI; -+ void * pAdjustedThisPtr = reinterpret_cast< void ** >(pThis->getCppI()) -+ + aVtableSlot.offset; -+ *(void**)pCppStack = pAdjustedThisPtr; - pCppStack += sizeof( void* ); - - // stack space -@@ -226,10 +231,11 @@ - typelib_TypeDescription * pParamTypeDescr = 0; - TYPELIB_DANGER_GET( &pParamTypeDescr, rParam.pTypeRef ); - -- if (!rParam.bOut && cppu_isSimpleType( pParamTypeDescr )) -+ if (!rParam.bOut -+ && bridges::cpp_uno::shared::isSimpleType( pParamTypeDescr )) - { - uno_copyAndConvertData( pCppArgs[nPos] = pCppStack, pUnoArgs[nPos], pParamTypeDescr, -- &pThis->pBridge->aUno2Cpp ); -+ pThis->getBridge()->getUno2Cpp() ); - - switch (pParamTypeDescr->eTypeClass) - { -@@ -254,11 +260,13 @@ - ppTempParamTypeDescr[nTempIndizes++] = pParamTypeDescr; - } - // is in/inout -- else if (cppu_relatesToInterface( pParamTypeDescr )) -+ else if (bridges::cpp_uno::shared::relatesToInterfaceType( -+ pParamTypeDescr )) - { - uno_copyAndConvertData( - *(void **)pCppStack = pCppArgs[nPos] = alloca( pParamTypeDescr->nSize ), -- pUnoArgs[nPos], pParamTypeDescr, &pThis->pBridge->aUno2Cpp ); -+ pUnoArgs[nPos], pParamTypeDescr, -+ pThis->getBridge()->getUno2Cpp() ); - - pTempIndizes[nTempIndizes] = nPos; // has to be reconverted - // will be released at reconversion -@@ -278,7 +286,7 @@ - { - OSL_ENSURE( !( (pCppStack - pCppStackStart ) & 3), "UNALIGNED STACK !!! (Please DO panic)" ); - callVirtualMethod( -- pThis->pCppI, nVtableCall, -+ pAdjustedThisPtr, aVtableSlot.index, - pCppReturn, pReturnTypeDescr->eTypeClass, - (sal_Int32 *)pCppStackStart, (pCppStack - pCppStackStart) / sizeof(sal_Int32) ); - // NO exception occured... -@@ -296,13 +304,13 @@ - { - uno_destructData( pUnoArgs[nIndex], pParamTypeDescr, 0 ); // destroy uno value - uno_copyAndConvertData( pUnoArgs[nIndex], pCppArgs[nIndex], pParamTypeDescr, -- &pThis->pBridge->aCpp2Uno ); -+ pThis->getBridge()->getCpp2Uno() ); - } - } - else // pure out - { - uno_copyAndConvertData( pUnoArgs[nIndex], pCppArgs[nIndex], pParamTypeDescr, -- &pThis->pBridge->aCpp2Uno ); -+ pThis->getBridge()->getCpp2Uno() ); - } - // destroy temp cpp param => cpp: every param was constructed - uno_destructData( pCppArgs[nIndex], pParamTypeDescr, cpp_release ); -@@ -313,14 +321,14 @@ - if (pCppReturn && pUnoReturn != pCppReturn) - { - uno_copyAndConvertData( pUnoReturn, pCppReturn, pReturnTypeDescr, -- &pThis->pBridge->aCpp2Uno ); -+ pThis->getBridge()->getCpp2Uno() ); - uno_destructData( pCppReturn, pReturnTypeDescr, cpp_release ); - } - } - catch (...) - { - // fill uno exception -- fillUnoException( __cxa_get_globals()->caughtExceptions, *ppUnoExc, &pThis->pBridge->aCpp2Uno ); -+ fillUnoException( CPPU_CURRENT_NAMESPACE::__cxa_get_globals()->caughtExceptions, *ppUnoExc, pThis->getBridge()->getCpp2Uno() ); - - // temporary params - for ( ; nTempIndizes--; ) -@@ -336,32 +344,32 @@ - } - } - -+} - - //================================================================================================== --void SAL_CALL cppu_unoInterfaceProxy_dispatch( -+void bridges::cpp_uno::shared::UnoInterfaceProxy::dispatch( - uno_Interface * pUnoI, const typelib_TypeDescription * pMemberDescr, -- void * pReturn, void * pArgs[], uno_Any ** ppException ) throw () -+ void * pReturn, void * pArgs[], uno_Any ** ppException ) SAL_THROW(()) - { - // is my surrogate -- cppu_unoInterfaceProxy * pThis = (cppu_unoInterfaceProxy *)pUnoI; -+ bridges::cpp_uno::shared::UnoInterfaceProxy * pThis -+ = static_cast< bridges::cpp_uno::shared::UnoInterfaceProxy * >(pUnoI); - typelib_InterfaceTypeDescription * pTypeDescr = pThis->pTypeDescr; - - switch (pMemberDescr->eTypeClass) - { - case typelib_TypeClass_INTERFACE_ATTRIBUTE: - { -- // determine vtable call index -- sal_Int32 nMemberPos = ((typelib_InterfaceMemberTypeDescription *)pMemberDescr)->nPosition; -- OSL_ENSURE( nMemberPos < pTypeDescr->nAllMembers, "### member pos out of range!" ); -- -- sal_Int32 nVtableCall = pTypeDescr->pMapMemberIndexToFunctionIndex[nMemberPos]; -- OSL_ENSURE( nVtableCall < pTypeDescr->nMapFunctionIndexToMemberIndex, "### illegal vtable index!" ); -- -+ VtableSlot aVtableSlot( -+ getVtableSlot( -+ reinterpret_cast< -+ typelib_InterfaceAttributeTypeDescription const * >( -+ pMemberDescr))); - if (pReturn) - { - // dependent dispatch - cpp_call( -- pThis, nVtableCall, -+ pThis, aVtableSlot, - ((typelib_InterfaceAttributeTypeDescription *)pMemberDescr)->pAttributeTypeRef, - 0, 0, // no params - pReturn, pArgs, ppException ); -@@ -381,8 +389,9 @@ - &pReturnTypeRef, typelib_TypeClass_VOID, aVoidName.pData ); - - // dependent dispatch -+ aVtableSlot.index += 1; // get, then set method - cpp_call( -- pThis, nVtableCall +1, // get, then set method -+ pThis, aVtableSlot, - pReturnTypeRef, - 1, &aParam, - pReturn, pArgs, ppException ); -@@ -394,14 +403,12 @@ - } - case typelib_TypeClass_INTERFACE_METHOD: - { -- // determine vtable call index -- sal_Int32 nMemberPos = ((typelib_InterfaceMemberTypeDescription *)pMemberDescr)->nPosition; -- OSL_ENSURE( nMemberPos < pTypeDescr->nAllMembers, "### member pos out of range!" ); -- -- sal_Int32 nVtableCall = pTypeDescr->pMapMemberIndexToFunctionIndex[nMemberPos]; -- OSL_ENSURE( nVtableCall < pTypeDescr->nMapFunctionIndexToMemberIndex, "### illegal vtable index!" ); -- -- switch (nVtableCall) -+ VtableSlot aVtableSlot( -+ getVtableSlot( -+ reinterpret_cast< -+ typelib_InterfaceMethodTypeDescription const * >( -+ pMemberDescr))); -+ switch (aVtableSlot.index) - { - // standard calls - case 1: // acquire uno interface -@@ -419,8 +426,8 @@ - if (pTD) - { - uno_Interface * pInterface = 0; -- (*pThis->pBridge->pUnoEnv->getRegisteredInterface)( -- pThis->pBridge->pUnoEnv, -+ (*pThis->pBridge->getUnoEnv()->getRegisteredInterface)( -+ pThis->pBridge->getUnoEnv(), - (void **)&pInterface, pThis->oid.pData, (typelib_InterfaceTypeDescription *)pTD ); - - if (pInterface) -@@ -439,7 +446,7 @@ - default: - // dependent dispatch - cpp_call( -- pThis, nVtableCall, -+ pThis, aVtableSlot, - ((typelib_InterfaceMethodTypeDescription *)pMemberDescr)->pReturnTypeRef, - ((typelib_InterfaceMethodTypeDescription *)pMemberDescr)->nParams, - ((typelib_InterfaceMethodTypeDescription *)pMemberDescr)->pParams, -@@ -459,6 +466,3 @@ - } - } - } -- --} -- diff --git a/editors/openoffice.org-3-devel/files/patch-project-extentions b/editors/openoffice.org-3-devel/files/patch-project-extentions deleted file mode 100644 index a8b9d7ee9416..000000000000 --- a/editors/openoffice.org-3-devel/files/patch-project-extentions +++ /dev/null @@ -1,65 +0,0 @@ -#iZ and CWS -o http://www.openoffice.org/issues/show_bug.cgi?id=40179 -o http://eis.services.openoffice.org/EIS2/servlet/cws.ShowCWS?Id=2030&Path=SRC680%2Fpj16 -o pj16 - -Description - -o source/config/ldap/makefile.mk needs -lcompat since re_comp is defined here. -o FreeBSD doesn't have -ldl -o INC+= -DNP_LINUX is also requried for FreeBSD - -Index: source/config/ldap/makefile.mk -=================================================================== -RCS file: /cvs/util/extensions/source/config/ldap/makefile.mk,v -retrieving revision 1.4 -diff -u -r1.4 makefile.mk ---- extensions/source/config/ldap/makefile.mk 15 Nov 2004 14:14:22 -0000 1.4 -+++ extensions/source/config/ldap/makefile.mk 8 Jan 2005 02:48:29 -0000 -@@ -116,6 +116,9 @@ - $(CPPULIB) \ - $(SALHELPERLIB) \ - $(SALLIB) -+.IF "$(OS)"=="FREEBSD" -+SHL1STDLIBS+=-lcompat -+.ENDIF - - DEF1NAME=$(SHL1TARGET) - DEF1EXPORTFILE=exports.dxp -Index: source/nsplugin/source/makefile.mk -=================================================================== -RCS file: /cvs/util/extensions/source/nsplugin/source/makefile.mk,v -retrieving revision 1.8 -diff -u -r1.8 makefile.mk ---- extensions/source/nsplugin/source/makefile.mk 3 Jan 2005 09:04:51 -0000 1.8 -+++ extensions/source/nsplugin/source/makefile.mk 8 Jan 2005 02:48:30 -0000 -@@ -78,7 +78,7 @@ - @echo GTK disabled - nothing to build - - .ELSE # "$(ENABLE_GTK)"=="" --.IF "$(OS)"=="LINUX" -+.IF "$(OS)"=="LINUX" || "$(OS)"=="FREEBSD" - INC+= -DNP_LINUX - .ENDIF - PKGCONFIG_MODULES=gtk+-2.0 -@@ -99,8 +99,10 @@ - .IF "$(GUI)"=="UNX" - SHL1OBJS+=$(SLO)$/npunix.obj - SLOFILES+=$(SLO)$/npunix.obj -+.IF "$(OS)"!="FREEBSD" - SHL1STDLIBS+= -ldl -lnsl --.ENDIF -+.ENDIF #FREEBSD -+.ENDIF #UNX - .IF "$(GUI)"=="WNT" - SHL1OBJS+=$(SLO)$/npwin.obj - SLOFILES+=$(SLO)$/npwin.obj -@@ -131,7 +133,7 @@ - - .IF "$(GUI)"=="UNX" - APP1STDLIBS+=$(PKGCONFIG_LIBS:s/-lpangoxft-1.0//) --.IF "$(OS)"=="LINUX" -+.IF "$(OS)"=="LINUX" || "$(OS)"=="FREEBSD" - .ELSE - APP1STDLIBS+= -ldl -lnsl -lnls -lsocket - .ENDIF diff --git a/editors/openoffice.org-3-devel/files/patch-solenv+inc+unxfbsdi.mk b/editors/openoffice.org-3-devel/files/patch-solenv+inc+unxfbsdi.mk deleted file mode 100644 index f3f55df061d4..000000000000 --- a/editors/openoffice.org-3-devel/files/patch-solenv+inc+unxfbsdi.mk +++ /dev/null @@ -1,262 +0,0 @@ -#iZ and CWS -o http://www.openoffice.org/issues/show_bug.cgi?id=40182 - -Description -o catch up recent unxlngi6.mk -o -Wl,-z,defs -> comment out - -Index: solenv/inc/unxfbsdi.mk -=================================================================== -RCS file: /cvs/tools/solenv/inc/unxfbsdi.mk,v -retrieving revision 1.11 -diff -u -r1.11 unxfbsdi.mk ---- solenv/inc/unxfbsdi.mk 20 Sep 2004 08:37:13 -0000 1.11 -+++ solenv/inc/unxfbsdi.mk 10 Jan 2005 07:44:44 -0000 -@@ -60,16 +60,26 @@ - # - #************************************************************************* - --# mak file for unxfbsdi --ASM=$(CC) --AFLAGS=-x assembler-with-cpp -c $(CDEFS) -+# mk file for unxfbsdi -+ASM= -+AFLAGS= -+ -+SOLAR_JAVA*=TRUE -+JAVAFLAGSDEBUG=-g - - # filter for supressing verbose messages from linker - #not needed at the moment - #LINKOUTPUT_FILTER=" |& $(SOLARENV)$/bin$/msg_filter" - -+# _PTHREADS is needed for the stl -+CDEFS+=$(PTHREAD_CFLAGS) -DX86 -D_PTHREADS -D_REENTRANT -DNEW_SOLAR -D_USE_NAMESPACE=1 -DSTLPORT_VERSION=400 -+ -+# enable visibility define in "sal/types.h" -+.IF "$(HAVE_GCC_VISIBILITY_FEATURE)" == "TRUE" -+CDEFS += -DHAVE_GCC_VISIBILITY_FEATURE -+.ENDIF # "$(HAVE_GCC_VISIBILITY_FEATURE)" == "TRUE" -+ - # this is a platform with JAVA support --SOLAR_JAVA*=TRUE - .IF "$(SOLAR_JAVA)"!="" - JAVADEF=-DSOLAR_JAVA - .IF "$(debug)"=="" -@@ -83,90 +93,82 @@ - CXX*=g++ - # name of C Compiler - CC*=gcc -+.IF "$(SYSBASE)"!="" -+CFLAGS_SYSBASE:=-isystem $(SYSBASE)$/usr$/include -+CXX+:=$(CFLAGS_SYSBASE) -+CC+:=$(CFLAGS_SYSBASE) -+.ENDIF # "$(SYSBASE)"!="" -+CFLAGS+=-Wreturn-type -fmessage-length=0 -c $(INCLUDE) -+.IF "$(PRODUCT)"!="" -+CFLAGS+=-Wuninitialized -+.ENDIF - --# filter for supressing verbose messages from linker --# not needed at the moment --LINKOUTPUT_FILTER=" |& $(SOLARENV)$/bin$/msg_filter" -+# flags to enable build with symbols; required for crashdump feature -+.IF "$(ENABLE_SYMBOLS)"=="SMALL" -+CFLAGSENABLESYMBOLS=-g1 -+.ELSE -+CFLAGSENABLESYMBOLS=-g # was temporarily commented out, reenabled before Beta - --# options for C and C++ Compiler --CDEFS+= -D_USE_NAMESPACE=1 -DX86 -DNEW_SOLAR -DSTLPORT_VERSION=450 -DOSVERSION=$(OSVERSION) --CDEFS+= $(PTHREAD_CFLAGS) -D_REENTRANT -- --# flags for C and C++ Compile --CFLAGS+= -w -c $(INCLUDE) --CFLAGS+= -I/usr/X11R6/include -+.ENDIF - - # flags for the C++ Compiler --CFLAGSCC= -pipe -fno-rtti --CFLAGSCXX= -pipe -fno-rtti --CFLAGSCXX+= -Wno-ctor-dtor-privacy -- -+CFLAGSCC= -pipe -mtune=pentiumpro - # Flags for enabling exception handling --CFLAGSEXCEPTIONS= -fexceptions --CFLAGS_NO_EXCEPTIONS= -fno-exceptions -- --# Compiler flags for compiling static object in single threaded --# environment with graphical user interface --CFLAGSOBJGUIST= -fPIC -- --# Compiler flags for compiling static object in single threaded --# environment with character user interface --CFLAGSOBJCUIST= -fPIC -- --# Compiler flags for compiling static object in multi threaded --# environment with graphical user interface --CFLAGSOBJGUIMT= -fPIC -- --# Compiler flags for compiling static object in multi threaded --# environment with character user interface --CFLAGSOBJCUIMT= -fPIC -- --# Compiler flags for compiling shared object in multi threaded --# environment with graphical user interface --CFLAGSSLOGUIMT= -fPIC -- --# Compiler flags for compiling shared object in multi threaded --# environment with character user interface --CFLAGSSLOCUIMT= -fPIC -+CFLAGSEXCEPTIONS=-fexceptions -fno-enforce-eh-specs -+# Flags for disabling exception handling -+CFLAGS_NO_EXCEPTIONS=-fno-exceptions - --# Compiler flags for profilin --CFLAGSPROF= -pg -+# -fpermissive should be removed as soon as possible -+CFLAGSCXX= -pipe -mtune=pentiumpro -+CFLAGSCXX+= -Wno-ctor-dtor-privacy - -+# Compiler flags for compiling static object in single threaded environment with graphical user interface -+CFLAGSOBJGUIST= -+# Compiler flags for compiling static object in single threaded environment with character user interface -+CFLAGSOBJCUIST= -+# Compiler flags for compiling static object in multi threaded environment with graphical user interface -+CFLAGSOBJGUIMT= -+# Compiler flags for compiling static object in multi threaded environment with character user interface -+CFLAGSOBJCUIMT= -+# Compiler flags for compiling shared object in multi threaded environment with graphical user interface -+CFLAGSSLOGUIMT=-fPIC -+# Compiler flags for compiling shared object in multi threaded environment with character user interface -+CFLAGSSLOCUIMT=-fPIC -+# Compiler flags for profiling -+CFLAGSPROF= - # Compiler flags for debugging --CFLAGSDEBUG= -g -+CFLAGSDEBUG=-g - CFLAGSDBGUTIL= -- --# Compiler flags to enable optimizations --# -02 is broken for FreeBSD --CFLAGSOPT= -O -- --# Compiler flags to disable optimizations --# -0 is broken for STLport for FreeBSD --CFLAGSNOOPT= -O0 -- --# Compiler flags for the output path --CFLAGSOUTOBJ= -o -- -+# Compiler flags for enabling optimazations -+.IF "$(PRODUCT)"!="" -+CFLAGSOPT=-Os -fno-strict-aliasing # optimizing for products -+.ELSE # "$(PRODUCT)"!="" -+CFLAGSOPT= # no optimizing for non products -+.ENDIF # "$(PRODUCT)"!="" -+# Compiler flags for disabling optimazations -+CFLAGSNOOPT=-O0 -+# Compiler flags for discibing the output path -+CFLAGSOUTOBJ=-o - # Enable all warnings - CFLAGSWALL=-Wall -- - # Set default warn level --CFLAGSDFLTWARN=-w -+CFLAGSDFLTWARN= - - # switches for dynamic and static linking --STATIC= -Wl,-Bstatic --DYNAMIC= -Wl,-Bdynamic -+STATIC = -Wl,-Bstatic -+DYNAMIC = -Wl,-Bdynamic - - # name of linker --LINK=$(CC) -+LINK*=$(CXX) - - # default linker flags --# LINKFLAGSRUNPATH*=-Wl,-rpath\''$$ORIGIN'\' --LINKFLAGS=$(LINKFLAGSRUNPATH) -+LINKFLAGSDEFS*=#-Wl,-z,defs -+LINKFLAGSRUNPATH*=-Wl,-rpath,\''$$ORIGIN'\' -+LINKFLAGS=-z combreloc $(LINKFLAGSDEFS) $(LINKFLAGSRUNPATH) - - # linker flags for linking applications --LINKFLAGSAPPGUI= -Wl,--noinhibit-exec --LINKFLAGSAPPCUI= -Wl,--noinhibit-exec -+LINKFLAGSAPPGUI= -Wl,-export-dynamic -Wl,--noinhibit-exec -+LINKFLAGSAPPCUI= -Wl,-export-dynamic -Wl,--noinhibit-exec - - # linker flags for linking shared libraries - LINKFLAGSSHLGUI= -shared -@@ -177,23 +179,19 @@ - LINKFLAGSDEBUG=-g - LINKFLAGSOPT= - --.IF "$(NO_BSYMBOLIC)"=="" --.IF "$(PRJNAME)" != "envtest" --LINKFLAGSSHLGUI+= -Wl,-Bsymbolic --LINKFLAGSSHLCUI+= -Wl,-Bsymbolic --.ENDIF --.ENDIF -+# linker flags for optimization (symbol hashtable) -+# for now, applied to symbol scoped libraries, only -+LINKFLAGSOPTIMIZE*=-Wl,-O1 -+LINKVERSIONMAPFLAG=$(LINKFLAGSOPTIMIZE) -Wl,--version-script - --LINKVERSIONMAPFLAG=-Wl,--version-script -+SONAME_SWITCH=-Wl,-h - - # Sequence of libs does matter ! --STDLIBCPP=-lstdc++ - --# _SYSLIBS= -L/usr/lib -lm --# _X11LIBS= -L/usr/X11R6/lib -lXext -lX11 --# _CXXLIBS= -L/usr/lib -lstdc++ -L/usr/local/lib -+STDLIBCPP=-lstdc++ - - # default objectfilenames to link -+STDOBJVCL=$(L)$/salmain.o - STDOBJGUI= - STDSLOGUI= - STDOBJCUI= -@@ -201,24 +199,25 @@ - - # libraries for linking applications - STDLIBCUIST=-lm --STDLIBGUIST=-lXaw -lXt -lX11 -lm --STDLIBGUIMT=-lXaw -lXt -lX11 $(PTHREAD_LIBS) -lm -+STDLIBGUIMT=-lX11 $(PTHREAD_LIBS) -lm - STDLIBCUIMT=$(PTHREAD_LIBS) -lm -- -+STDLIBGUIST=-lX11 -lm - # libraries for linking shared libraries --STDSHLGUIMT=-lXaw -lXt -lX11 -lXext $(PTHREAD_LIBS) -lm -+STDSHLGUIMT=-lX11 -lXext $(PTHREAD_LIBS) -lm - STDSHLCUIMT=$(PTHREAD_LIBS) -lm -+STDSHLGUIST=-lX11 -lXext -lm -+STDSHLCUIST=-lm - - LIBSALCPPRT*=-Wl,--whole-archive -lsalcpprt -Wl,--no-whole-archive - --# STLport always needs pthread. --LIBSTLPORT=$(DYNAMIC) -lstlport_gcc $(STDLIBCPP) $(PTHREAD_LIBS) --LIBSTLPORTST=$(STATIC) -lstlport_gcc $(DYNAMIC) $(PTHREAD_LIBS) -+LIBSTLPORT=$(DYNAMIC) -lstlport_gcc -+LIBSTLPORTST=$(STATIC) -lstlport_gcc $(DYNAMIC) -+ -+#FILLUPARC=$(STATIC) -lsupc++ $(DYNAMIC) - - # name of library manager - LIBMGR=ar - LIBFLAGS=-r --LIBEXT= .a - - # tool for generating import libraries - IMPLIB= -@@ -237,3 +236,4 @@ - DLLPOSTFIX=fi - DLLPRE=lib - DLLPOST=.so -+ diff --git a/editors/openoffice.org-3-devel/files/patch-transex3+source+xmlparse.cxx b/editors/openoffice.org-3-devel/files/patch-transex3+source+xmlparse.cxx deleted file mode 100644 index de1864d5e9cb..000000000000 --- a/editors/openoffice.org-3-devel/files/patch-transex3+source+xmlparse.cxx +++ /dev/null @@ -1,24 +0,0 @@ -#iZ and CWS -o http://www.openoffice.org/issues/show_bug.cgi?id=40184 -o http://eis.services.openoffice.org/EIS2/servlet/cws.ShowCWS?Id=2030&Path=SRC680%2Fpj16 -o pj16 - -Description -FreeBSD doesn't have alloca.h - -Index: source/xmlparse.cxx -=================================================================== -RCS file: /cvs/l10n/transex3/source/xmlparse.cxx,v -retrieving revision 1.5 -diff -u -r1.5 xmlparse.cxx ---- transex3/source/xmlparse.cxx 18 Nov 2004 08:17:50 -0000 1.5 -+++ transex3/source/xmlparse.cxx 8 Jan 2005 02:56:14 -0000 -@@ -67,7 +67,7 @@ - #ifdef WIN32 - #include <malloc.h> - #else --#ifndef MACOSX -+#if !(defined(MACOSX) || defined(FREEBSD)) - #include <alloca.h> - #endif - #endif diff --git a/editors/openoffice.org-3/Makefile b/editors/openoffice.org-3/Makefile index c563bd2c2beb..e6be311f3b31 100644 --- a/editors/openoffice.org-3/Makefile +++ b/editors/openoffice.org-3/Makefile @@ -19,7 +19,7 @@ EXTRACT_ONLY= OOo_${RELEASE_NR}m${MILESTONE}_source.tar.bz2 MAINTAINER= openoffice@FreeBSD.org COMMENT?= Integrated wordprocessor/dbase/spreadheet/drawing/chart/browser(developer version) -SNAPDATE= 20050119 +SNAPDATE= 20050123 NO_LATEST_LINK= yes USE_GNOME= gtk20 MOZILLA_PROJECT= cws_srx645_mozooo.20041016.tar.gz @@ -49,7 +49,7 @@ BROKEN= "rtld depends on _end symbol. type make -DBROKEN to see how to upgrade CODELINE= 680 RELEASE_NR= 1.9 -MILESTONE= 72 +MILESTONE= 73 INSTALLATION_BASEDIR= openoffice.org${RELEASE_NR}m${MILESTONE} EXECBASE= openoffice.org-${RELEASE_NR}m${MILESTONE} DIST_SUBDIR= openoffice.org2.0 diff --git a/editors/openoffice.org-3/distinfo b/editors/openoffice.org-3/distinfo index 8b7774bf8f23..c9e7f5358b88 100644 --- a/editors/openoffice.org-3/distinfo +++ b/editors/openoffice.org-3/distinfo @@ -1,5 +1,5 @@ -MD5 (openoffice.org2.0/OOo_1.9m72_source.tar.bz2) = c51fa9d749f1e5eb3733d50b91f97fe8 -SIZE (openoffice.org2.0/OOo_1.9m72_source.tar.bz2) = 233690890 +MD5 (openoffice.org2.0/OOo_1.9m73_source.tar.bz2) = 0885bb45bd204b03b16f8276cbd922e0 +SIZE (openoffice.org2.0/OOo_1.9m73_source.tar.bz2) = 233756500 MD5 (openoffice.org2.0/gpc231.tar.Z) = fdb06fdb5a4670b172f9fb738b717be9 SIZE (openoffice.org2.0/gpc231.tar.Z) = 27917 MD5 (openoffice.org2.0/cws_srx645_mozooo.20041016.tar.gz) = eda0ab73b24c45890ae08bdfe04049bd diff --git a/editors/openoffice.org-3/files/Makefile.knobs b/editors/openoffice.org-3/files/Makefile.knobs index 5b9c07e3afce..0afc3acadf7e 100644 --- a/editors/openoffice.org-3/files/Makefile.knobs +++ b/editors/openoffice.org-3/files/Makefile.knobs @@ -19,7 +19,7 @@ CONFIGURE_ARGS+= --enable-cups .if defined(ALL_LOCALIZED_LANGS) CONFIGURE_ARGS+= --with-lang="en-US ar ca cs da de el es et fi fr he hi-IN hu it ja ko pl pt pt-BR ru sk sl sv th tr zh-CN zh-TW" -#following langs still seem to be under development +#following langs still seem to be under development #af bg cy eo eu gl kn-IN lt nb nl nn ns tn zu #CONFIGURE_ARGS+= --with-lang=ALL .else diff --git a/editors/openoffice.org-3/files/patch-config_office+set_soenv.in b/editors/openoffice.org-3/files/patch-config_office+set_soenv.in deleted file mode 100644 index 9b2a97774dc1..000000000000 --- a/editors/openoffice.org-3/files/patch-config_office+set_soenv.in +++ /dev/null @@ -1,25 +0,0 @@ -#iZ and CWS -o http://www.openoffice.org/issues/show_bug.cgi?id=37731 -o http://eis.services.openoffice.org/EIS2/servlet/cws.ShowCWS?Id=2030&Path=SRC680%2Fpj16 -o pj16 - -Description -Do not export LINK to environment - -Index: config_office/set_soenv.in -=================================================================== -RCS file: /cvs/tools/config_office/set_soenv.in,v -retrieving revision 1.31 -diff -u -r1.31 set_soenv.in ---- config_office/set_soenv.in 5 Jan 2005 12:10:00 -0000 1.31 -+++ config_office/set_soenv.in 9 Jan 2005 18:51:24 -0000 -@@ -1684,9 +1684,6 @@ - ToFile( "CC", $CC, "e" ); - ToFile( "CXX", $CXX, "e" ); - ToFile( "USE_SYSTEM_STL", "@USE_SYSTEM_STL@", "e" ); --if ( $COM ne "MSC" ) { -- ToFile( "LINK", $CC, "e" ); --} - ToFile( "ENABLE_SYMBOLS", "@ENABLE_SYMBOLS@", "e" ); - ToFile( "ENABLE_CRASHDUMP", "@ENABLE_CRASHDUMP@", "e" ); - ToFile( "ENABLE_CUPS", "@ENABLE_CUPS@", "e" ); diff --git a/editors/openoffice.org-3/files/patch-project-bridges b/editors/openoffice.org-3/files/patch-project-bridges deleted file mode 100644 index 890cab171898..000000000000 --- a/editors/openoffice.org-3/files/patch-project-bridges +++ /dev/null @@ -1,1004 +0,0 @@ -#iZ and CWS -o http://www.openoffice.org/issues/show_bug.cgi?id=40178 - -Description -catch up recent version of -bridges/source/cpp_uno/gcc3_linux_intel/cpp2uno.cxx -Only difference is: -- rtti = (type_info *)dlsym( m_hApp, symName.getStr() ); -+ rtti = (type_info *)dlsym( RTLD_DEFAULT, symName.getStr() ); -#iZ 22253 for reason why we changed m_hApp to RTLD_DEFAULT - -Index: bridges/source/cpp_uno/gcc3_freebsd_intel/cpp2uno.cxx -=================================================================== -RCS file: /cvs/udk/bridges/source/cpp_uno/gcc3_freebsd_intel/cpp2uno.cxx,v -retrieving revision 1.3 -diff -u -r1.3 cpp2uno.cxx ---- bridges/source/cpp_uno/gcc3_freebsd_intel/cpp2uno.cxx 28 Apr 2003 16:28:20 -0000 1.3 -+++ bridges/source/cpp_uno/gcc3_freebsd_intel/cpp2uno.cxx 27 Dec 2004 06:05:52 -0000 -@@ -2,9 +2,9 @@ - * - * $RCSfile: cpp2uno.cxx,v $ - * -- * $Revision: 1.3 $ -+ * $Revision: 1.6 $ - * -- * last change: $Author: hr $ $Date: 2003/04/28 16:28:20 $ -+ * last change: $Author: obo $ $Date: 2004/06/04 02:59:45 $ - * - * The Contents of this file are made available subject to the terms of - * either of the following licenses -@@ -59,34 +59,26 @@ - * - ************************************************************************/ - --#include <hash_map> -- --#include <sal/alloca.h> --#include <rtl/alloc.h> --#include <osl/mutex.hxx> -- -+#include <com/sun/star/uno/genfunc.hxx> -+#include "com/sun/star/uno/RuntimeException.hpp" - #include <uno/data.h> - #include <typelib/typedescription.hxx> - --#include <bridges/cpp_uno/bridge.hxx> --#include <bridges/cpp_uno/type_misc.hxx> -+#include "bridges/cpp_uno/shared/bridge.hxx" -+#include "bridges/cpp_uno/shared/cppinterfaceproxy.hxx" -+#include "bridges/cpp_uno/shared/types.hxx" -+#include "bridges/cpp_uno/shared/vtablefactory.hxx" - - #include "share.hxx" - -- --using namespace ::osl; --using namespace ::rtl; - using namespace ::com::sun::star::uno; - --namespace CPPU_CURRENT_NAMESPACE -+namespace - { - - //================================================================================================== --rtl_StandardModuleCount g_moduleCount = MODULE_COUNT_INIT; -- --//================================================================================================== - static typelib_TypeClass cpp2uno_call( -- cppu_cppInterfaceProxy * pThis, -+ bridges::cpp_uno::shared::CppInterfaceProxy * pThis, - const typelib_TypeDescription * pMemberTypeDescr, - typelib_TypeDescriptionReference * pReturnTypeRef, // 0 indicates void return - sal_Int32 nParams, typelib_MethodParameter * pParams, -@@ -106,7 +98,7 @@ - - if (pReturnTypeDescr) - { -- if (cppu_isSimpleType( pReturnTypeDescr )) -+ if (bridges::cpp_uno::shared::isSimpleType( pReturnTypeDescr )) - { - pUnoReturn = pRegisterReturn; // direct way for simple types - } -@@ -115,7 +107,8 @@ - pCppReturn = *(void **)pCppStack; - pCppStack += sizeof(void *); - -- pUnoReturn = (cppu_relatesToInterface( pReturnTypeDescr ) -+ pUnoReturn = (bridges::cpp_uno::shared::relatesToInterfaceType( -+ pReturnTypeDescr ) - ? alloca( pReturnTypeDescr->nSize ) - : pCppReturn); // direct way - } -@@ -141,7 +134,9 @@ - typelib_TypeDescription * pParamTypeDescr = 0; - TYPELIB_DANGER_GET( &pParamTypeDescr, rParam.pTypeRef ); - -- if (!rParam.bOut && cppu_isSimpleType( pParamTypeDescr )) // value -+ if (!rParam.bOut -+ && bridges::cpp_uno::shared::isSimpleType( pParamTypeDescr )) -+ // value - { - pCppArgs[nPos] = pCppStack; - pUnoArgs[nPos] = pCppStack; -@@ -168,11 +163,12 @@ - ppTempParamTypeDescr[nTempIndizes++] = pParamTypeDescr; - } - // is in/inout -- else if (cppu_relatesToInterface( pParamTypeDescr )) -+ else if (bridges::cpp_uno::shared::relatesToInterfaceType( -+ pParamTypeDescr )) - { - uno_copyAndConvertData( pUnoArgs[nPos] = alloca( pParamTypeDescr->nSize ), - *(void **)pCppStack, pParamTypeDescr, -- &pThis->pBridge->aCpp2Uno ); -+ pThis->getBridge()->getCpp2Uno() ); - pTempIndizes[nTempIndizes] = nPos; // has to be reconverted - // will be released at reconversion - ppTempParamTypeDescr[nTempIndizes++] = pParamTypeDescr; -@@ -192,7 +188,8 @@ - uno_Any * pUnoExc = &aUnoExc; - - // invoke uno dispatch call -- (*pThis->pUnoI->pDispatcher)( pThis->pUnoI, pMemberTypeDescr, pUnoReturn, pUnoArgs, &pUnoExc ); -+ (*pThis->getUnoI()->pDispatcher)( -+ pThis->getUnoI(), pMemberTypeDescr, pUnoReturn, pUnoArgs, &pUnoExc ); - - // in case an exception occured... - if (pUnoExc) -@@ -209,7 +206,9 @@ - if (pReturnTypeDescr) - TYPELIB_DANGER_RELEASE( pReturnTypeDescr ); - -- raiseException( &aUnoExc, &pThis->pBridge->aUno2Cpp ); // has to destruct the any -+ CPPU_CURRENT_NAMESPACE::raiseException( -+ &aUnoExc, pThis->getBridge()->getUno2Cpp() ); -+ // has to destruct the any - // is here for dummy - return typelib_TypeClass_VOID; - } -@@ -226,7 +225,7 @@ - // convert and assign - uno_destructData( pCppArgs[nIndex], pParamTypeDescr, cpp_release ); - uno_copyAndConvertData( pCppArgs[nIndex], pUnoArgs[nIndex], pParamTypeDescr, -- &pThis->pBridge->aUno2Cpp ); -+ pThis->getBridge()->getUno2Cpp() ); - } - // destroy temp uno param - uno_destructData( pUnoArgs[nIndex], pParamTypeDescr, 0 ); -@@ -239,7 +238,7 @@ - if (pUnoReturn != pCppReturn) // needs reconversion - { - uno_copyAndConvertData( pCppReturn, pUnoReturn, pReturnTypeDescr, -- &pThis->pBridge->aUno2Cpp ); -+ pThis->getBridge()->getUno2Cpp() ); - // destroy temp uno return - uno_destructData( pUnoReturn, pReturnTypeDescr, 0 ); - } -@@ -260,38 +259,41 @@ - - //================================================================================================== - static typelib_TypeClass cpp_mediate( -- sal_Int32 nVtableCall, -+ sal_Int32 nFunctionIndex, -+ sal_Int32 nVtableOffset, - void ** pCallStack, - sal_Int64 * pRegisterReturn /* space for register return */ ) - { - OSL_ENSURE( sizeof(sal_Int32)==sizeof(void *), "### unexpected!" ); - - // pCallStack: ret adr, [ret *], this, params -- // _this_ ptr is patched cppu_XInterfaceProxy object -- cppu_cppInterfaceProxy * pCppI = NULL; -- if( nVtableCall & 0x80000000 ) -+ void * pThis; -+ if( nFunctionIndex & 0x80000000 ) - { -- nVtableCall &= 0x7fffffff; -- pCppI = (cppu_cppInterfaceProxy *)(XInterface *)*(pCallStack +2); -+ nFunctionIndex &= 0x7fffffff; -+ pThis = pCallStack[2]; - } - else - { -- pCppI = (cppu_cppInterfaceProxy *)(XInterface *)*(pCallStack +1); -+ pThis = pCallStack[1]; - } -+ pThis = static_cast< char * >(pThis) - nVtableOffset; -+ bridges::cpp_uno::shared::CppInterfaceProxy * pCppI -+ = bridges::cpp_uno::shared::CppInterfaceProxy::castInterfaceToProxy( -+ pThis); - -- typelib_InterfaceTypeDescription * pTypeDescr = pCppI->pTypeDescr; -+ typelib_InterfaceTypeDescription * pTypeDescr = pCppI->getTypeDescr(); - -- OSL_ENSURE( nVtableCall < pTypeDescr->nMapFunctionIndexToMemberIndex, "### illegal vtable index!" ); -- if (nVtableCall >= pTypeDescr->nMapFunctionIndexToMemberIndex) -+ OSL_ENSURE( nFunctionIndex < pTypeDescr->nMapFunctionIndexToMemberIndex, "### illegal vtable index!" ); -+ if (nFunctionIndex >= pTypeDescr->nMapFunctionIndexToMemberIndex) - { - throw RuntimeException( -- OUString::createFromAscii("illegal vtable index!"), -- (XInterface *)pCppI ); -+ rtl::OUString::createFromAscii("illegal vtable index!"), -+ (XInterface *)pThis ); - } - - // determine called method -- OSL_ENSURE( nVtableCall < pTypeDescr->nMapFunctionIndexToMemberIndex, "### illegal vtable index!" ); -- sal_Int32 nMemberPos = pTypeDescr->pMapFunctionIndexToMemberIndex[nVtableCall]; -+ sal_Int32 nMemberPos = pTypeDescr->pMapFunctionIndexToMemberIndex[nFunctionIndex]; - OSL_ENSURE( nMemberPos < pTypeDescr->nAllMembers, "### illegal member index!" ); - - TypeDescription aMemberDescr( pTypeDescr->ppAllMembers[nMemberPos] ); -@@ -301,7 +303,7 @@ - { - case typelib_TypeClass_INTERFACE_ATTRIBUTE: - { -- if (pTypeDescr->pMapMemberIndexToFunctionIndex[nMemberPos] == nVtableCall) -+ if (pTypeDescr->pMapMemberIndexToFunctionIndex[nMemberPos] == nFunctionIndex) - { - // is GET method - eRet = cpp2uno_call( -@@ -330,7 +332,7 @@ - case typelib_TypeClass_INTERFACE_METHOD: - { - // is METHOD -- switch (nVtableCall) -+ switch (nFunctionIndex) - { - case 1: // acquire() - pCppI->acquireProxy(); // non virtual call! -@@ -347,9 +349,10 @@ - if (pTD) - { - XInterface * pInterface = 0; -- (*pCppI->pBridge->pCppEnv->getRegisteredInterface)( -- pCppI->pBridge->pCppEnv, -- (void **)&pInterface, pCppI->oid.pData, (typelib_InterfaceTypeDescription *)pTD ); -+ (*pCppI->getBridge()->getCppEnv()->getRegisteredInterface)( -+ pCppI->getBridge()->getCppEnv(), -+ (void **)&pInterface, pCppI->getOid().pData, -+ (typelib_InterfaceTypeDescription *)pTD ); - - if (pInterface) - { -@@ -378,8 +381,8 @@ - default: - { - throw RuntimeException( -- OUString::createFromAscii("no member description found!"), -- (XInterface *)pCppI ); -+ rtl::OUString::createFromAscii("no member description found!"), -+ (XInterface *)pThis ); - // is here for dummy - eRet = typelib_TypeClass_VOID; - } -@@ -393,12 +396,15 @@ - * is called on incoming vtable calls - * (called by asm snippets) - */ --static void cpp_vtable_call( int nTableEntry, void** pCallStack ) __attribute__((regparm(2))); -+static void cpp_vtable_call( -+ int nFunctionIndex, int nVtableOffset, void** pCallStack ) -+ __attribute__((regparm(3))); - --void cpp_vtable_call( int nTableEntry, void** pCallStack ) -+void cpp_vtable_call( int nFunctionIndex, int nVtableOffset, void** pCallStack ) - { - volatile long nRegReturn[2]; -- typelib_TypeClass aType = cpp_mediate( nTableEntry, pCallStack, (sal_Int64*)nRegReturn ); -+ typelib_TypeClass aType = cpp_mediate( -+ nFunctionIndex, nVtableOffset, pCallStack, (sal_Int64*)nRegReturn ); - - switch( aType ) - { -@@ -434,161 +440,103 @@ - - - //================================================================================================== --class MediateClassData --{ -- typedef ::std::hash_map< OUString, void *, OUStringHash > t_classdata_map; -- t_classdata_map m_map; -- Mutex m_mutex; -- --public: -- void const * get_vtable( typelib_InterfaceTypeDescription * pTD ) SAL_THROW( () ); -- -- inline MediateClassData() SAL_THROW( () ) -- {} -- ~MediateClassData() SAL_THROW( () ); --}; --//__________________________________________________________________________________________________ --MediateClassData::~MediateClassData() SAL_THROW( () ) -+int const codeSnippetSize = 20; -+ -+unsigned char * codeSnippet( -+ unsigned char * code, sal_Int32 functionIndex, sal_Int32 vtableOffset, -+ bool simpleRetType) - { -- OSL_TRACE( "> calling ~MediateClassData(): freeing mediate vtables." ); -- -- for ( t_classdata_map::const_iterator iPos( m_map.begin() ); iPos != m_map.end(); ++iPos ) -- { -- ::rtl_freeMemory( iPos->second ); -- } -+ if (!simpleRetType) { -+ functionIndex |= 0x80000000; -+ } -+ unsigned char * p = code; -+ OSL_ASSERT(sizeof (sal_Int32) == 4); -+ // mov function_index, %eax: -+ *p++ = 0xB8; -+ *reinterpret_cast< sal_Int32 * >(p) = functionIndex; -+ p += sizeof (sal_Int32); -+ // mov vtable_offset, %edx: -+ *p++ = 0xBA; -+ *reinterpret_cast< sal_Int32 * >(p) = vtableOffset; -+ p += sizeof (sal_Int32); -+ // mov %esp, %ecx: -+ *p++ = 0x89; -+ *p++ = 0xE1; -+ // jmp cpp_vtable_call: -+ *p++ = 0xE9; -+ *reinterpret_cast< sal_Int32 * >(p) -+ = ((unsigned char *) cpp_vtable_call) - p - sizeof (sal_Int32); -+ p += sizeof (sal_Int32); -+ OSL_ASSERT(p - code <= codeSnippetSize); -+ return code + codeSnippetSize; - } --//-------------------------------------------------------------------------------------------------- --static inline void codeSnippet( char * code, sal_uInt32 vtable_pos, bool simple_ret_type ) SAL_THROW( () ) --{ -- if (! simple_ret_type) -- vtable_pos |= 0x80000000; -- OSL_ASSERT( sizeof (long) == 4 ); -- // mov $nPos, %eax -- *code++ = 0xb8; -- *(long *)code = vtable_pos; -- code += sizeof (long); -- // mov %esp, %edx -- *code++ = 0x89; -- *code++ = 0xe2; -- // jmp cpp_vtable_call -- *code++ = 0xe9; -- *(long *)code = ((char *)cpp_vtable_call) - code - sizeof (long); -+ - } --//__________________________________________________________________________________________________ --void const * MediateClassData::get_vtable( typelib_InterfaceTypeDescription * pTD ) SAL_THROW( () ) --{ -- void * buffer; -- -- // avoiding locked counts -- OUString const & unoName = *(OUString const *)&((typelib_TypeDescription *)pTD)->pTypeName; -- { -- MutexGuard aGuard( m_mutex ); -- t_classdata_map::const_iterator iFind( m_map.find( unoName ) ); -- if (iFind == m_map.end()) -- { -- // create new vtable -- sal_Int32 nSlots = pTD->nMapFunctionIndexToMemberIndex; -- buffer = ::rtl_allocateMemory( ((2+ nSlots) * sizeof (void *)) + (nSlots *20) ); -- -- ::std::pair< t_classdata_map::iterator, bool > insertion( -- m_map.insert( t_classdata_map::value_type( unoName, buffer ) ) ); -- OSL_ENSURE( insertion.second, "### inserting new vtable buffer failed?!" ); -- -- void ** slots = (void **)buffer; -- *slots++ = 0; -- *slots++ = 0; // rtti -- char * code = (char *)(slots + nSlots); -- -- sal_uInt32 vtable_pos = 0; -- sal_Int32 nAllMembers = pTD->nAllMembers; -- typelib_TypeDescriptionReference ** ppAllMembers = pTD->ppAllMembers; -- for ( sal_Int32 nPos = 0; nPos < nAllMembers; ++nPos ) -- { -- typelib_TypeDescription * pTD = 0; -- TYPELIB_DANGER_GET( &pTD, ppAllMembers[ nPos ] ); -- OSL_ASSERT( pTD ); -- if (typelib_TypeClass_INTERFACE_ATTRIBUTE == pTD->eTypeClass) -- { -- bool simple_ret = cppu_isSimpleType( -- ((typelib_InterfaceAttributeTypeDescription *)pTD)->pAttributeTypeRef->eTypeClass ); -- // get method -- *slots++ = code; -- codeSnippet( code, vtable_pos++, simple_ret ); -- code += 20; -- if (! ((typelib_InterfaceAttributeTypeDescription *)pTD)->bReadOnly) -- { -- // set method -- *slots++ = code; -- codeSnippet( code, vtable_pos++, true ); -- code += 20; -- } -- } -- else -+ -+void ** bridges::cpp_uno::shared::VtableFactory::mapBlockToVtable(char * block) -+{ -+ return reinterpret_cast< void ** >(block) + 2; -+} -+ -+char * bridges::cpp_uno::shared::VtableFactory::createBlock( -+ sal_Int32 slotCount, void *** slots) -+{ -+ char * block = new char[ -+ (slotCount + 2) * sizeof (void *) + slotCount * codeSnippetSize]; -+ *slots = mapBlockToVtable(block); -+ (*slots)[-2] = 0; -+ (*slots)[-1] = 0; -+ return block; -+} -+ -+unsigned char * bridges::cpp_uno::shared::VtableFactory::addLocalFunctions( -+ void ** slots, unsigned char * code, -+ typelib_InterfaceTypeDescription const * type, sal_Int32 functionOffset, -+ sal_Int32 functionCount, sal_Int32 vtableOffset) -+{ -+ for (sal_Int32 i = 0; i < type->nMembers; ++i) { -+ typelib_TypeDescription * member = 0; -+ TYPELIB_DANGER_GET(&member, type->ppMembers[i]); -+ OSL_ASSERT(member != 0); -+ switch (member->eTypeClass) { -+ case typelib_TypeClass_INTERFACE_ATTRIBUTE: -+ // Getter: -+ *slots++ = code; -+ code = codeSnippet( -+ code, functionOffset++, vtableOffset, -+ bridges::cpp_uno::shared::isSimpleType( -+ reinterpret_cast< -+ typelib_InterfaceAttributeTypeDescription * >( -+ member)->pAttributeTypeRef)); -+ // Setter: -+ if (!reinterpret_cast< -+ typelib_InterfaceAttributeTypeDescription * >( -+ member)->bReadOnly) - { -- bool simple_ret = cppu_isSimpleType( -- ((typelib_InterfaceMethodTypeDescription *)pTD)->pReturnTypeRef->eTypeClass ); - *slots++ = code; -- codeSnippet( code, vtable_pos++, simple_ret ); -- code += 20; -+ code = codeSnippet(code, functionOffset++, vtableOffset, true); - } -- TYPELIB_DANGER_RELEASE( pTD ); -+ break; -+ -+ case typelib_TypeClass_INTERFACE_METHOD: -+ *slots++ = code; -+ code = codeSnippet( -+ code, functionOffset++, vtableOffset, -+ bridges::cpp_uno::shared::isSimpleType( -+ reinterpret_cast< -+ typelib_InterfaceMethodTypeDescription * >( -+ member)->pReturnTypeRef)); -+ break; -+ -+ default: -+ OSL_ASSERT(false); -+ break; - } -- OSL_ASSERT( vtable_pos == nSlots ); -- } -- else -- { -- buffer = iFind->second; -- } -+ TYPELIB_DANGER_RELEASE(member); - } -- -- return ((void **)buffer +2); --} -- --//================================================================================================== --void SAL_CALL cppu_cppInterfaceProxy_patchVtable( -- XInterface * pCppI, typelib_InterfaceTypeDescription * pTypeDescr ) throw () --{ -- static MediateClassData * s_pMediateClassData = 0; -- if (! s_pMediateClassData) -- { -- MutexGuard aGuard( Mutex::getGlobalMutex() ); -- if (! s_pMediateClassData) -- { --#ifdef LEAK_STATIC_DATA -- s_pMediateClassData = new MediateClassData(); --#else -- static MediateClassData s_aMediateClassData; -- s_pMediateClassData = &s_aMediateClassData; --#endif -- } -- } -- *(void const **)pCppI = s_pMediateClassData->get_vtable( pTypeDescr ); --} -- -+ return code; - } - --extern "C" --{ --//################################################################################################## --sal_Bool SAL_CALL component_canUnload( TimeValue * pTime ) -- SAL_THROW_EXTERN_C() --{ -- return CPPU_CURRENT_NAMESPACE::g_moduleCount.canUnload( -- &CPPU_CURRENT_NAMESPACE::g_moduleCount, pTime ); --} --//################################################################################################## --void SAL_CALL uno_initEnvironment( uno_Environment * pCppEnv ) -- SAL_THROW_EXTERN_C() --{ -- CPPU_CURRENT_NAMESPACE::cppu_cppenv_initEnvironment( -- pCppEnv ); --} --//################################################################################################## --void SAL_CALL uno_ext_getMapping( -- uno_Mapping ** ppMapping, uno_Environment * pFrom, uno_Environment * pTo ) -- SAL_THROW_EXTERN_C() --{ -- CPPU_CURRENT_NAMESPACE::cppu_ext_getMapping( -- ppMapping, pFrom, pTo ); --} --} -+void bridges::cpp_uno::shared::VtableFactory::flushCode( -+ unsigned char const *, unsigned char const *) -+{} -Index: bridges/source/cpp_uno/gcc3_freebsd_intel/except.cxx -=================================================================== -RCS file: /cvs/udk/bridges/source/cpp_uno/gcc3_freebsd_intel/except.cxx,v -retrieving revision 1.4 -diff -u -r1.4 except.cxx ---- bridges/source/cpp_uno/gcc3_freebsd_intel/except.cxx 28 Apr 2003 16:41:25 -0000 1.4 -+++ bridges/source/cpp_uno/gcc3_freebsd_intel/except.cxx 27 Dec 2004 06:05:52 -0000 -@@ -2,9 +2,9 @@ - * - * $RCSfile: except.cxx,v $ - * -- * $Revision: 1.4 $ -+ * $Revision: 1.10 $ - * -- * last change: $Author: hr $ $Date: 2003/04/28 16:41:25 $ -+ * last change: $Author: obo $ $Date: 2004/06/04 02:59:59 $ - * - * The Contents of this file are made available subject to the terms of - * either of the following licenses -@@ -69,7 +69,8 @@ - #include <osl/diagnose.h> - #include <osl/mutex.hxx> - --#include <bridges/cpp_uno/bridge.hxx> -+#include <com/sun/star/uno/genfunc.hxx> -+#include "com/sun/star/uno/RuntimeException.hpp" - #include <typelib/typedescription.hxx> - #include <uno/any2.h> - -@@ -147,7 +148,7 @@ - }; - //__________________________________________________________________________________________________ - RTTI::RTTI() SAL_THROW( () ) -- : m_hApp( dlopen( 0, RTLD_LAZY ) ) -+ : m_hApp( dlopen( 0, RTLD_NOW | RTLD_GLOBAL ) ) - { - } - //__________________________________________________________________________________________________ -@@ -182,7 +183,8 @@ - buf.append( 'E' ); - - OString symName( buf.makeStringAndClear() ); -- rtti = (type_info *)dlsym( m_hApp, symName.getStr() ); -+//#iZ 22253 -+ rtti = (type_info *)dlsym( RTLD_DEFAULT, symName.getStr() ); - - if (rtti) - { -@@ -253,7 +255,7 @@ - //================================================================================================== - void raiseException( uno_Any * pUnoExc, uno_Mapping * pUno2Cpp ) - { --#if defined DEBUG -+#if OSL_DEBUG_LEVEL > 1 - OString cstr( - OUStringToOString( - *reinterpret_cast< OUString const * >( &pUnoExc->pType->pTypeName ), -@@ -275,7 +277,7 @@ - *reinterpret_cast< OUString const * >( &pUnoExc->pType->pTypeName ), - Reference< XInterface >() ); - } -- -+ - pCppExc = __cxa_allocate_exception( pTypeDescr->nSize ); - ::uno_copyAndConvertData( pCppExc, pUnoExc->pData, pTypeDescr, pUno2Cpp ); - -@@ -321,16 +323,16 @@ - Reference< XInterface >() ); - Type const & rType = ::getCppuType( &aRE ); - uno_type_any_constructAndConvert( pUnoExc, &aRE, rType.getTypeLibType(), pCpp2Uno ); --#if defined _DEBUG -+#if OSL_DEBUG_LEVEL > 0 - OString cstr( OUStringToOString( aRE.Message, RTL_TEXTENCODING_ASCII_US ) ); - OSL_ENSURE( 0, cstr.getStr() ); - #endif - return; - } -- -+ - typelib_TypeDescription * pExcTypeDescr = 0; - OUString unoName( toUNOname( header->exceptionType->name() ) ); --#if defined DEBUG -+#if OSL_DEBUG_LEVEL > 1 - OString cstr_unoName( OUStringToOString( unoName, RTL_TEXTENCODING_ASCII_US ) ); - fprintf( stderr, "> c++ exception occured: %s\n", cstr_unoName.getStr() ); - #endif -@@ -342,7 +344,7 @@ - Reference< XInterface >() ); - Type const & rType = ::getCppuType( &aRE ); - uno_type_any_constructAndConvert( pUnoExc, &aRE, rType.getTypeLibType(), pCpp2Uno ); --#if defined _DEBUG -+#if OSL_DEBUG_LEVEL > 0 - OString cstr( OUStringToOString( aRE.Message, RTL_TEXTENCODING_ASCII_US ) ); - OSL_ENSURE( 0, cstr.getStr() ); - #endif -Index: bridges/source/cpp_uno/gcc3_freebsd_intel/makefile.mk -=================================================================== -RCS file: /cvs/udk/bridges/source/cpp_uno/gcc3_freebsd_intel/makefile.mk,v -retrieving revision 1.2 -diff -u -r1.2 makefile.mk ---- bridges/source/cpp_uno/gcc3_freebsd_intel/makefile.mk 18 Mar 2003 19:06:52 -0000 1.2 -+++ bridges/source/cpp_uno/gcc3_freebsd_intel/makefile.mk 27 Dec 2004 06:05:52 -0000 -@@ -2,9 +2,9 @@ - # - # $RCSfile: makefile.mk,v $ - # --# $Revision: 1.2 $ -+# $Revision: 1.3 $ - # --# last change: $Author: hr $ $Date: 2003/03/18 19:06:52 $ -+# last change: $Author: hr $ $Date: 2004/02/03 12:37:41 $ - # - # The Contents of this file are made available subject to the terms of - # either of the following licenses -@@ -95,10 +95,8 @@ - SHL1IMPLIB=i$(TARGET) - SHL1VERSIONMAP=..$/..$/bridge_exports.map - --SHL1OBJS= \ -- $(SLO)$/except.obj \ -- $(SLO)$/cpp2uno.obj \ -- $(SLO)$/uno2cpp.obj -+SHL1OBJS = $(SLOFILES) -+SHL1LIBS = $(SLB)$/cpp_uno_shared.lib - - SHL1STDLIBS= \ - $(CPPULIB) \ -Index: bridges/source/cpp_uno/gcc3_freebsd_intel/share.hxx -=================================================================== -RCS file: /cvs/udk/bridges/source/cpp_uno/gcc3_freebsd_intel/share.hxx,v -retrieving revision 1.2 -diff -u -r1.2 share.hxx ---- bridges/source/cpp_uno/gcc3_freebsd_intel/share.hxx 18 Mar 2003 19:06:53 -0000 1.2 -+++ bridges/source/cpp_uno/gcc3_freebsd_intel/share.hxx 27 Dec 2004 06:05:52 -0000 -@@ -4,7 +4,7 @@ - * - * $Revision: 1.2 $ - * -- * last change: $Author: hr $ $Date: 2003/03/18 19:06:53 $ -+ * last change: $Author: hr $ $Date: 2004/02/03 12:38:19 $ - * - * The Contents of this file are made available subject to the terms of - * either of the following licenses -@@ -59,6 +59,8 @@ - * - ************************************************************************/ - -+#include "uno/mapping.h" -+ - #include <typeinfo> - #include <exception> - #include <cstddef> -@@ -66,6 +68,8 @@ - namespace CPPU_CURRENT_NAMESPACE - { - -+void dummy_can_throw_anything( char const * ); -+ - // ----- following decl from libstdc++-v3/libsupc++/unwind-cxx.h and unwind.h - - struct _Unwind_Exception -Index: bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx -=================================================================== -RCS file: /cvs/udk/bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx,v -retrieving revision 1.5 -diff -u -r1.5 uno2cpp.cxx ---- bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx 3 Nov 2004 09:03:15 -0000 1.5 -+++ bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx 27 Dec 2004 06:05:52 -0000 -@@ -2,9 +2,9 @@ - * - * $RCSfile: uno2cpp.cxx,v $ - * -- * $Revision: 1.5 $ -+ * $Revision: 1.7 $ - * -- * last change: $Author: pjunck $ $Date: 2004/11/03 09:03:15 $ -+ * last change: $Author: sb $ $Date: 2004/09/27 09:08:35 $ - * - * The Contents of this file are made available subject to the terms of - * either of the following licenses -@@ -59,24 +59,25 @@ - * - ************************************************************************/ - --#include <sal/alloca.h> --#include <rtl/alloc.h> -+#include <stdlib.h> - -+#include <com/sun/star/uno/genfunc.hxx> -+#include "com/sun/star/uno/RuntimeException.hpp" - #include <uno/data.h> --#include <bridges/cpp_uno/bridge.hxx> --#include <bridges/cpp_uno/type_misc.hxx> - --#include "share.hxx" -+#include "bridges/cpp_uno/shared/bridge.hxx" -+#include "bridges/cpp_uno/shared/types.hxx" -+#include "bridges/cpp_uno/shared/unointerfaceproxy.hxx" -+#include "bridges/cpp_uno/shared/vtables.hxx" - -+#include "share.hxx" - - using namespace ::rtl; - using namespace ::com::sun::star::uno; - --namespace CPPU_CURRENT_NAMESPACE -+namespace - { - --void dummy_can_throw_anything( char const * ); -- - //================================================================================================== - // The call instruction within the asm section of callVirtualMethod may throw - // exceptions. So that the compiler handles this correctly, it is important -@@ -85,7 +86,7 @@ - // callVirtualMethod is not inlined at its call site (so that any exceptions are - // caught which are thrown from the instruction calling callVirtualMethod): - void callVirtualMethod( -- void * pThis, -+ void * pAdjustedThisPtr, - sal_Int32 nVtableIndex, - void * pRegisterReturn, - typelib_TypeClass eReturnType, -@@ -93,7 +94,7 @@ - sal_Int32 nStackLongs ) __attribute__((noinline)); - - void callVirtualMethod( -- void * pThis, -+ void * pAdjustedThisPtr, - sal_Int32 nVtableIndex, - void * pRegisterReturn, - typelib_TypeClass eReturnType, -@@ -103,13 +104,13 @@ - // parameter list is mixed list of * and values - // reference parameters are pointers - -- OSL_ENSURE( pStackLongs && pThis, "### null ptr!" ); -+ OSL_ENSURE( pStackLongs && pAdjustedThisPtr, "### null ptr!" ); - OSL_ENSURE( (sizeof(void *) == 4) && (sizeof(sal_Int32) == 4), "### unexpected size of int!" ); - OSL_ENSURE( nStackLongs && pStackLongs, "### no stack in callVirtualMethod !" ); - - // never called -- if (! pThis) dummy_can_throw_anything("xxx"); // address something -- -+ if (! pAdjustedThisPtr) CPPU_CURRENT_NAMESPACE::dummy_can_throw_anything("xxx"); // address something -+ - volatile long edx = 0, eax = 0; // for register returns - void * stackptr; - asm volatile ( -@@ -139,8 +140,8 @@ - // cleanup stack - "mov %6, %%esp\n\t" - : -- : "m"(nStackLongs), "m"(pStackLongs), "m"(pThis), "m"(nVtableIndex), -- "m"(eax), "m"(edx), "m"(stackptr) -+ : "m"(nStackLongs), "m"(pStackLongs), "m"(pAdjustedThisPtr), -+ "m"(nVtableIndex), "m"(eax), "m"(edx), "m"(stackptr) - : "eax", "edx" ); - switch( eReturnType ) - { -@@ -172,8 +173,8 @@ - - //================================================================================================== - static void cpp_call( -- cppu_unoInterfaceProxy * pThis, -- sal_Int32 nVtableCall, -+ bridges::cpp_uno::shared::UnoInterfaceProxy * pThis, -+ bridges::cpp_uno::shared::VtableSlot aVtableSlot, - typelib_TypeDescriptionReference * pReturnTypeRef, - sal_Int32 nParams, typelib_MethodParameter * pParams, - void * pUnoReturn, void * pUnoArgs[], uno_Any ** ppUnoExc ) -@@ -192,21 +193,25 @@ - - if (pReturnTypeDescr) - { -- if (cppu_isSimpleType( pReturnTypeDescr )) -+ if (bridges::cpp_uno::shared::isSimpleType( pReturnTypeDescr )) - { - pCppReturn = pUnoReturn; // direct way for simple types - } - else - { - // complex return via ptr -- pCppReturn = *(void **)pCppStack = (cppu_relatesToInterface( pReturnTypeDescr ) -- ? alloca( pReturnTypeDescr->nSize ) -- : pUnoReturn); // direct way -+ pCppReturn = *(void **)pCppStack -+ = (bridges::cpp_uno::shared::relatesToInterfaceType( -+ pReturnTypeDescr ) -+ ? alloca( pReturnTypeDescr->nSize ) -+ : pUnoReturn); // direct way - pCppStack += sizeof(void *); - } - } - // push this -- *(void**)pCppStack = pThis->pCppI; -+ void * pAdjustedThisPtr = reinterpret_cast< void ** >(pThis->getCppI()) -+ + aVtableSlot.offset; -+ *(void**)pCppStack = pAdjustedThisPtr; - pCppStack += sizeof( void* ); - - // stack space -@@ -226,10 +231,11 @@ - typelib_TypeDescription * pParamTypeDescr = 0; - TYPELIB_DANGER_GET( &pParamTypeDescr, rParam.pTypeRef ); - -- if (!rParam.bOut && cppu_isSimpleType( pParamTypeDescr )) -+ if (!rParam.bOut -+ && bridges::cpp_uno::shared::isSimpleType( pParamTypeDescr )) - { - uno_copyAndConvertData( pCppArgs[nPos] = pCppStack, pUnoArgs[nPos], pParamTypeDescr, -- &pThis->pBridge->aUno2Cpp ); -+ pThis->getBridge()->getUno2Cpp() ); - - switch (pParamTypeDescr->eTypeClass) - { -@@ -254,11 +260,13 @@ - ppTempParamTypeDescr[nTempIndizes++] = pParamTypeDescr; - } - // is in/inout -- else if (cppu_relatesToInterface( pParamTypeDescr )) -+ else if (bridges::cpp_uno::shared::relatesToInterfaceType( -+ pParamTypeDescr )) - { - uno_copyAndConvertData( - *(void **)pCppStack = pCppArgs[nPos] = alloca( pParamTypeDescr->nSize ), -- pUnoArgs[nPos], pParamTypeDescr, &pThis->pBridge->aUno2Cpp ); -+ pUnoArgs[nPos], pParamTypeDescr, -+ pThis->getBridge()->getUno2Cpp() ); - - pTempIndizes[nTempIndizes] = nPos; // has to be reconverted - // will be released at reconversion -@@ -278,7 +286,7 @@ - { - OSL_ENSURE( !( (pCppStack - pCppStackStart ) & 3), "UNALIGNED STACK !!! (Please DO panic)" ); - callVirtualMethod( -- pThis->pCppI, nVtableCall, -+ pAdjustedThisPtr, aVtableSlot.index, - pCppReturn, pReturnTypeDescr->eTypeClass, - (sal_Int32 *)pCppStackStart, (pCppStack - pCppStackStart) / sizeof(sal_Int32) ); - // NO exception occured... -@@ -296,13 +304,13 @@ - { - uno_destructData( pUnoArgs[nIndex], pParamTypeDescr, 0 ); // destroy uno value - uno_copyAndConvertData( pUnoArgs[nIndex], pCppArgs[nIndex], pParamTypeDescr, -- &pThis->pBridge->aCpp2Uno ); -+ pThis->getBridge()->getCpp2Uno() ); - } - } - else // pure out - { - uno_copyAndConvertData( pUnoArgs[nIndex], pCppArgs[nIndex], pParamTypeDescr, -- &pThis->pBridge->aCpp2Uno ); -+ pThis->getBridge()->getCpp2Uno() ); - } - // destroy temp cpp param => cpp: every param was constructed - uno_destructData( pCppArgs[nIndex], pParamTypeDescr, cpp_release ); -@@ -313,14 +321,14 @@ - if (pCppReturn && pUnoReturn != pCppReturn) - { - uno_copyAndConvertData( pUnoReturn, pCppReturn, pReturnTypeDescr, -- &pThis->pBridge->aCpp2Uno ); -+ pThis->getBridge()->getCpp2Uno() ); - uno_destructData( pCppReturn, pReturnTypeDescr, cpp_release ); - } - } - catch (...) - { - // fill uno exception -- fillUnoException( __cxa_get_globals()->caughtExceptions, *ppUnoExc, &pThis->pBridge->aCpp2Uno ); -+ fillUnoException( CPPU_CURRENT_NAMESPACE::__cxa_get_globals()->caughtExceptions, *ppUnoExc, pThis->getBridge()->getCpp2Uno() ); - - // temporary params - for ( ; nTempIndizes--; ) -@@ -336,32 +344,32 @@ - } - } - -+} - - //================================================================================================== --void SAL_CALL cppu_unoInterfaceProxy_dispatch( -+void bridges::cpp_uno::shared::UnoInterfaceProxy::dispatch( - uno_Interface * pUnoI, const typelib_TypeDescription * pMemberDescr, -- void * pReturn, void * pArgs[], uno_Any ** ppException ) throw () -+ void * pReturn, void * pArgs[], uno_Any ** ppException ) SAL_THROW(()) - { - // is my surrogate -- cppu_unoInterfaceProxy * pThis = (cppu_unoInterfaceProxy *)pUnoI; -+ bridges::cpp_uno::shared::UnoInterfaceProxy * pThis -+ = static_cast< bridges::cpp_uno::shared::UnoInterfaceProxy * >(pUnoI); - typelib_InterfaceTypeDescription * pTypeDescr = pThis->pTypeDescr; - - switch (pMemberDescr->eTypeClass) - { - case typelib_TypeClass_INTERFACE_ATTRIBUTE: - { -- // determine vtable call index -- sal_Int32 nMemberPos = ((typelib_InterfaceMemberTypeDescription *)pMemberDescr)->nPosition; -- OSL_ENSURE( nMemberPos < pTypeDescr->nAllMembers, "### member pos out of range!" ); -- -- sal_Int32 nVtableCall = pTypeDescr->pMapMemberIndexToFunctionIndex[nMemberPos]; -- OSL_ENSURE( nVtableCall < pTypeDescr->nMapFunctionIndexToMemberIndex, "### illegal vtable index!" ); -- -+ VtableSlot aVtableSlot( -+ getVtableSlot( -+ reinterpret_cast< -+ typelib_InterfaceAttributeTypeDescription const * >( -+ pMemberDescr))); - if (pReturn) - { - // dependent dispatch - cpp_call( -- pThis, nVtableCall, -+ pThis, aVtableSlot, - ((typelib_InterfaceAttributeTypeDescription *)pMemberDescr)->pAttributeTypeRef, - 0, 0, // no params - pReturn, pArgs, ppException ); -@@ -381,8 +389,9 @@ - &pReturnTypeRef, typelib_TypeClass_VOID, aVoidName.pData ); - - // dependent dispatch -+ aVtableSlot.index += 1; // get, then set method - cpp_call( -- pThis, nVtableCall +1, // get, then set method -+ pThis, aVtableSlot, - pReturnTypeRef, - 1, &aParam, - pReturn, pArgs, ppException ); -@@ -394,14 +403,12 @@ - } - case typelib_TypeClass_INTERFACE_METHOD: - { -- // determine vtable call index -- sal_Int32 nMemberPos = ((typelib_InterfaceMemberTypeDescription *)pMemberDescr)->nPosition; -- OSL_ENSURE( nMemberPos < pTypeDescr->nAllMembers, "### member pos out of range!" ); -- -- sal_Int32 nVtableCall = pTypeDescr->pMapMemberIndexToFunctionIndex[nMemberPos]; -- OSL_ENSURE( nVtableCall < pTypeDescr->nMapFunctionIndexToMemberIndex, "### illegal vtable index!" ); -- -- switch (nVtableCall) -+ VtableSlot aVtableSlot( -+ getVtableSlot( -+ reinterpret_cast< -+ typelib_InterfaceMethodTypeDescription const * >( -+ pMemberDescr))); -+ switch (aVtableSlot.index) - { - // standard calls - case 1: // acquire uno interface -@@ -419,8 +426,8 @@ - if (pTD) - { - uno_Interface * pInterface = 0; -- (*pThis->pBridge->pUnoEnv->getRegisteredInterface)( -- pThis->pBridge->pUnoEnv, -+ (*pThis->pBridge->getUnoEnv()->getRegisteredInterface)( -+ pThis->pBridge->getUnoEnv(), - (void **)&pInterface, pThis->oid.pData, (typelib_InterfaceTypeDescription *)pTD ); - - if (pInterface) -@@ -439,7 +446,7 @@ - default: - // dependent dispatch - cpp_call( -- pThis, nVtableCall, -+ pThis, aVtableSlot, - ((typelib_InterfaceMethodTypeDescription *)pMemberDescr)->pReturnTypeRef, - ((typelib_InterfaceMethodTypeDescription *)pMemberDescr)->nParams, - ((typelib_InterfaceMethodTypeDescription *)pMemberDescr)->pParams, -@@ -459,6 +466,3 @@ - } - } - } -- --} -- diff --git a/editors/openoffice.org-3/files/patch-project-extentions b/editors/openoffice.org-3/files/patch-project-extentions deleted file mode 100644 index a8b9d7ee9416..000000000000 --- a/editors/openoffice.org-3/files/patch-project-extentions +++ /dev/null @@ -1,65 +0,0 @@ -#iZ and CWS -o http://www.openoffice.org/issues/show_bug.cgi?id=40179 -o http://eis.services.openoffice.org/EIS2/servlet/cws.ShowCWS?Id=2030&Path=SRC680%2Fpj16 -o pj16 - -Description - -o source/config/ldap/makefile.mk needs -lcompat since re_comp is defined here. -o FreeBSD doesn't have -ldl -o INC+= -DNP_LINUX is also requried for FreeBSD - -Index: source/config/ldap/makefile.mk -=================================================================== -RCS file: /cvs/util/extensions/source/config/ldap/makefile.mk,v -retrieving revision 1.4 -diff -u -r1.4 makefile.mk ---- extensions/source/config/ldap/makefile.mk 15 Nov 2004 14:14:22 -0000 1.4 -+++ extensions/source/config/ldap/makefile.mk 8 Jan 2005 02:48:29 -0000 -@@ -116,6 +116,9 @@ - $(CPPULIB) \ - $(SALHELPERLIB) \ - $(SALLIB) -+.IF "$(OS)"=="FREEBSD" -+SHL1STDLIBS+=-lcompat -+.ENDIF - - DEF1NAME=$(SHL1TARGET) - DEF1EXPORTFILE=exports.dxp -Index: source/nsplugin/source/makefile.mk -=================================================================== -RCS file: /cvs/util/extensions/source/nsplugin/source/makefile.mk,v -retrieving revision 1.8 -diff -u -r1.8 makefile.mk ---- extensions/source/nsplugin/source/makefile.mk 3 Jan 2005 09:04:51 -0000 1.8 -+++ extensions/source/nsplugin/source/makefile.mk 8 Jan 2005 02:48:30 -0000 -@@ -78,7 +78,7 @@ - @echo GTK disabled - nothing to build - - .ELSE # "$(ENABLE_GTK)"=="" --.IF "$(OS)"=="LINUX" -+.IF "$(OS)"=="LINUX" || "$(OS)"=="FREEBSD" - INC+= -DNP_LINUX - .ENDIF - PKGCONFIG_MODULES=gtk+-2.0 -@@ -99,8 +99,10 @@ - .IF "$(GUI)"=="UNX" - SHL1OBJS+=$(SLO)$/npunix.obj - SLOFILES+=$(SLO)$/npunix.obj -+.IF "$(OS)"!="FREEBSD" - SHL1STDLIBS+= -ldl -lnsl --.ENDIF -+.ENDIF #FREEBSD -+.ENDIF #UNX - .IF "$(GUI)"=="WNT" - SHL1OBJS+=$(SLO)$/npwin.obj - SLOFILES+=$(SLO)$/npwin.obj -@@ -131,7 +133,7 @@ - - .IF "$(GUI)"=="UNX" - APP1STDLIBS+=$(PKGCONFIG_LIBS:s/-lpangoxft-1.0//) --.IF "$(OS)"=="LINUX" -+.IF "$(OS)"=="LINUX" || "$(OS)"=="FREEBSD" - .ELSE - APP1STDLIBS+= -ldl -lnsl -lnls -lsocket - .ENDIF diff --git a/editors/openoffice.org-3/files/patch-solenv+inc+unxfbsdi.mk b/editors/openoffice.org-3/files/patch-solenv+inc+unxfbsdi.mk deleted file mode 100644 index f3f55df061d4..000000000000 --- a/editors/openoffice.org-3/files/patch-solenv+inc+unxfbsdi.mk +++ /dev/null @@ -1,262 +0,0 @@ -#iZ and CWS -o http://www.openoffice.org/issues/show_bug.cgi?id=40182 - -Description -o catch up recent unxlngi6.mk -o -Wl,-z,defs -> comment out - -Index: solenv/inc/unxfbsdi.mk -=================================================================== -RCS file: /cvs/tools/solenv/inc/unxfbsdi.mk,v -retrieving revision 1.11 -diff -u -r1.11 unxfbsdi.mk ---- solenv/inc/unxfbsdi.mk 20 Sep 2004 08:37:13 -0000 1.11 -+++ solenv/inc/unxfbsdi.mk 10 Jan 2005 07:44:44 -0000 -@@ -60,16 +60,26 @@ - # - #************************************************************************* - --# mak file for unxfbsdi --ASM=$(CC) --AFLAGS=-x assembler-with-cpp -c $(CDEFS) -+# mk file for unxfbsdi -+ASM= -+AFLAGS= -+ -+SOLAR_JAVA*=TRUE -+JAVAFLAGSDEBUG=-g - - # filter for supressing verbose messages from linker - #not needed at the moment - #LINKOUTPUT_FILTER=" |& $(SOLARENV)$/bin$/msg_filter" - -+# _PTHREADS is needed for the stl -+CDEFS+=$(PTHREAD_CFLAGS) -DX86 -D_PTHREADS -D_REENTRANT -DNEW_SOLAR -D_USE_NAMESPACE=1 -DSTLPORT_VERSION=400 -+ -+# enable visibility define in "sal/types.h" -+.IF "$(HAVE_GCC_VISIBILITY_FEATURE)" == "TRUE" -+CDEFS += -DHAVE_GCC_VISIBILITY_FEATURE -+.ENDIF # "$(HAVE_GCC_VISIBILITY_FEATURE)" == "TRUE" -+ - # this is a platform with JAVA support --SOLAR_JAVA*=TRUE - .IF "$(SOLAR_JAVA)"!="" - JAVADEF=-DSOLAR_JAVA - .IF "$(debug)"=="" -@@ -83,90 +93,82 @@ - CXX*=g++ - # name of C Compiler - CC*=gcc -+.IF "$(SYSBASE)"!="" -+CFLAGS_SYSBASE:=-isystem $(SYSBASE)$/usr$/include -+CXX+:=$(CFLAGS_SYSBASE) -+CC+:=$(CFLAGS_SYSBASE) -+.ENDIF # "$(SYSBASE)"!="" -+CFLAGS+=-Wreturn-type -fmessage-length=0 -c $(INCLUDE) -+.IF "$(PRODUCT)"!="" -+CFLAGS+=-Wuninitialized -+.ENDIF - --# filter for supressing verbose messages from linker --# not needed at the moment --LINKOUTPUT_FILTER=" |& $(SOLARENV)$/bin$/msg_filter" -+# flags to enable build with symbols; required for crashdump feature -+.IF "$(ENABLE_SYMBOLS)"=="SMALL" -+CFLAGSENABLESYMBOLS=-g1 -+.ELSE -+CFLAGSENABLESYMBOLS=-g # was temporarily commented out, reenabled before Beta - --# options for C and C++ Compiler --CDEFS+= -D_USE_NAMESPACE=1 -DX86 -DNEW_SOLAR -DSTLPORT_VERSION=450 -DOSVERSION=$(OSVERSION) --CDEFS+= $(PTHREAD_CFLAGS) -D_REENTRANT -- --# flags for C and C++ Compile --CFLAGS+= -w -c $(INCLUDE) --CFLAGS+= -I/usr/X11R6/include -+.ENDIF - - # flags for the C++ Compiler --CFLAGSCC= -pipe -fno-rtti --CFLAGSCXX= -pipe -fno-rtti --CFLAGSCXX+= -Wno-ctor-dtor-privacy -- -+CFLAGSCC= -pipe -mtune=pentiumpro - # Flags for enabling exception handling --CFLAGSEXCEPTIONS= -fexceptions --CFLAGS_NO_EXCEPTIONS= -fno-exceptions -- --# Compiler flags for compiling static object in single threaded --# environment with graphical user interface --CFLAGSOBJGUIST= -fPIC -- --# Compiler flags for compiling static object in single threaded --# environment with character user interface --CFLAGSOBJCUIST= -fPIC -- --# Compiler flags for compiling static object in multi threaded --# environment with graphical user interface --CFLAGSOBJGUIMT= -fPIC -- --# Compiler flags for compiling static object in multi threaded --# environment with character user interface --CFLAGSOBJCUIMT= -fPIC -- --# Compiler flags for compiling shared object in multi threaded --# environment with graphical user interface --CFLAGSSLOGUIMT= -fPIC -- --# Compiler flags for compiling shared object in multi threaded --# environment with character user interface --CFLAGSSLOCUIMT= -fPIC -+CFLAGSEXCEPTIONS=-fexceptions -fno-enforce-eh-specs -+# Flags for disabling exception handling -+CFLAGS_NO_EXCEPTIONS=-fno-exceptions - --# Compiler flags for profilin --CFLAGSPROF= -pg -+# -fpermissive should be removed as soon as possible -+CFLAGSCXX= -pipe -mtune=pentiumpro -+CFLAGSCXX+= -Wno-ctor-dtor-privacy - -+# Compiler flags for compiling static object in single threaded environment with graphical user interface -+CFLAGSOBJGUIST= -+# Compiler flags for compiling static object in single threaded environment with character user interface -+CFLAGSOBJCUIST= -+# Compiler flags for compiling static object in multi threaded environment with graphical user interface -+CFLAGSOBJGUIMT= -+# Compiler flags for compiling static object in multi threaded environment with character user interface -+CFLAGSOBJCUIMT= -+# Compiler flags for compiling shared object in multi threaded environment with graphical user interface -+CFLAGSSLOGUIMT=-fPIC -+# Compiler flags for compiling shared object in multi threaded environment with character user interface -+CFLAGSSLOCUIMT=-fPIC -+# Compiler flags for profiling -+CFLAGSPROF= - # Compiler flags for debugging --CFLAGSDEBUG= -g -+CFLAGSDEBUG=-g - CFLAGSDBGUTIL= -- --# Compiler flags to enable optimizations --# -02 is broken for FreeBSD --CFLAGSOPT= -O -- --# Compiler flags to disable optimizations --# -0 is broken for STLport for FreeBSD --CFLAGSNOOPT= -O0 -- --# Compiler flags for the output path --CFLAGSOUTOBJ= -o -- -+# Compiler flags for enabling optimazations -+.IF "$(PRODUCT)"!="" -+CFLAGSOPT=-Os -fno-strict-aliasing # optimizing for products -+.ELSE # "$(PRODUCT)"!="" -+CFLAGSOPT= # no optimizing for non products -+.ENDIF # "$(PRODUCT)"!="" -+# Compiler flags for disabling optimazations -+CFLAGSNOOPT=-O0 -+# Compiler flags for discibing the output path -+CFLAGSOUTOBJ=-o - # Enable all warnings - CFLAGSWALL=-Wall -- - # Set default warn level --CFLAGSDFLTWARN=-w -+CFLAGSDFLTWARN= - - # switches for dynamic and static linking --STATIC= -Wl,-Bstatic --DYNAMIC= -Wl,-Bdynamic -+STATIC = -Wl,-Bstatic -+DYNAMIC = -Wl,-Bdynamic - - # name of linker --LINK=$(CC) -+LINK*=$(CXX) - - # default linker flags --# LINKFLAGSRUNPATH*=-Wl,-rpath\''$$ORIGIN'\' --LINKFLAGS=$(LINKFLAGSRUNPATH) -+LINKFLAGSDEFS*=#-Wl,-z,defs -+LINKFLAGSRUNPATH*=-Wl,-rpath,\''$$ORIGIN'\' -+LINKFLAGS=-z combreloc $(LINKFLAGSDEFS) $(LINKFLAGSRUNPATH) - - # linker flags for linking applications --LINKFLAGSAPPGUI= -Wl,--noinhibit-exec --LINKFLAGSAPPCUI= -Wl,--noinhibit-exec -+LINKFLAGSAPPGUI= -Wl,-export-dynamic -Wl,--noinhibit-exec -+LINKFLAGSAPPCUI= -Wl,-export-dynamic -Wl,--noinhibit-exec - - # linker flags for linking shared libraries - LINKFLAGSSHLGUI= -shared -@@ -177,23 +179,19 @@ - LINKFLAGSDEBUG=-g - LINKFLAGSOPT= - --.IF "$(NO_BSYMBOLIC)"=="" --.IF "$(PRJNAME)" != "envtest" --LINKFLAGSSHLGUI+= -Wl,-Bsymbolic --LINKFLAGSSHLCUI+= -Wl,-Bsymbolic --.ENDIF --.ENDIF -+# linker flags for optimization (symbol hashtable) -+# for now, applied to symbol scoped libraries, only -+LINKFLAGSOPTIMIZE*=-Wl,-O1 -+LINKVERSIONMAPFLAG=$(LINKFLAGSOPTIMIZE) -Wl,--version-script - --LINKVERSIONMAPFLAG=-Wl,--version-script -+SONAME_SWITCH=-Wl,-h - - # Sequence of libs does matter ! --STDLIBCPP=-lstdc++ - --# _SYSLIBS= -L/usr/lib -lm --# _X11LIBS= -L/usr/X11R6/lib -lXext -lX11 --# _CXXLIBS= -L/usr/lib -lstdc++ -L/usr/local/lib -+STDLIBCPP=-lstdc++ - - # default objectfilenames to link -+STDOBJVCL=$(L)$/salmain.o - STDOBJGUI= - STDSLOGUI= - STDOBJCUI= -@@ -201,24 +199,25 @@ - - # libraries for linking applications - STDLIBCUIST=-lm --STDLIBGUIST=-lXaw -lXt -lX11 -lm --STDLIBGUIMT=-lXaw -lXt -lX11 $(PTHREAD_LIBS) -lm -+STDLIBGUIMT=-lX11 $(PTHREAD_LIBS) -lm - STDLIBCUIMT=$(PTHREAD_LIBS) -lm -- -+STDLIBGUIST=-lX11 -lm - # libraries for linking shared libraries --STDSHLGUIMT=-lXaw -lXt -lX11 -lXext $(PTHREAD_LIBS) -lm -+STDSHLGUIMT=-lX11 -lXext $(PTHREAD_LIBS) -lm - STDSHLCUIMT=$(PTHREAD_LIBS) -lm -+STDSHLGUIST=-lX11 -lXext -lm -+STDSHLCUIST=-lm - - LIBSALCPPRT*=-Wl,--whole-archive -lsalcpprt -Wl,--no-whole-archive - --# STLport always needs pthread. --LIBSTLPORT=$(DYNAMIC) -lstlport_gcc $(STDLIBCPP) $(PTHREAD_LIBS) --LIBSTLPORTST=$(STATIC) -lstlport_gcc $(DYNAMIC) $(PTHREAD_LIBS) -+LIBSTLPORT=$(DYNAMIC) -lstlport_gcc -+LIBSTLPORTST=$(STATIC) -lstlport_gcc $(DYNAMIC) -+ -+#FILLUPARC=$(STATIC) -lsupc++ $(DYNAMIC) - - # name of library manager - LIBMGR=ar - LIBFLAGS=-r --LIBEXT= .a - - # tool for generating import libraries - IMPLIB= -@@ -237,3 +236,4 @@ - DLLPOSTFIX=fi - DLLPRE=lib - DLLPOST=.so -+ diff --git a/editors/openoffice.org-3/files/patch-transex3+source+xmlparse.cxx b/editors/openoffice.org-3/files/patch-transex3+source+xmlparse.cxx deleted file mode 100644 index de1864d5e9cb..000000000000 --- a/editors/openoffice.org-3/files/patch-transex3+source+xmlparse.cxx +++ /dev/null @@ -1,24 +0,0 @@ -#iZ and CWS -o http://www.openoffice.org/issues/show_bug.cgi?id=40184 -o http://eis.services.openoffice.org/EIS2/servlet/cws.ShowCWS?Id=2030&Path=SRC680%2Fpj16 -o pj16 - -Description -FreeBSD doesn't have alloca.h - -Index: source/xmlparse.cxx -=================================================================== -RCS file: /cvs/l10n/transex3/source/xmlparse.cxx,v -retrieving revision 1.5 -diff -u -r1.5 xmlparse.cxx ---- transex3/source/xmlparse.cxx 18 Nov 2004 08:17:50 -0000 1.5 -+++ transex3/source/xmlparse.cxx 8 Jan 2005 02:56:14 -0000 -@@ -67,7 +67,7 @@ - #ifdef WIN32 - #include <malloc.h> - #else --#ifndef MACOSX -+#if !(defined(MACOSX) || defined(FREEBSD)) - #include <alloca.h> - #endif - #endif diff --git a/editors/openoffice.org-vcltesttool/Makefile b/editors/openoffice.org-vcltesttool/Makefile index c563bd2c2beb..e6be311f3b31 100644 --- a/editors/openoffice.org-vcltesttool/Makefile +++ b/editors/openoffice.org-vcltesttool/Makefile @@ -19,7 +19,7 @@ EXTRACT_ONLY= OOo_${RELEASE_NR}m${MILESTONE}_source.tar.bz2 MAINTAINER= openoffice@FreeBSD.org COMMENT?= Integrated wordprocessor/dbase/spreadheet/drawing/chart/browser(developer version) -SNAPDATE= 20050119 +SNAPDATE= 20050123 NO_LATEST_LINK= yes USE_GNOME= gtk20 MOZILLA_PROJECT= cws_srx645_mozooo.20041016.tar.gz @@ -49,7 +49,7 @@ BROKEN= "rtld depends on _end symbol. type make -DBROKEN to see how to upgrade CODELINE= 680 RELEASE_NR= 1.9 -MILESTONE= 72 +MILESTONE= 73 INSTALLATION_BASEDIR= openoffice.org${RELEASE_NR}m${MILESTONE} EXECBASE= openoffice.org-${RELEASE_NR}m${MILESTONE} DIST_SUBDIR= openoffice.org2.0 diff --git a/editors/openoffice.org-vcltesttool/distinfo b/editors/openoffice.org-vcltesttool/distinfo index 8b7774bf8f23..c9e7f5358b88 100644 --- a/editors/openoffice.org-vcltesttool/distinfo +++ b/editors/openoffice.org-vcltesttool/distinfo @@ -1,5 +1,5 @@ -MD5 (openoffice.org2.0/OOo_1.9m72_source.tar.bz2) = c51fa9d749f1e5eb3733d50b91f97fe8 -SIZE (openoffice.org2.0/OOo_1.9m72_source.tar.bz2) = 233690890 +MD5 (openoffice.org2.0/OOo_1.9m73_source.tar.bz2) = 0885bb45bd204b03b16f8276cbd922e0 +SIZE (openoffice.org2.0/OOo_1.9m73_source.tar.bz2) = 233756500 MD5 (openoffice.org2.0/gpc231.tar.Z) = fdb06fdb5a4670b172f9fb738b717be9 SIZE (openoffice.org2.0/gpc231.tar.Z) = 27917 MD5 (openoffice.org2.0/cws_srx645_mozooo.20041016.tar.gz) = eda0ab73b24c45890ae08bdfe04049bd diff --git a/editors/openoffice.org-vcltesttool/files/Makefile.knobs b/editors/openoffice.org-vcltesttool/files/Makefile.knobs index 5b9c07e3afce..0afc3acadf7e 100644 --- a/editors/openoffice.org-vcltesttool/files/Makefile.knobs +++ b/editors/openoffice.org-vcltesttool/files/Makefile.knobs @@ -19,7 +19,7 @@ CONFIGURE_ARGS+= --enable-cups .if defined(ALL_LOCALIZED_LANGS) CONFIGURE_ARGS+= --with-lang="en-US ar ca cs da de el es et fi fr he hi-IN hu it ja ko pl pt pt-BR ru sk sl sv th tr zh-CN zh-TW" -#following langs still seem to be under development +#following langs still seem to be under development #af bg cy eo eu gl kn-IN lt nb nl nn ns tn zu #CONFIGURE_ARGS+= --with-lang=ALL .else diff --git a/editors/openoffice.org-vcltesttool/files/patch-config_office+set_soenv.in b/editors/openoffice.org-vcltesttool/files/patch-config_office+set_soenv.in deleted file mode 100644 index 9b2a97774dc1..000000000000 --- a/editors/openoffice.org-vcltesttool/files/patch-config_office+set_soenv.in +++ /dev/null @@ -1,25 +0,0 @@ -#iZ and CWS -o http://www.openoffice.org/issues/show_bug.cgi?id=37731 -o http://eis.services.openoffice.org/EIS2/servlet/cws.ShowCWS?Id=2030&Path=SRC680%2Fpj16 -o pj16 - -Description -Do not export LINK to environment - -Index: config_office/set_soenv.in -=================================================================== -RCS file: /cvs/tools/config_office/set_soenv.in,v -retrieving revision 1.31 -diff -u -r1.31 set_soenv.in ---- config_office/set_soenv.in 5 Jan 2005 12:10:00 -0000 1.31 -+++ config_office/set_soenv.in 9 Jan 2005 18:51:24 -0000 -@@ -1684,9 +1684,6 @@ - ToFile( "CC", $CC, "e" ); - ToFile( "CXX", $CXX, "e" ); - ToFile( "USE_SYSTEM_STL", "@USE_SYSTEM_STL@", "e" ); --if ( $COM ne "MSC" ) { -- ToFile( "LINK", $CC, "e" ); --} - ToFile( "ENABLE_SYMBOLS", "@ENABLE_SYMBOLS@", "e" ); - ToFile( "ENABLE_CRASHDUMP", "@ENABLE_CRASHDUMP@", "e" ); - ToFile( "ENABLE_CUPS", "@ENABLE_CUPS@", "e" ); diff --git a/editors/openoffice.org-vcltesttool/files/patch-project-bridges b/editors/openoffice.org-vcltesttool/files/patch-project-bridges deleted file mode 100644 index 890cab171898..000000000000 --- a/editors/openoffice.org-vcltesttool/files/patch-project-bridges +++ /dev/null @@ -1,1004 +0,0 @@ -#iZ and CWS -o http://www.openoffice.org/issues/show_bug.cgi?id=40178 - -Description -catch up recent version of -bridges/source/cpp_uno/gcc3_linux_intel/cpp2uno.cxx -Only difference is: -- rtti = (type_info *)dlsym( m_hApp, symName.getStr() ); -+ rtti = (type_info *)dlsym( RTLD_DEFAULT, symName.getStr() ); -#iZ 22253 for reason why we changed m_hApp to RTLD_DEFAULT - -Index: bridges/source/cpp_uno/gcc3_freebsd_intel/cpp2uno.cxx -=================================================================== -RCS file: /cvs/udk/bridges/source/cpp_uno/gcc3_freebsd_intel/cpp2uno.cxx,v -retrieving revision 1.3 -diff -u -r1.3 cpp2uno.cxx ---- bridges/source/cpp_uno/gcc3_freebsd_intel/cpp2uno.cxx 28 Apr 2003 16:28:20 -0000 1.3 -+++ bridges/source/cpp_uno/gcc3_freebsd_intel/cpp2uno.cxx 27 Dec 2004 06:05:52 -0000 -@@ -2,9 +2,9 @@ - * - * $RCSfile: cpp2uno.cxx,v $ - * -- * $Revision: 1.3 $ -+ * $Revision: 1.6 $ - * -- * last change: $Author: hr $ $Date: 2003/04/28 16:28:20 $ -+ * last change: $Author: obo $ $Date: 2004/06/04 02:59:45 $ - * - * The Contents of this file are made available subject to the terms of - * either of the following licenses -@@ -59,34 +59,26 @@ - * - ************************************************************************/ - --#include <hash_map> -- --#include <sal/alloca.h> --#include <rtl/alloc.h> --#include <osl/mutex.hxx> -- -+#include <com/sun/star/uno/genfunc.hxx> -+#include "com/sun/star/uno/RuntimeException.hpp" - #include <uno/data.h> - #include <typelib/typedescription.hxx> - --#include <bridges/cpp_uno/bridge.hxx> --#include <bridges/cpp_uno/type_misc.hxx> -+#include "bridges/cpp_uno/shared/bridge.hxx" -+#include "bridges/cpp_uno/shared/cppinterfaceproxy.hxx" -+#include "bridges/cpp_uno/shared/types.hxx" -+#include "bridges/cpp_uno/shared/vtablefactory.hxx" - - #include "share.hxx" - -- --using namespace ::osl; --using namespace ::rtl; - using namespace ::com::sun::star::uno; - --namespace CPPU_CURRENT_NAMESPACE -+namespace - { - - //================================================================================================== --rtl_StandardModuleCount g_moduleCount = MODULE_COUNT_INIT; -- --//================================================================================================== - static typelib_TypeClass cpp2uno_call( -- cppu_cppInterfaceProxy * pThis, -+ bridges::cpp_uno::shared::CppInterfaceProxy * pThis, - const typelib_TypeDescription * pMemberTypeDescr, - typelib_TypeDescriptionReference * pReturnTypeRef, // 0 indicates void return - sal_Int32 nParams, typelib_MethodParameter * pParams, -@@ -106,7 +98,7 @@ - - if (pReturnTypeDescr) - { -- if (cppu_isSimpleType( pReturnTypeDescr )) -+ if (bridges::cpp_uno::shared::isSimpleType( pReturnTypeDescr )) - { - pUnoReturn = pRegisterReturn; // direct way for simple types - } -@@ -115,7 +107,8 @@ - pCppReturn = *(void **)pCppStack; - pCppStack += sizeof(void *); - -- pUnoReturn = (cppu_relatesToInterface( pReturnTypeDescr ) -+ pUnoReturn = (bridges::cpp_uno::shared::relatesToInterfaceType( -+ pReturnTypeDescr ) - ? alloca( pReturnTypeDescr->nSize ) - : pCppReturn); // direct way - } -@@ -141,7 +134,9 @@ - typelib_TypeDescription * pParamTypeDescr = 0; - TYPELIB_DANGER_GET( &pParamTypeDescr, rParam.pTypeRef ); - -- if (!rParam.bOut && cppu_isSimpleType( pParamTypeDescr )) // value -+ if (!rParam.bOut -+ && bridges::cpp_uno::shared::isSimpleType( pParamTypeDescr )) -+ // value - { - pCppArgs[nPos] = pCppStack; - pUnoArgs[nPos] = pCppStack; -@@ -168,11 +163,12 @@ - ppTempParamTypeDescr[nTempIndizes++] = pParamTypeDescr; - } - // is in/inout -- else if (cppu_relatesToInterface( pParamTypeDescr )) -+ else if (bridges::cpp_uno::shared::relatesToInterfaceType( -+ pParamTypeDescr )) - { - uno_copyAndConvertData( pUnoArgs[nPos] = alloca( pParamTypeDescr->nSize ), - *(void **)pCppStack, pParamTypeDescr, -- &pThis->pBridge->aCpp2Uno ); -+ pThis->getBridge()->getCpp2Uno() ); - pTempIndizes[nTempIndizes] = nPos; // has to be reconverted - // will be released at reconversion - ppTempParamTypeDescr[nTempIndizes++] = pParamTypeDescr; -@@ -192,7 +188,8 @@ - uno_Any * pUnoExc = &aUnoExc; - - // invoke uno dispatch call -- (*pThis->pUnoI->pDispatcher)( pThis->pUnoI, pMemberTypeDescr, pUnoReturn, pUnoArgs, &pUnoExc ); -+ (*pThis->getUnoI()->pDispatcher)( -+ pThis->getUnoI(), pMemberTypeDescr, pUnoReturn, pUnoArgs, &pUnoExc ); - - // in case an exception occured... - if (pUnoExc) -@@ -209,7 +206,9 @@ - if (pReturnTypeDescr) - TYPELIB_DANGER_RELEASE( pReturnTypeDescr ); - -- raiseException( &aUnoExc, &pThis->pBridge->aUno2Cpp ); // has to destruct the any -+ CPPU_CURRENT_NAMESPACE::raiseException( -+ &aUnoExc, pThis->getBridge()->getUno2Cpp() ); -+ // has to destruct the any - // is here for dummy - return typelib_TypeClass_VOID; - } -@@ -226,7 +225,7 @@ - // convert and assign - uno_destructData( pCppArgs[nIndex], pParamTypeDescr, cpp_release ); - uno_copyAndConvertData( pCppArgs[nIndex], pUnoArgs[nIndex], pParamTypeDescr, -- &pThis->pBridge->aUno2Cpp ); -+ pThis->getBridge()->getUno2Cpp() ); - } - // destroy temp uno param - uno_destructData( pUnoArgs[nIndex], pParamTypeDescr, 0 ); -@@ -239,7 +238,7 @@ - if (pUnoReturn != pCppReturn) // needs reconversion - { - uno_copyAndConvertData( pCppReturn, pUnoReturn, pReturnTypeDescr, -- &pThis->pBridge->aUno2Cpp ); -+ pThis->getBridge()->getUno2Cpp() ); - // destroy temp uno return - uno_destructData( pUnoReturn, pReturnTypeDescr, 0 ); - } -@@ -260,38 +259,41 @@ - - //================================================================================================== - static typelib_TypeClass cpp_mediate( -- sal_Int32 nVtableCall, -+ sal_Int32 nFunctionIndex, -+ sal_Int32 nVtableOffset, - void ** pCallStack, - sal_Int64 * pRegisterReturn /* space for register return */ ) - { - OSL_ENSURE( sizeof(sal_Int32)==sizeof(void *), "### unexpected!" ); - - // pCallStack: ret adr, [ret *], this, params -- // _this_ ptr is patched cppu_XInterfaceProxy object -- cppu_cppInterfaceProxy * pCppI = NULL; -- if( nVtableCall & 0x80000000 ) -+ void * pThis; -+ if( nFunctionIndex & 0x80000000 ) - { -- nVtableCall &= 0x7fffffff; -- pCppI = (cppu_cppInterfaceProxy *)(XInterface *)*(pCallStack +2); -+ nFunctionIndex &= 0x7fffffff; -+ pThis = pCallStack[2]; - } - else - { -- pCppI = (cppu_cppInterfaceProxy *)(XInterface *)*(pCallStack +1); -+ pThis = pCallStack[1]; - } -+ pThis = static_cast< char * >(pThis) - nVtableOffset; -+ bridges::cpp_uno::shared::CppInterfaceProxy * pCppI -+ = bridges::cpp_uno::shared::CppInterfaceProxy::castInterfaceToProxy( -+ pThis); - -- typelib_InterfaceTypeDescription * pTypeDescr = pCppI->pTypeDescr; -+ typelib_InterfaceTypeDescription * pTypeDescr = pCppI->getTypeDescr(); - -- OSL_ENSURE( nVtableCall < pTypeDescr->nMapFunctionIndexToMemberIndex, "### illegal vtable index!" ); -- if (nVtableCall >= pTypeDescr->nMapFunctionIndexToMemberIndex) -+ OSL_ENSURE( nFunctionIndex < pTypeDescr->nMapFunctionIndexToMemberIndex, "### illegal vtable index!" ); -+ if (nFunctionIndex >= pTypeDescr->nMapFunctionIndexToMemberIndex) - { - throw RuntimeException( -- OUString::createFromAscii("illegal vtable index!"), -- (XInterface *)pCppI ); -+ rtl::OUString::createFromAscii("illegal vtable index!"), -+ (XInterface *)pThis ); - } - - // determine called method -- OSL_ENSURE( nVtableCall < pTypeDescr->nMapFunctionIndexToMemberIndex, "### illegal vtable index!" ); -- sal_Int32 nMemberPos = pTypeDescr->pMapFunctionIndexToMemberIndex[nVtableCall]; -+ sal_Int32 nMemberPos = pTypeDescr->pMapFunctionIndexToMemberIndex[nFunctionIndex]; - OSL_ENSURE( nMemberPos < pTypeDescr->nAllMembers, "### illegal member index!" ); - - TypeDescription aMemberDescr( pTypeDescr->ppAllMembers[nMemberPos] ); -@@ -301,7 +303,7 @@ - { - case typelib_TypeClass_INTERFACE_ATTRIBUTE: - { -- if (pTypeDescr->pMapMemberIndexToFunctionIndex[nMemberPos] == nVtableCall) -+ if (pTypeDescr->pMapMemberIndexToFunctionIndex[nMemberPos] == nFunctionIndex) - { - // is GET method - eRet = cpp2uno_call( -@@ -330,7 +332,7 @@ - case typelib_TypeClass_INTERFACE_METHOD: - { - // is METHOD -- switch (nVtableCall) -+ switch (nFunctionIndex) - { - case 1: // acquire() - pCppI->acquireProxy(); // non virtual call! -@@ -347,9 +349,10 @@ - if (pTD) - { - XInterface * pInterface = 0; -- (*pCppI->pBridge->pCppEnv->getRegisteredInterface)( -- pCppI->pBridge->pCppEnv, -- (void **)&pInterface, pCppI->oid.pData, (typelib_InterfaceTypeDescription *)pTD ); -+ (*pCppI->getBridge()->getCppEnv()->getRegisteredInterface)( -+ pCppI->getBridge()->getCppEnv(), -+ (void **)&pInterface, pCppI->getOid().pData, -+ (typelib_InterfaceTypeDescription *)pTD ); - - if (pInterface) - { -@@ -378,8 +381,8 @@ - default: - { - throw RuntimeException( -- OUString::createFromAscii("no member description found!"), -- (XInterface *)pCppI ); -+ rtl::OUString::createFromAscii("no member description found!"), -+ (XInterface *)pThis ); - // is here for dummy - eRet = typelib_TypeClass_VOID; - } -@@ -393,12 +396,15 @@ - * is called on incoming vtable calls - * (called by asm snippets) - */ --static void cpp_vtable_call( int nTableEntry, void** pCallStack ) __attribute__((regparm(2))); -+static void cpp_vtable_call( -+ int nFunctionIndex, int nVtableOffset, void** pCallStack ) -+ __attribute__((regparm(3))); - --void cpp_vtable_call( int nTableEntry, void** pCallStack ) -+void cpp_vtable_call( int nFunctionIndex, int nVtableOffset, void** pCallStack ) - { - volatile long nRegReturn[2]; -- typelib_TypeClass aType = cpp_mediate( nTableEntry, pCallStack, (sal_Int64*)nRegReturn ); -+ typelib_TypeClass aType = cpp_mediate( -+ nFunctionIndex, nVtableOffset, pCallStack, (sal_Int64*)nRegReturn ); - - switch( aType ) - { -@@ -434,161 +440,103 @@ - - - //================================================================================================== --class MediateClassData --{ -- typedef ::std::hash_map< OUString, void *, OUStringHash > t_classdata_map; -- t_classdata_map m_map; -- Mutex m_mutex; -- --public: -- void const * get_vtable( typelib_InterfaceTypeDescription * pTD ) SAL_THROW( () ); -- -- inline MediateClassData() SAL_THROW( () ) -- {} -- ~MediateClassData() SAL_THROW( () ); --}; --//__________________________________________________________________________________________________ --MediateClassData::~MediateClassData() SAL_THROW( () ) -+int const codeSnippetSize = 20; -+ -+unsigned char * codeSnippet( -+ unsigned char * code, sal_Int32 functionIndex, sal_Int32 vtableOffset, -+ bool simpleRetType) - { -- OSL_TRACE( "> calling ~MediateClassData(): freeing mediate vtables." ); -- -- for ( t_classdata_map::const_iterator iPos( m_map.begin() ); iPos != m_map.end(); ++iPos ) -- { -- ::rtl_freeMemory( iPos->second ); -- } -+ if (!simpleRetType) { -+ functionIndex |= 0x80000000; -+ } -+ unsigned char * p = code; -+ OSL_ASSERT(sizeof (sal_Int32) == 4); -+ // mov function_index, %eax: -+ *p++ = 0xB8; -+ *reinterpret_cast< sal_Int32 * >(p) = functionIndex; -+ p += sizeof (sal_Int32); -+ // mov vtable_offset, %edx: -+ *p++ = 0xBA; -+ *reinterpret_cast< sal_Int32 * >(p) = vtableOffset; -+ p += sizeof (sal_Int32); -+ // mov %esp, %ecx: -+ *p++ = 0x89; -+ *p++ = 0xE1; -+ // jmp cpp_vtable_call: -+ *p++ = 0xE9; -+ *reinterpret_cast< sal_Int32 * >(p) -+ = ((unsigned char *) cpp_vtable_call) - p - sizeof (sal_Int32); -+ p += sizeof (sal_Int32); -+ OSL_ASSERT(p - code <= codeSnippetSize); -+ return code + codeSnippetSize; - } --//-------------------------------------------------------------------------------------------------- --static inline void codeSnippet( char * code, sal_uInt32 vtable_pos, bool simple_ret_type ) SAL_THROW( () ) --{ -- if (! simple_ret_type) -- vtable_pos |= 0x80000000; -- OSL_ASSERT( sizeof (long) == 4 ); -- // mov $nPos, %eax -- *code++ = 0xb8; -- *(long *)code = vtable_pos; -- code += sizeof (long); -- // mov %esp, %edx -- *code++ = 0x89; -- *code++ = 0xe2; -- // jmp cpp_vtable_call -- *code++ = 0xe9; -- *(long *)code = ((char *)cpp_vtable_call) - code - sizeof (long); -+ - } --//__________________________________________________________________________________________________ --void const * MediateClassData::get_vtable( typelib_InterfaceTypeDescription * pTD ) SAL_THROW( () ) --{ -- void * buffer; -- -- // avoiding locked counts -- OUString const & unoName = *(OUString const *)&((typelib_TypeDescription *)pTD)->pTypeName; -- { -- MutexGuard aGuard( m_mutex ); -- t_classdata_map::const_iterator iFind( m_map.find( unoName ) ); -- if (iFind == m_map.end()) -- { -- // create new vtable -- sal_Int32 nSlots = pTD->nMapFunctionIndexToMemberIndex; -- buffer = ::rtl_allocateMemory( ((2+ nSlots) * sizeof (void *)) + (nSlots *20) ); -- -- ::std::pair< t_classdata_map::iterator, bool > insertion( -- m_map.insert( t_classdata_map::value_type( unoName, buffer ) ) ); -- OSL_ENSURE( insertion.second, "### inserting new vtable buffer failed?!" ); -- -- void ** slots = (void **)buffer; -- *slots++ = 0; -- *slots++ = 0; // rtti -- char * code = (char *)(slots + nSlots); -- -- sal_uInt32 vtable_pos = 0; -- sal_Int32 nAllMembers = pTD->nAllMembers; -- typelib_TypeDescriptionReference ** ppAllMembers = pTD->ppAllMembers; -- for ( sal_Int32 nPos = 0; nPos < nAllMembers; ++nPos ) -- { -- typelib_TypeDescription * pTD = 0; -- TYPELIB_DANGER_GET( &pTD, ppAllMembers[ nPos ] ); -- OSL_ASSERT( pTD ); -- if (typelib_TypeClass_INTERFACE_ATTRIBUTE == pTD->eTypeClass) -- { -- bool simple_ret = cppu_isSimpleType( -- ((typelib_InterfaceAttributeTypeDescription *)pTD)->pAttributeTypeRef->eTypeClass ); -- // get method -- *slots++ = code; -- codeSnippet( code, vtable_pos++, simple_ret ); -- code += 20; -- if (! ((typelib_InterfaceAttributeTypeDescription *)pTD)->bReadOnly) -- { -- // set method -- *slots++ = code; -- codeSnippet( code, vtable_pos++, true ); -- code += 20; -- } -- } -- else -+ -+void ** bridges::cpp_uno::shared::VtableFactory::mapBlockToVtable(char * block) -+{ -+ return reinterpret_cast< void ** >(block) + 2; -+} -+ -+char * bridges::cpp_uno::shared::VtableFactory::createBlock( -+ sal_Int32 slotCount, void *** slots) -+{ -+ char * block = new char[ -+ (slotCount + 2) * sizeof (void *) + slotCount * codeSnippetSize]; -+ *slots = mapBlockToVtable(block); -+ (*slots)[-2] = 0; -+ (*slots)[-1] = 0; -+ return block; -+} -+ -+unsigned char * bridges::cpp_uno::shared::VtableFactory::addLocalFunctions( -+ void ** slots, unsigned char * code, -+ typelib_InterfaceTypeDescription const * type, sal_Int32 functionOffset, -+ sal_Int32 functionCount, sal_Int32 vtableOffset) -+{ -+ for (sal_Int32 i = 0; i < type->nMembers; ++i) { -+ typelib_TypeDescription * member = 0; -+ TYPELIB_DANGER_GET(&member, type->ppMembers[i]); -+ OSL_ASSERT(member != 0); -+ switch (member->eTypeClass) { -+ case typelib_TypeClass_INTERFACE_ATTRIBUTE: -+ // Getter: -+ *slots++ = code; -+ code = codeSnippet( -+ code, functionOffset++, vtableOffset, -+ bridges::cpp_uno::shared::isSimpleType( -+ reinterpret_cast< -+ typelib_InterfaceAttributeTypeDescription * >( -+ member)->pAttributeTypeRef)); -+ // Setter: -+ if (!reinterpret_cast< -+ typelib_InterfaceAttributeTypeDescription * >( -+ member)->bReadOnly) - { -- bool simple_ret = cppu_isSimpleType( -- ((typelib_InterfaceMethodTypeDescription *)pTD)->pReturnTypeRef->eTypeClass ); - *slots++ = code; -- codeSnippet( code, vtable_pos++, simple_ret ); -- code += 20; -+ code = codeSnippet(code, functionOffset++, vtableOffset, true); - } -- TYPELIB_DANGER_RELEASE( pTD ); -+ break; -+ -+ case typelib_TypeClass_INTERFACE_METHOD: -+ *slots++ = code; -+ code = codeSnippet( -+ code, functionOffset++, vtableOffset, -+ bridges::cpp_uno::shared::isSimpleType( -+ reinterpret_cast< -+ typelib_InterfaceMethodTypeDescription * >( -+ member)->pReturnTypeRef)); -+ break; -+ -+ default: -+ OSL_ASSERT(false); -+ break; - } -- OSL_ASSERT( vtable_pos == nSlots ); -- } -- else -- { -- buffer = iFind->second; -- } -+ TYPELIB_DANGER_RELEASE(member); - } -- -- return ((void **)buffer +2); --} -- --//================================================================================================== --void SAL_CALL cppu_cppInterfaceProxy_patchVtable( -- XInterface * pCppI, typelib_InterfaceTypeDescription * pTypeDescr ) throw () --{ -- static MediateClassData * s_pMediateClassData = 0; -- if (! s_pMediateClassData) -- { -- MutexGuard aGuard( Mutex::getGlobalMutex() ); -- if (! s_pMediateClassData) -- { --#ifdef LEAK_STATIC_DATA -- s_pMediateClassData = new MediateClassData(); --#else -- static MediateClassData s_aMediateClassData; -- s_pMediateClassData = &s_aMediateClassData; --#endif -- } -- } -- *(void const **)pCppI = s_pMediateClassData->get_vtable( pTypeDescr ); --} -- -+ return code; - } - --extern "C" --{ --//################################################################################################## --sal_Bool SAL_CALL component_canUnload( TimeValue * pTime ) -- SAL_THROW_EXTERN_C() --{ -- return CPPU_CURRENT_NAMESPACE::g_moduleCount.canUnload( -- &CPPU_CURRENT_NAMESPACE::g_moduleCount, pTime ); --} --//################################################################################################## --void SAL_CALL uno_initEnvironment( uno_Environment * pCppEnv ) -- SAL_THROW_EXTERN_C() --{ -- CPPU_CURRENT_NAMESPACE::cppu_cppenv_initEnvironment( -- pCppEnv ); --} --//################################################################################################## --void SAL_CALL uno_ext_getMapping( -- uno_Mapping ** ppMapping, uno_Environment * pFrom, uno_Environment * pTo ) -- SAL_THROW_EXTERN_C() --{ -- CPPU_CURRENT_NAMESPACE::cppu_ext_getMapping( -- ppMapping, pFrom, pTo ); --} --} -+void bridges::cpp_uno::shared::VtableFactory::flushCode( -+ unsigned char const *, unsigned char const *) -+{} -Index: bridges/source/cpp_uno/gcc3_freebsd_intel/except.cxx -=================================================================== -RCS file: /cvs/udk/bridges/source/cpp_uno/gcc3_freebsd_intel/except.cxx,v -retrieving revision 1.4 -diff -u -r1.4 except.cxx ---- bridges/source/cpp_uno/gcc3_freebsd_intel/except.cxx 28 Apr 2003 16:41:25 -0000 1.4 -+++ bridges/source/cpp_uno/gcc3_freebsd_intel/except.cxx 27 Dec 2004 06:05:52 -0000 -@@ -2,9 +2,9 @@ - * - * $RCSfile: except.cxx,v $ - * -- * $Revision: 1.4 $ -+ * $Revision: 1.10 $ - * -- * last change: $Author: hr $ $Date: 2003/04/28 16:41:25 $ -+ * last change: $Author: obo $ $Date: 2004/06/04 02:59:59 $ - * - * The Contents of this file are made available subject to the terms of - * either of the following licenses -@@ -69,7 +69,8 @@ - #include <osl/diagnose.h> - #include <osl/mutex.hxx> - --#include <bridges/cpp_uno/bridge.hxx> -+#include <com/sun/star/uno/genfunc.hxx> -+#include "com/sun/star/uno/RuntimeException.hpp" - #include <typelib/typedescription.hxx> - #include <uno/any2.h> - -@@ -147,7 +148,7 @@ - }; - //__________________________________________________________________________________________________ - RTTI::RTTI() SAL_THROW( () ) -- : m_hApp( dlopen( 0, RTLD_LAZY ) ) -+ : m_hApp( dlopen( 0, RTLD_NOW | RTLD_GLOBAL ) ) - { - } - //__________________________________________________________________________________________________ -@@ -182,7 +183,8 @@ - buf.append( 'E' ); - - OString symName( buf.makeStringAndClear() ); -- rtti = (type_info *)dlsym( m_hApp, symName.getStr() ); -+//#iZ 22253 -+ rtti = (type_info *)dlsym( RTLD_DEFAULT, symName.getStr() ); - - if (rtti) - { -@@ -253,7 +255,7 @@ - //================================================================================================== - void raiseException( uno_Any * pUnoExc, uno_Mapping * pUno2Cpp ) - { --#if defined DEBUG -+#if OSL_DEBUG_LEVEL > 1 - OString cstr( - OUStringToOString( - *reinterpret_cast< OUString const * >( &pUnoExc->pType->pTypeName ), -@@ -275,7 +277,7 @@ - *reinterpret_cast< OUString const * >( &pUnoExc->pType->pTypeName ), - Reference< XInterface >() ); - } -- -+ - pCppExc = __cxa_allocate_exception( pTypeDescr->nSize ); - ::uno_copyAndConvertData( pCppExc, pUnoExc->pData, pTypeDescr, pUno2Cpp ); - -@@ -321,16 +323,16 @@ - Reference< XInterface >() ); - Type const & rType = ::getCppuType( &aRE ); - uno_type_any_constructAndConvert( pUnoExc, &aRE, rType.getTypeLibType(), pCpp2Uno ); --#if defined _DEBUG -+#if OSL_DEBUG_LEVEL > 0 - OString cstr( OUStringToOString( aRE.Message, RTL_TEXTENCODING_ASCII_US ) ); - OSL_ENSURE( 0, cstr.getStr() ); - #endif - return; - } -- -+ - typelib_TypeDescription * pExcTypeDescr = 0; - OUString unoName( toUNOname( header->exceptionType->name() ) ); --#if defined DEBUG -+#if OSL_DEBUG_LEVEL > 1 - OString cstr_unoName( OUStringToOString( unoName, RTL_TEXTENCODING_ASCII_US ) ); - fprintf( stderr, "> c++ exception occured: %s\n", cstr_unoName.getStr() ); - #endif -@@ -342,7 +344,7 @@ - Reference< XInterface >() ); - Type const & rType = ::getCppuType( &aRE ); - uno_type_any_constructAndConvert( pUnoExc, &aRE, rType.getTypeLibType(), pCpp2Uno ); --#if defined _DEBUG -+#if OSL_DEBUG_LEVEL > 0 - OString cstr( OUStringToOString( aRE.Message, RTL_TEXTENCODING_ASCII_US ) ); - OSL_ENSURE( 0, cstr.getStr() ); - #endif -Index: bridges/source/cpp_uno/gcc3_freebsd_intel/makefile.mk -=================================================================== -RCS file: /cvs/udk/bridges/source/cpp_uno/gcc3_freebsd_intel/makefile.mk,v -retrieving revision 1.2 -diff -u -r1.2 makefile.mk ---- bridges/source/cpp_uno/gcc3_freebsd_intel/makefile.mk 18 Mar 2003 19:06:52 -0000 1.2 -+++ bridges/source/cpp_uno/gcc3_freebsd_intel/makefile.mk 27 Dec 2004 06:05:52 -0000 -@@ -2,9 +2,9 @@ - # - # $RCSfile: makefile.mk,v $ - # --# $Revision: 1.2 $ -+# $Revision: 1.3 $ - # --# last change: $Author: hr $ $Date: 2003/03/18 19:06:52 $ -+# last change: $Author: hr $ $Date: 2004/02/03 12:37:41 $ - # - # The Contents of this file are made available subject to the terms of - # either of the following licenses -@@ -95,10 +95,8 @@ - SHL1IMPLIB=i$(TARGET) - SHL1VERSIONMAP=..$/..$/bridge_exports.map - --SHL1OBJS= \ -- $(SLO)$/except.obj \ -- $(SLO)$/cpp2uno.obj \ -- $(SLO)$/uno2cpp.obj -+SHL1OBJS = $(SLOFILES) -+SHL1LIBS = $(SLB)$/cpp_uno_shared.lib - - SHL1STDLIBS= \ - $(CPPULIB) \ -Index: bridges/source/cpp_uno/gcc3_freebsd_intel/share.hxx -=================================================================== -RCS file: /cvs/udk/bridges/source/cpp_uno/gcc3_freebsd_intel/share.hxx,v -retrieving revision 1.2 -diff -u -r1.2 share.hxx ---- bridges/source/cpp_uno/gcc3_freebsd_intel/share.hxx 18 Mar 2003 19:06:53 -0000 1.2 -+++ bridges/source/cpp_uno/gcc3_freebsd_intel/share.hxx 27 Dec 2004 06:05:52 -0000 -@@ -4,7 +4,7 @@ - * - * $Revision: 1.2 $ - * -- * last change: $Author: hr $ $Date: 2003/03/18 19:06:53 $ -+ * last change: $Author: hr $ $Date: 2004/02/03 12:38:19 $ - * - * The Contents of this file are made available subject to the terms of - * either of the following licenses -@@ -59,6 +59,8 @@ - * - ************************************************************************/ - -+#include "uno/mapping.h" -+ - #include <typeinfo> - #include <exception> - #include <cstddef> -@@ -66,6 +68,8 @@ - namespace CPPU_CURRENT_NAMESPACE - { - -+void dummy_can_throw_anything( char const * ); -+ - // ----- following decl from libstdc++-v3/libsupc++/unwind-cxx.h and unwind.h - - struct _Unwind_Exception -Index: bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx -=================================================================== -RCS file: /cvs/udk/bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx,v -retrieving revision 1.5 -diff -u -r1.5 uno2cpp.cxx ---- bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx 3 Nov 2004 09:03:15 -0000 1.5 -+++ bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx 27 Dec 2004 06:05:52 -0000 -@@ -2,9 +2,9 @@ - * - * $RCSfile: uno2cpp.cxx,v $ - * -- * $Revision: 1.5 $ -+ * $Revision: 1.7 $ - * -- * last change: $Author: pjunck $ $Date: 2004/11/03 09:03:15 $ -+ * last change: $Author: sb $ $Date: 2004/09/27 09:08:35 $ - * - * The Contents of this file are made available subject to the terms of - * either of the following licenses -@@ -59,24 +59,25 @@ - * - ************************************************************************/ - --#include <sal/alloca.h> --#include <rtl/alloc.h> -+#include <stdlib.h> - -+#include <com/sun/star/uno/genfunc.hxx> -+#include "com/sun/star/uno/RuntimeException.hpp" - #include <uno/data.h> --#include <bridges/cpp_uno/bridge.hxx> --#include <bridges/cpp_uno/type_misc.hxx> - --#include "share.hxx" -+#include "bridges/cpp_uno/shared/bridge.hxx" -+#include "bridges/cpp_uno/shared/types.hxx" -+#include "bridges/cpp_uno/shared/unointerfaceproxy.hxx" -+#include "bridges/cpp_uno/shared/vtables.hxx" - -+#include "share.hxx" - - using namespace ::rtl; - using namespace ::com::sun::star::uno; - --namespace CPPU_CURRENT_NAMESPACE -+namespace - { - --void dummy_can_throw_anything( char const * ); -- - //================================================================================================== - // The call instruction within the asm section of callVirtualMethod may throw - // exceptions. So that the compiler handles this correctly, it is important -@@ -85,7 +86,7 @@ - // callVirtualMethod is not inlined at its call site (so that any exceptions are - // caught which are thrown from the instruction calling callVirtualMethod): - void callVirtualMethod( -- void * pThis, -+ void * pAdjustedThisPtr, - sal_Int32 nVtableIndex, - void * pRegisterReturn, - typelib_TypeClass eReturnType, -@@ -93,7 +94,7 @@ - sal_Int32 nStackLongs ) __attribute__((noinline)); - - void callVirtualMethod( -- void * pThis, -+ void * pAdjustedThisPtr, - sal_Int32 nVtableIndex, - void * pRegisterReturn, - typelib_TypeClass eReturnType, -@@ -103,13 +104,13 @@ - // parameter list is mixed list of * and values - // reference parameters are pointers - -- OSL_ENSURE( pStackLongs && pThis, "### null ptr!" ); -+ OSL_ENSURE( pStackLongs && pAdjustedThisPtr, "### null ptr!" ); - OSL_ENSURE( (sizeof(void *) == 4) && (sizeof(sal_Int32) == 4), "### unexpected size of int!" ); - OSL_ENSURE( nStackLongs && pStackLongs, "### no stack in callVirtualMethod !" ); - - // never called -- if (! pThis) dummy_can_throw_anything("xxx"); // address something -- -+ if (! pAdjustedThisPtr) CPPU_CURRENT_NAMESPACE::dummy_can_throw_anything("xxx"); // address something -+ - volatile long edx = 0, eax = 0; // for register returns - void * stackptr; - asm volatile ( -@@ -139,8 +140,8 @@ - // cleanup stack - "mov %6, %%esp\n\t" - : -- : "m"(nStackLongs), "m"(pStackLongs), "m"(pThis), "m"(nVtableIndex), -- "m"(eax), "m"(edx), "m"(stackptr) -+ : "m"(nStackLongs), "m"(pStackLongs), "m"(pAdjustedThisPtr), -+ "m"(nVtableIndex), "m"(eax), "m"(edx), "m"(stackptr) - : "eax", "edx" ); - switch( eReturnType ) - { -@@ -172,8 +173,8 @@ - - //================================================================================================== - static void cpp_call( -- cppu_unoInterfaceProxy * pThis, -- sal_Int32 nVtableCall, -+ bridges::cpp_uno::shared::UnoInterfaceProxy * pThis, -+ bridges::cpp_uno::shared::VtableSlot aVtableSlot, - typelib_TypeDescriptionReference * pReturnTypeRef, - sal_Int32 nParams, typelib_MethodParameter * pParams, - void * pUnoReturn, void * pUnoArgs[], uno_Any ** ppUnoExc ) -@@ -192,21 +193,25 @@ - - if (pReturnTypeDescr) - { -- if (cppu_isSimpleType( pReturnTypeDescr )) -+ if (bridges::cpp_uno::shared::isSimpleType( pReturnTypeDescr )) - { - pCppReturn = pUnoReturn; // direct way for simple types - } - else - { - // complex return via ptr -- pCppReturn = *(void **)pCppStack = (cppu_relatesToInterface( pReturnTypeDescr ) -- ? alloca( pReturnTypeDescr->nSize ) -- : pUnoReturn); // direct way -+ pCppReturn = *(void **)pCppStack -+ = (bridges::cpp_uno::shared::relatesToInterfaceType( -+ pReturnTypeDescr ) -+ ? alloca( pReturnTypeDescr->nSize ) -+ : pUnoReturn); // direct way - pCppStack += sizeof(void *); - } - } - // push this -- *(void**)pCppStack = pThis->pCppI; -+ void * pAdjustedThisPtr = reinterpret_cast< void ** >(pThis->getCppI()) -+ + aVtableSlot.offset; -+ *(void**)pCppStack = pAdjustedThisPtr; - pCppStack += sizeof( void* ); - - // stack space -@@ -226,10 +231,11 @@ - typelib_TypeDescription * pParamTypeDescr = 0; - TYPELIB_DANGER_GET( &pParamTypeDescr, rParam.pTypeRef ); - -- if (!rParam.bOut && cppu_isSimpleType( pParamTypeDescr )) -+ if (!rParam.bOut -+ && bridges::cpp_uno::shared::isSimpleType( pParamTypeDescr )) - { - uno_copyAndConvertData( pCppArgs[nPos] = pCppStack, pUnoArgs[nPos], pParamTypeDescr, -- &pThis->pBridge->aUno2Cpp ); -+ pThis->getBridge()->getUno2Cpp() ); - - switch (pParamTypeDescr->eTypeClass) - { -@@ -254,11 +260,13 @@ - ppTempParamTypeDescr[nTempIndizes++] = pParamTypeDescr; - } - // is in/inout -- else if (cppu_relatesToInterface( pParamTypeDescr )) -+ else if (bridges::cpp_uno::shared::relatesToInterfaceType( -+ pParamTypeDescr )) - { - uno_copyAndConvertData( - *(void **)pCppStack = pCppArgs[nPos] = alloca( pParamTypeDescr->nSize ), -- pUnoArgs[nPos], pParamTypeDescr, &pThis->pBridge->aUno2Cpp ); -+ pUnoArgs[nPos], pParamTypeDescr, -+ pThis->getBridge()->getUno2Cpp() ); - - pTempIndizes[nTempIndizes] = nPos; // has to be reconverted - // will be released at reconversion -@@ -278,7 +286,7 @@ - { - OSL_ENSURE( !( (pCppStack - pCppStackStart ) & 3), "UNALIGNED STACK !!! (Please DO panic)" ); - callVirtualMethod( -- pThis->pCppI, nVtableCall, -+ pAdjustedThisPtr, aVtableSlot.index, - pCppReturn, pReturnTypeDescr->eTypeClass, - (sal_Int32 *)pCppStackStart, (pCppStack - pCppStackStart) / sizeof(sal_Int32) ); - // NO exception occured... -@@ -296,13 +304,13 @@ - { - uno_destructData( pUnoArgs[nIndex], pParamTypeDescr, 0 ); // destroy uno value - uno_copyAndConvertData( pUnoArgs[nIndex], pCppArgs[nIndex], pParamTypeDescr, -- &pThis->pBridge->aCpp2Uno ); -+ pThis->getBridge()->getCpp2Uno() ); - } - } - else // pure out - { - uno_copyAndConvertData( pUnoArgs[nIndex], pCppArgs[nIndex], pParamTypeDescr, -- &pThis->pBridge->aCpp2Uno ); -+ pThis->getBridge()->getCpp2Uno() ); - } - // destroy temp cpp param => cpp: every param was constructed - uno_destructData( pCppArgs[nIndex], pParamTypeDescr, cpp_release ); -@@ -313,14 +321,14 @@ - if (pCppReturn && pUnoReturn != pCppReturn) - { - uno_copyAndConvertData( pUnoReturn, pCppReturn, pReturnTypeDescr, -- &pThis->pBridge->aCpp2Uno ); -+ pThis->getBridge()->getCpp2Uno() ); - uno_destructData( pCppReturn, pReturnTypeDescr, cpp_release ); - } - } - catch (...) - { - // fill uno exception -- fillUnoException( __cxa_get_globals()->caughtExceptions, *ppUnoExc, &pThis->pBridge->aCpp2Uno ); -+ fillUnoException( CPPU_CURRENT_NAMESPACE::__cxa_get_globals()->caughtExceptions, *ppUnoExc, pThis->getBridge()->getCpp2Uno() ); - - // temporary params - for ( ; nTempIndizes--; ) -@@ -336,32 +344,32 @@ - } - } - -+} - - //================================================================================================== --void SAL_CALL cppu_unoInterfaceProxy_dispatch( -+void bridges::cpp_uno::shared::UnoInterfaceProxy::dispatch( - uno_Interface * pUnoI, const typelib_TypeDescription * pMemberDescr, -- void * pReturn, void * pArgs[], uno_Any ** ppException ) throw () -+ void * pReturn, void * pArgs[], uno_Any ** ppException ) SAL_THROW(()) - { - // is my surrogate -- cppu_unoInterfaceProxy * pThis = (cppu_unoInterfaceProxy *)pUnoI; -+ bridges::cpp_uno::shared::UnoInterfaceProxy * pThis -+ = static_cast< bridges::cpp_uno::shared::UnoInterfaceProxy * >(pUnoI); - typelib_InterfaceTypeDescription * pTypeDescr = pThis->pTypeDescr; - - switch (pMemberDescr->eTypeClass) - { - case typelib_TypeClass_INTERFACE_ATTRIBUTE: - { -- // determine vtable call index -- sal_Int32 nMemberPos = ((typelib_InterfaceMemberTypeDescription *)pMemberDescr)->nPosition; -- OSL_ENSURE( nMemberPos < pTypeDescr->nAllMembers, "### member pos out of range!" ); -- -- sal_Int32 nVtableCall = pTypeDescr->pMapMemberIndexToFunctionIndex[nMemberPos]; -- OSL_ENSURE( nVtableCall < pTypeDescr->nMapFunctionIndexToMemberIndex, "### illegal vtable index!" ); -- -+ VtableSlot aVtableSlot( -+ getVtableSlot( -+ reinterpret_cast< -+ typelib_InterfaceAttributeTypeDescription const * >( -+ pMemberDescr))); - if (pReturn) - { - // dependent dispatch - cpp_call( -- pThis, nVtableCall, -+ pThis, aVtableSlot, - ((typelib_InterfaceAttributeTypeDescription *)pMemberDescr)->pAttributeTypeRef, - 0, 0, // no params - pReturn, pArgs, ppException ); -@@ -381,8 +389,9 @@ - &pReturnTypeRef, typelib_TypeClass_VOID, aVoidName.pData ); - - // dependent dispatch -+ aVtableSlot.index += 1; // get, then set method - cpp_call( -- pThis, nVtableCall +1, // get, then set method -+ pThis, aVtableSlot, - pReturnTypeRef, - 1, &aParam, - pReturn, pArgs, ppException ); -@@ -394,14 +403,12 @@ - } - case typelib_TypeClass_INTERFACE_METHOD: - { -- // determine vtable call index -- sal_Int32 nMemberPos = ((typelib_InterfaceMemberTypeDescription *)pMemberDescr)->nPosition; -- OSL_ENSURE( nMemberPos < pTypeDescr->nAllMembers, "### member pos out of range!" ); -- -- sal_Int32 nVtableCall = pTypeDescr->pMapMemberIndexToFunctionIndex[nMemberPos]; -- OSL_ENSURE( nVtableCall < pTypeDescr->nMapFunctionIndexToMemberIndex, "### illegal vtable index!" ); -- -- switch (nVtableCall) -+ VtableSlot aVtableSlot( -+ getVtableSlot( -+ reinterpret_cast< -+ typelib_InterfaceMethodTypeDescription const * >( -+ pMemberDescr))); -+ switch (aVtableSlot.index) - { - // standard calls - case 1: // acquire uno interface -@@ -419,8 +426,8 @@ - if (pTD) - { - uno_Interface * pInterface = 0; -- (*pThis->pBridge->pUnoEnv->getRegisteredInterface)( -- pThis->pBridge->pUnoEnv, -+ (*pThis->pBridge->getUnoEnv()->getRegisteredInterface)( -+ pThis->pBridge->getUnoEnv(), - (void **)&pInterface, pThis->oid.pData, (typelib_InterfaceTypeDescription *)pTD ); - - if (pInterface) -@@ -439,7 +446,7 @@ - default: - // dependent dispatch - cpp_call( -- pThis, nVtableCall, -+ pThis, aVtableSlot, - ((typelib_InterfaceMethodTypeDescription *)pMemberDescr)->pReturnTypeRef, - ((typelib_InterfaceMethodTypeDescription *)pMemberDescr)->nParams, - ((typelib_InterfaceMethodTypeDescription *)pMemberDescr)->pParams, -@@ -459,6 +466,3 @@ - } - } - } -- --} -- diff --git a/editors/openoffice.org-vcltesttool/files/patch-project-extentions b/editors/openoffice.org-vcltesttool/files/patch-project-extentions deleted file mode 100644 index a8b9d7ee9416..000000000000 --- a/editors/openoffice.org-vcltesttool/files/patch-project-extentions +++ /dev/null @@ -1,65 +0,0 @@ -#iZ and CWS -o http://www.openoffice.org/issues/show_bug.cgi?id=40179 -o http://eis.services.openoffice.org/EIS2/servlet/cws.ShowCWS?Id=2030&Path=SRC680%2Fpj16 -o pj16 - -Description - -o source/config/ldap/makefile.mk needs -lcompat since re_comp is defined here. -o FreeBSD doesn't have -ldl -o INC+= -DNP_LINUX is also requried for FreeBSD - -Index: source/config/ldap/makefile.mk -=================================================================== -RCS file: /cvs/util/extensions/source/config/ldap/makefile.mk,v -retrieving revision 1.4 -diff -u -r1.4 makefile.mk ---- extensions/source/config/ldap/makefile.mk 15 Nov 2004 14:14:22 -0000 1.4 -+++ extensions/source/config/ldap/makefile.mk 8 Jan 2005 02:48:29 -0000 -@@ -116,6 +116,9 @@ - $(CPPULIB) \ - $(SALHELPERLIB) \ - $(SALLIB) -+.IF "$(OS)"=="FREEBSD" -+SHL1STDLIBS+=-lcompat -+.ENDIF - - DEF1NAME=$(SHL1TARGET) - DEF1EXPORTFILE=exports.dxp -Index: source/nsplugin/source/makefile.mk -=================================================================== -RCS file: /cvs/util/extensions/source/nsplugin/source/makefile.mk,v -retrieving revision 1.8 -diff -u -r1.8 makefile.mk ---- extensions/source/nsplugin/source/makefile.mk 3 Jan 2005 09:04:51 -0000 1.8 -+++ extensions/source/nsplugin/source/makefile.mk 8 Jan 2005 02:48:30 -0000 -@@ -78,7 +78,7 @@ - @echo GTK disabled - nothing to build - - .ELSE # "$(ENABLE_GTK)"=="" --.IF "$(OS)"=="LINUX" -+.IF "$(OS)"=="LINUX" || "$(OS)"=="FREEBSD" - INC+= -DNP_LINUX - .ENDIF - PKGCONFIG_MODULES=gtk+-2.0 -@@ -99,8 +99,10 @@ - .IF "$(GUI)"=="UNX" - SHL1OBJS+=$(SLO)$/npunix.obj - SLOFILES+=$(SLO)$/npunix.obj -+.IF "$(OS)"!="FREEBSD" - SHL1STDLIBS+= -ldl -lnsl --.ENDIF -+.ENDIF #FREEBSD -+.ENDIF #UNX - .IF "$(GUI)"=="WNT" - SHL1OBJS+=$(SLO)$/npwin.obj - SLOFILES+=$(SLO)$/npwin.obj -@@ -131,7 +133,7 @@ - - .IF "$(GUI)"=="UNX" - APP1STDLIBS+=$(PKGCONFIG_LIBS:s/-lpangoxft-1.0//) --.IF "$(OS)"=="LINUX" -+.IF "$(OS)"=="LINUX" || "$(OS)"=="FREEBSD" - .ELSE - APP1STDLIBS+= -ldl -lnsl -lnls -lsocket - .ENDIF diff --git a/editors/openoffice.org-vcltesttool/files/patch-solenv+inc+unxfbsdi.mk b/editors/openoffice.org-vcltesttool/files/patch-solenv+inc+unxfbsdi.mk deleted file mode 100644 index f3f55df061d4..000000000000 --- a/editors/openoffice.org-vcltesttool/files/patch-solenv+inc+unxfbsdi.mk +++ /dev/null @@ -1,262 +0,0 @@ -#iZ and CWS -o http://www.openoffice.org/issues/show_bug.cgi?id=40182 - -Description -o catch up recent unxlngi6.mk -o -Wl,-z,defs -> comment out - -Index: solenv/inc/unxfbsdi.mk -=================================================================== -RCS file: /cvs/tools/solenv/inc/unxfbsdi.mk,v -retrieving revision 1.11 -diff -u -r1.11 unxfbsdi.mk ---- solenv/inc/unxfbsdi.mk 20 Sep 2004 08:37:13 -0000 1.11 -+++ solenv/inc/unxfbsdi.mk 10 Jan 2005 07:44:44 -0000 -@@ -60,16 +60,26 @@ - # - #************************************************************************* - --# mak file for unxfbsdi --ASM=$(CC) --AFLAGS=-x assembler-with-cpp -c $(CDEFS) -+# mk file for unxfbsdi -+ASM= -+AFLAGS= -+ -+SOLAR_JAVA*=TRUE -+JAVAFLAGSDEBUG=-g - - # filter for supressing verbose messages from linker - #not needed at the moment - #LINKOUTPUT_FILTER=" |& $(SOLARENV)$/bin$/msg_filter" - -+# _PTHREADS is needed for the stl -+CDEFS+=$(PTHREAD_CFLAGS) -DX86 -D_PTHREADS -D_REENTRANT -DNEW_SOLAR -D_USE_NAMESPACE=1 -DSTLPORT_VERSION=400 -+ -+# enable visibility define in "sal/types.h" -+.IF "$(HAVE_GCC_VISIBILITY_FEATURE)" == "TRUE" -+CDEFS += -DHAVE_GCC_VISIBILITY_FEATURE -+.ENDIF # "$(HAVE_GCC_VISIBILITY_FEATURE)" == "TRUE" -+ - # this is a platform with JAVA support --SOLAR_JAVA*=TRUE - .IF "$(SOLAR_JAVA)"!="" - JAVADEF=-DSOLAR_JAVA - .IF "$(debug)"=="" -@@ -83,90 +93,82 @@ - CXX*=g++ - # name of C Compiler - CC*=gcc -+.IF "$(SYSBASE)"!="" -+CFLAGS_SYSBASE:=-isystem $(SYSBASE)$/usr$/include -+CXX+:=$(CFLAGS_SYSBASE) -+CC+:=$(CFLAGS_SYSBASE) -+.ENDIF # "$(SYSBASE)"!="" -+CFLAGS+=-Wreturn-type -fmessage-length=0 -c $(INCLUDE) -+.IF "$(PRODUCT)"!="" -+CFLAGS+=-Wuninitialized -+.ENDIF - --# filter for supressing verbose messages from linker --# not needed at the moment --LINKOUTPUT_FILTER=" |& $(SOLARENV)$/bin$/msg_filter" -+# flags to enable build with symbols; required for crashdump feature -+.IF "$(ENABLE_SYMBOLS)"=="SMALL" -+CFLAGSENABLESYMBOLS=-g1 -+.ELSE -+CFLAGSENABLESYMBOLS=-g # was temporarily commented out, reenabled before Beta - --# options for C and C++ Compiler --CDEFS+= -D_USE_NAMESPACE=1 -DX86 -DNEW_SOLAR -DSTLPORT_VERSION=450 -DOSVERSION=$(OSVERSION) --CDEFS+= $(PTHREAD_CFLAGS) -D_REENTRANT -- --# flags for C and C++ Compile --CFLAGS+= -w -c $(INCLUDE) --CFLAGS+= -I/usr/X11R6/include -+.ENDIF - - # flags for the C++ Compiler --CFLAGSCC= -pipe -fno-rtti --CFLAGSCXX= -pipe -fno-rtti --CFLAGSCXX+= -Wno-ctor-dtor-privacy -- -+CFLAGSCC= -pipe -mtune=pentiumpro - # Flags for enabling exception handling --CFLAGSEXCEPTIONS= -fexceptions --CFLAGS_NO_EXCEPTIONS= -fno-exceptions -- --# Compiler flags for compiling static object in single threaded --# environment with graphical user interface --CFLAGSOBJGUIST= -fPIC -- --# Compiler flags for compiling static object in single threaded --# environment with character user interface --CFLAGSOBJCUIST= -fPIC -- --# Compiler flags for compiling static object in multi threaded --# environment with graphical user interface --CFLAGSOBJGUIMT= -fPIC -- --# Compiler flags for compiling static object in multi threaded --# environment with character user interface --CFLAGSOBJCUIMT= -fPIC -- --# Compiler flags for compiling shared object in multi threaded --# environment with graphical user interface --CFLAGSSLOGUIMT= -fPIC -- --# Compiler flags for compiling shared object in multi threaded --# environment with character user interface --CFLAGSSLOCUIMT= -fPIC -+CFLAGSEXCEPTIONS=-fexceptions -fno-enforce-eh-specs -+# Flags for disabling exception handling -+CFLAGS_NO_EXCEPTIONS=-fno-exceptions - --# Compiler flags for profilin --CFLAGSPROF= -pg -+# -fpermissive should be removed as soon as possible -+CFLAGSCXX= -pipe -mtune=pentiumpro -+CFLAGSCXX+= -Wno-ctor-dtor-privacy - -+# Compiler flags for compiling static object in single threaded environment with graphical user interface -+CFLAGSOBJGUIST= -+# Compiler flags for compiling static object in single threaded environment with character user interface -+CFLAGSOBJCUIST= -+# Compiler flags for compiling static object in multi threaded environment with graphical user interface -+CFLAGSOBJGUIMT= -+# Compiler flags for compiling static object in multi threaded environment with character user interface -+CFLAGSOBJCUIMT= -+# Compiler flags for compiling shared object in multi threaded environment with graphical user interface -+CFLAGSSLOGUIMT=-fPIC -+# Compiler flags for compiling shared object in multi threaded environment with character user interface -+CFLAGSSLOCUIMT=-fPIC -+# Compiler flags for profiling -+CFLAGSPROF= - # Compiler flags for debugging --CFLAGSDEBUG= -g -+CFLAGSDEBUG=-g - CFLAGSDBGUTIL= -- --# Compiler flags to enable optimizations --# -02 is broken for FreeBSD --CFLAGSOPT= -O -- --# Compiler flags to disable optimizations --# -0 is broken for STLport for FreeBSD --CFLAGSNOOPT= -O0 -- --# Compiler flags for the output path --CFLAGSOUTOBJ= -o -- -+# Compiler flags for enabling optimazations -+.IF "$(PRODUCT)"!="" -+CFLAGSOPT=-Os -fno-strict-aliasing # optimizing for products -+.ELSE # "$(PRODUCT)"!="" -+CFLAGSOPT= # no optimizing for non products -+.ENDIF # "$(PRODUCT)"!="" -+# Compiler flags for disabling optimazations -+CFLAGSNOOPT=-O0 -+# Compiler flags for discibing the output path -+CFLAGSOUTOBJ=-o - # Enable all warnings - CFLAGSWALL=-Wall -- - # Set default warn level --CFLAGSDFLTWARN=-w -+CFLAGSDFLTWARN= - - # switches for dynamic and static linking --STATIC= -Wl,-Bstatic --DYNAMIC= -Wl,-Bdynamic -+STATIC = -Wl,-Bstatic -+DYNAMIC = -Wl,-Bdynamic - - # name of linker --LINK=$(CC) -+LINK*=$(CXX) - - # default linker flags --# LINKFLAGSRUNPATH*=-Wl,-rpath\''$$ORIGIN'\' --LINKFLAGS=$(LINKFLAGSRUNPATH) -+LINKFLAGSDEFS*=#-Wl,-z,defs -+LINKFLAGSRUNPATH*=-Wl,-rpath,\''$$ORIGIN'\' -+LINKFLAGS=-z combreloc $(LINKFLAGSDEFS) $(LINKFLAGSRUNPATH) - - # linker flags for linking applications --LINKFLAGSAPPGUI= -Wl,--noinhibit-exec --LINKFLAGSAPPCUI= -Wl,--noinhibit-exec -+LINKFLAGSAPPGUI= -Wl,-export-dynamic -Wl,--noinhibit-exec -+LINKFLAGSAPPCUI= -Wl,-export-dynamic -Wl,--noinhibit-exec - - # linker flags for linking shared libraries - LINKFLAGSSHLGUI= -shared -@@ -177,23 +179,19 @@ - LINKFLAGSDEBUG=-g - LINKFLAGSOPT= - --.IF "$(NO_BSYMBOLIC)"=="" --.IF "$(PRJNAME)" != "envtest" --LINKFLAGSSHLGUI+= -Wl,-Bsymbolic --LINKFLAGSSHLCUI+= -Wl,-Bsymbolic --.ENDIF --.ENDIF -+# linker flags for optimization (symbol hashtable) -+# for now, applied to symbol scoped libraries, only -+LINKFLAGSOPTIMIZE*=-Wl,-O1 -+LINKVERSIONMAPFLAG=$(LINKFLAGSOPTIMIZE) -Wl,--version-script - --LINKVERSIONMAPFLAG=-Wl,--version-script -+SONAME_SWITCH=-Wl,-h - - # Sequence of libs does matter ! --STDLIBCPP=-lstdc++ - --# _SYSLIBS= -L/usr/lib -lm --# _X11LIBS= -L/usr/X11R6/lib -lXext -lX11 --# _CXXLIBS= -L/usr/lib -lstdc++ -L/usr/local/lib -+STDLIBCPP=-lstdc++ - - # default objectfilenames to link -+STDOBJVCL=$(L)$/salmain.o - STDOBJGUI= - STDSLOGUI= - STDOBJCUI= -@@ -201,24 +199,25 @@ - - # libraries for linking applications - STDLIBCUIST=-lm --STDLIBGUIST=-lXaw -lXt -lX11 -lm --STDLIBGUIMT=-lXaw -lXt -lX11 $(PTHREAD_LIBS) -lm -+STDLIBGUIMT=-lX11 $(PTHREAD_LIBS) -lm - STDLIBCUIMT=$(PTHREAD_LIBS) -lm -- -+STDLIBGUIST=-lX11 -lm - # libraries for linking shared libraries --STDSHLGUIMT=-lXaw -lXt -lX11 -lXext $(PTHREAD_LIBS) -lm -+STDSHLGUIMT=-lX11 -lXext $(PTHREAD_LIBS) -lm - STDSHLCUIMT=$(PTHREAD_LIBS) -lm -+STDSHLGUIST=-lX11 -lXext -lm -+STDSHLCUIST=-lm - - LIBSALCPPRT*=-Wl,--whole-archive -lsalcpprt -Wl,--no-whole-archive - --# STLport always needs pthread. --LIBSTLPORT=$(DYNAMIC) -lstlport_gcc $(STDLIBCPP) $(PTHREAD_LIBS) --LIBSTLPORTST=$(STATIC) -lstlport_gcc $(DYNAMIC) $(PTHREAD_LIBS) -+LIBSTLPORT=$(DYNAMIC) -lstlport_gcc -+LIBSTLPORTST=$(STATIC) -lstlport_gcc $(DYNAMIC) -+ -+#FILLUPARC=$(STATIC) -lsupc++ $(DYNAMIC) - - # name of library manager - LIBMGR=ar - LIBFLAGS=-r --LIBEXT= .a - - # tool for generating import libraries - IMPLIB= -@@ -237,3 +236,4 @@ - DLLPOSTFIX=fi - DLLPRE=lib - DLLPOST=.so -+ diff --git a/editors/openoffice.org-vcltesttool/files/patch-transex3+source+xmlparse.cxx b/editors/openoffice.org-vcltesttool/files/patch-transex3+source+xmlparse.cxx deleted file mode 100644 index de1864d5e9cb..000000000000 --- a/editors/openoffice.org-vcltesttool/files/patch-transex3+source+xmlparse.cxx +++ /dev/null @@ -1,24 +0,0 @@ -#iZ and CWS -o http://www.openoffice.org/issues/show_bug.cgi?id=40184 -o http://eis.services.openoffice.org/EIS2/servlet/cws.ShowCWS?Id=2030&Path=SRC680%2Fpj16 -o pj16 - -Description -FreeBSD doesn't have alloca.h - -Index: source/xmlparse.cxx -=================================================================== -RCS file: /cvs/l10n/transex3/source/xmlparse.cxx,v -retrieving revision 1.5 -diff -u -r1.5 xmlparse.cxx ---- transex3/source/xmlparse.cxx 18 Nov 2004 08:17:50 -0000 1.5 -+++ transex3/source/xmlparse.cxx 8 Jan 2005 02:56:14 -0000 -@@ -67,7 +67,7 @@ - #ifdef WIN32 - #include <malloc.h> - #else --#ifndef MACOSX -+#if !(defined(MACOSX) || defined(FREEBSD)) - #include <alloca.h> - #endif - #endif |