summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatúš Kukan <matus.kukan@collabora.com>2014-02-20 23:04:00 +0100
committerMatúš Kukan <matus.kukan@collabora.com>2014-02-21 07:52:24 +0100
commitdbfc495a9ace0865d764dad7404633a12cda2873 (patch)
treeeb695c097fcc97335ead668b927ad756e28b0553
parentd5951c04195e050d65d44c9578bd339dd41eee2f (diff)
Add config option used when we try to link one huge object file.
In theory, it should not be used, we use it now to mark duplicated symbols from sdi slots as weak. See idl/source/objects/types.cxx. Change-Id: I3c6fccfb96884df6b9e6eb35b8615ba4d66ca208
-rw-r--r--basctl/source/basicide/basidesh.cxx2
-rw-r--r--config_host/config_options.h.in15
-rw-r--r--configure.ac3
-rw-r--r--idl/source/objects/types.cxx2
-rw-r--r--sc/source/ui/app/typemap.cxx2
-rw-r--r--sd/source/core/typemap.cxx1
-rw-r--r--sfx2/source/appl/appbas.cxx2
-rw-r--r--starmath/source/typemap.cxx2
-rw-r--r--svx/source/form/typemap.cxx2
-rw-r--r--sw/source/ui/shells/slotadd.cxx1
10 files changed, 31 insertions, 1 deletions
diff --git a/basctl/source/basicide/basidesh.cxx b/basctl/source/basicide/basidesh.cxx
index 1100f469c87c..ad98344a703d 100644
--- a/basctl/source/basicide/basidesh.cxx
+++ b/basctl/source/basicide/basidesh.cxx
@@ -17,6 +17,8 @@
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
+#include <config_options.h>
+
#include "basidesh.hxx"
#include <tools/diagnose_ex.h>
diff --git a/config_host/config_options.h.in b/config_host/config_options.h.in
new file mode 100644
index 000000000000..6c882d7fedcf
--- /dev/null
+++ b/config_host/config_options.h.in
@@ -0,0 +1,15 @@
+/*
+ * General configuration settings for various options.
+ */
+
+#ifndef CONFIG_OPTIONS_H
+#define CONFIG_OPTIONS_H
+
+/*
+ * Whether we want to link as many object files as possible into one big object.
+ * True in case of --enable-lto or --enable-mergelibs.
+ */
+
+#define STATIC_LINKING 0
+
+#endif
diff --git a/configure.ac b/configure.ac
index 4e5715681c9b..c858df5a2f5f 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2530,6 +2530,7 @@ fi
if test -n "$enable_lto" -a "$enable_lto" != "no"; then
ENABLE_LTO="TRUE"
AC_MSG_RESULT([yes])
+ AC_DEFINE(STATIC_LINKING)
else
ENABLE_LTO=""
AC_MSG_RESULT([no])
@@ -12407,6 +12408,7 @@ if test -n "$enable_mergelibs" -a "$enable_mergelibs" != "no"; then
MERGELIBS="CORE"
fi
AC_MSG_RESULT([yes])
+ AC_DEFINE(STATIC_LINKING)
else
AC_MSG_RESULT([no])
fi
@@ -12632,6 +12634,7 @@ AC_CONFIG_HEADERS([config_host/config_orcus.h])
AC_CONFIG_HEADERS([config_host/config_kde4.h])
AC_CONFIG_HEADERS([config_host/config_mingw.h])
AC_CONFIG_HEADERS([config_host/config_oox.h])
+AC_CONFIG_HEADERS([config_host/config_options.h])
AC_CONFIG_HEADERS([config_host/config_test.h])
AC_CONFIG_HEADERS([config_host/config_telepathy.h])
AC_CONFIG_HEADERS([config_host/config_typesizes.h])
diff --git a/idl/source/objects/types.cxx b/idl/source/objects/types.cxx
index c7a69a9ad176..1797fa2b3409 100644
--- a/idl/source/objects/types.cxx
+++ b/idl/source/objects/types.cxx
@@ -1416,7 +1416,7 @@ void SvMetaType::WriteSfxItem(
// write the implementation part
rOutStm.WriteCharPtr( "#ifdef SFX_TYPEMAP" ) << endl;
- rOutStm.WriteCharPtr( "#if !defined(_WIN32) && ((defined(DISABLE_DYNLOADING) && (defined(ANDROID) || defined(IOS))) || defined(LIBO_MERGELIBS))" ) << 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;
rOutStm.WriteCharPtr( aTypeName.getStr() ).WriteCharPtr( aVarName.getStr() )
diff --git a/sc/source/ui/app/typemap.cxx b/sc/source/ui/app/typemap.cxx
index 1972d529c9d0..c4eb778fc7e0 100644
--- a/sc/source/ui/app/typemap.cxx
+++ b/sc/source/ui/app/typemap.cxx
@@ -17,6 +17,8 @@
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
+#include <config_options.h>
+
#include <svx/svxids.hrc>
#include "sc.hrc"
#include "scitems.hxx"
diff --git a/sd/source/core/typemap.cxx b/sd/source/core/typemap.cxx
index 0eabb4167144..a5548a305c9c 100644
--- a/sd/source/core/typemap.cxx
+++ b/sd/source/core/typemap.cxx
@@ -17,6 +17,7 @@
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
+#include <config_options.h>
#include <editeng/outliner.hxx>
#include <editeng/eeitem.hxx>
diff --git a/sfx2/source/appl/appbas.cxx b/sfx2/source/appl/appbas.cxx
index 62efd5d4f3db..2aa0acb4119f 100644
--- a/sfx2/source/appl/appbas.cxx
+++ b/sfx2/source/appl/appbas.cxx
@@ -17,6 +17,8 @@
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
+#include <config_options.h>
+
#include <com/sun/star/frame/XDesktop.hpp>
#include <com/sun/star/script/XLibraryContainer.hpp>
#include <com/sun/star/uno/Reference.h>
diff --git a/starmath/source/typemap.cxx b/starmath/source/typemap.cxx
index 2d354f7450c6..e9a1bd90e04a 100644
--- a/starmath/source/typemap.cxx
+++ b/starmath/source/typemap.cxx
@@ -17,6 +17,8 @@
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
+#include <config_options.h>
+
#include <sfx2/msg.hxx>
#include <svl/stritem.hxx>
#include <svl/eitem.hxx>
diff --git a/svx/source/form/typemap.cxx b/svx/source/form/typemap.cxx
index d65f431764c4..2fd33ea736a1 100644
--- a/svx/source/form/typemap.cxx
+++ b/svx/source/form/typemap.cxx
@@ -17,6 +17,8 @@
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
+#include <config_options.h>
+
#include <sfx2/objitem.hxx>
#include <sfx2/msg.hxx>
#include <svl/stritem.hxx>
diff --git a/sw/source/ui/shells/slotadd.cxx b/sw/source/ui/shells/slotadd.cxx
index 7d6b301c602f..1fdb41990d25 100644
--- a/sw/source/ui/shells/slotadd.cxx
+++ b/sw/source/ui/shells/slotadd.cxx
@@ -17,6 +17,7 @@
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
+#include <config_options.h>
#include "hintids.hxx"
#include "uiitems.hxx"