Library_merged.mk            |    2 +-
 configure.ac                 |    9 ++-------
 idl/inc/database.hxx         |    2 ++
 idl/source/objects/types.cxx |   25 +++++++++++++++++++++++--
 idl/source/prj/database.cxx  |    1 +
 5 files changed, 29 insertions(+), 10 deletions(-)

New commits:
commit fc27a685d466dc380a8b68cd48f47db632ed3693
Author: Matúš Kukan <matus.ku...@collabora.com>
Date:   Thu Mar 13 11:03:04 2014 +0100

    Avoid duplicate symbols in libmerged for Windows too.
    
    Export these symbols from sfx library.
    For cases when we link together more libraries, there are more symbols,
    so I've kept __attribute__((__weak__)) hack there.
    
    Change-Id: I8b7f6fc9bea479dca5062344c04b74c1f3eb36b2

diff --git a/configure.ac b/configure.ac
index 92ca7dd..7c5d277 100644
--- a/configure.ac
+++ b/configure.ac
@@ -12424,11 +12424,11 @@ if test -n "$enable_mergelibs" -a "$enable_mergelibs" 
!= "no"; then
     if test "$enable_mergelibs" = "all"; then
         MERGELIBS="ALL"
         URELIBS="TRUE"
+        AC_DEFINE(STATIC_LINKING)
     else
         MERGELIBS="CORE"
     fi
     AC_MSG_RESULT([yes])
-    AC_DEFINE(STATIC_LINKING)
 else
     AC_MSG_RESULT([no])
 fi
diff --git a/idl/inc/database.hxx b/idl/inc/database.hxx
index 15e87f2..f9abfd2 100644
--- a/idl/inc/database.hxx
+++ b/idl/inc/database.hxx
@@ -81,6 +81,8 @@ protected:
         aIFaceName = OString();
     }
 public:
+    OUString sSlotMapFile;
+
                 explicit SvIdlDataBase( const SvCommand& rCmd );
                 ~SvIdlDataBase();
     static sal_Bool IsBinaryFormat( SvStream & rInStm );
diff --git a/idl/source/objects/types.cxx b/idl/source/objects/types.cxx
index 1797fa2..6dc8216 100644
--- a/idl/source/objects/types.cxx
+++ b/idl/source/objects/types.cxx
@@ -1398,7 +1398,7 @@ sal_uLong SvMetaType::MakeSfx( OStringBuffer& rAttrArray )
 }
 
 void SvMetaType::WriteSfxItem(
-    const OString& rItemName, SvIdlDataBase &, SvStream & rOutStm )
+    const OString& rItemName, SvIdlDataBase& rBase, SvStream& rOutStm )
 {
     WriteStars( rOutStm );
     OStringBuffer aVarName(" a");
@@ -1411,14 +1411,35 @@ void SvMetaType::WriteSfxItem(
         OString::number(nAttrCount));
     aTypeName.append(aAttrCount);
 
-    rOutStm.WriteCharPtr( "extern " ).WriteCharPtr( aTypeName.getStr() )
+    bool bExport = false, bReturn = false;
+    // these are exported from sfx library
+    if (rItemName == "SfxBoolItem" ||
+        rItemName == "SfxStringItem" ||
+        rItemName == "SfxUInt16Item" ||
+        rItemName == "SfxUInt32Item" ||
+        rItemName == "SfxVoidItem")
+    {
+        if (rBase.sSlotMapFile.endsWith("sfxslots.hxx"))
+            bExport = true;
+        else
+            bReturn = true;
+    }
+
+    rOutStm.WriteCharPtr( "extern " );
+    if (bExport)
+        rOutStm.WriteCharPtr( "SFX2_DLLPUBLIC " );
+    rOutStm.WriteCharPtr( aTypeName.getStr() )
            .WriteCharPtr( aVarName.getStr() ).WriteChar( ';' ) << endl;
+    if (bReturn)
+        return;
 
     // write the implementation part
     rOutStm.WriteCharPtr( "#ifdef SFX_TYPEMAP" ) << endl;
     rOutStm.WriteCharPtr( "#if !defined(_WIN32) && 
((defined(DISABLE_DYNLOADING) && (defined(ANDROID) || defined(IOS))) || 
STATIC_LINKING)" ) << endl;
     rOutStm.WriteCharPtr( "__attribute__((__weak__))" ) << endl;
     rOutStm.WriteCharPtr( "#endif" ) << endl;
+    if (bExport)
+        rOutStm.WriteCharPtr( "SFX2_DLLPUBLIC " );
     rOutStm.WriteCharPtr( aTypeName.getStr() ).WriteCharPtr( aVarName.getStr() 
)
            .WriteCharPtr( " = " ) << endl;
     rOutStm.WriteChar( '{' ) << endl;
diff --git a/idl/source/prj/database.cxx b/idl/source/prj/database.cxx
index 3ac165d..04f351c 100644
--- a/idl/source/prj/database.cxx
+++ b/idl/source/prj/database.cxx
@@ -34,6 +34,7 @@ SvIdlDataBase::SvIdlDataBase( const SvCommand& rCmd )
     , aPersStream( *IDLAPP->pClassMgr, NULL )
     , pIdTable( NULL )
 {
+    sSlotMapFile = rCmd.aSlotMapFile;
 }
 
 SvIdlDataBase::~SvIdlDataBase()
commit bee9ea584cb5c1e6bee802c45214010d072846db
Author: Matúš Kukan <matus.ku...@collabora.com>
Date:   Fri Mar 14 09:23:47 2014 +0100

    add shlwapi
    
    Change-Id: Icb7b7d9954a6954b2a34358a49988a10c3ab384a

diff --git a/Library_merged.mk b/Library_merged.mk
index cd45fd3..61075ab 100644
--- a/Library_merged.mk
+++ b/Library_merged.mk
@@ -106,6 +106,7 @@ $(eval $(call gb_Library_use_system_win32_libs,merged,\
        ole32 \
        oleaut32 \
        shell32 \
+       shlwapi \
        user32 \
        usp10 \
        uuid \
commit 0737d4f6f9d5db5197ce4f35214a785250b8e848
Author: Matúš Kukan <matus.ku...@collabora.com>
Date:   Thu Mar 13 10:55:54 2014 +0100

    Remove --disable-lpsolve configure option.
    
    Use --with-lpsolver="coinmp" or --with-lpsolver="no".
    
    Change-Id: Ibc806b85fb6c03e1cf6f23d860246a6fb2f273c1

diff --git a/configure.ac b/configure.ac
index 6c453e2..92ca7dd 100644
--- a/configure.ac
+++ b/configure.ac
@@ -781,11 +781,6 @@ AC_ARG_ENABLE(ext-wiki-publisher,
         [Enable the Wiki Publisher extension.])
 )
 
-AC_ARG_ENABLE(lpsolve,
-    AS_HELP_STRING([--disable-lpsolve],
-        [Disable compilation of the lp solve solver ])
-)
-
 AC_ARG_ENABLE(pdfimport,
     AS_HELP_STRING([--disable-pdfimport],
         [Disable building the PDF import feature.])
@@ -9413,7 +9408,7 @@ AC_SUBST(MYTHES_LIBS)
 dnl ===================================================================
 dnl How should we build the linear programming solver ?
 dnl ===================================================================
-if test "$enable_lpsolve" = "no" -o "$enable_mpl_subset" = "yes"; then
+if test "$enable_mpl_subset" = "yes"; then
     WITH_LPSOLVER="coinmp"
 fi
 if test $_os = iOS -o $_os = Android; then
commit 2b7a148379b41c7bb8a5fb336ea558e418c93eac
Author: Matúš Kukan <matus.ku...@collabora.com>
Date:   Thu Mar 13 10:52:16 2014 +0100

    lpsolve is not used here
    
    Change-Id: I8264104e58e0c6ddb3bea2983754b43908be28be

diff --git a/Library_merged.mk b/Library_merged.mk
index f2df397..cd45fd3 100644
--- a/Library_merged.mk
+++ b/Library_merged.mk
@@ -52,7 +52,6 @@ $(eval $(call gb_Library_use_externals,merged,\
        liblangtag \
        libxml2 \
        libxslt \
-       $(if $(filter-out IOS,$(OS)),lpsolve) \
        mythes \
        nss3 \
        telepathy \
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to