summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bridges/source/cpp_uno/mingw_intel/except.cxx1
-rw-r--r--bridges/source/cpp_uno/mingw_intel/makefile.mk6
-rw-r--r--bridges/source/cpp_uno/mingw_intel/uno2cpp.cxx4
-rw-r--r--bridges/source/jni_uno/jni_java2uno.cxx4
-rw-r--r--bridges/source/jni_uno/jni_uno2java.cxx4
-rw-r--r--bridges/source/jni_uno/makefile.mk6
-rw-r--r--sal/systools/win32/uwinapi/makefile.mk4
-rw-r--r--sal/util/makefile.mk4
8 files changed, 20 insertions, 13 deletions
diff --git a/bridges/source/cpp_uno/mingw_intel/except.cxx b/bridges/source/cpp_uno/mingw_intel/except.cxx
index a529dc00d48b..5285b709b7b5 100644
--- a/bridges/source/cpp_uno/mingw_intel/except.cxx
+++ b/bridges/source/cpp_uno/mingw_intel/except.cxx
@@ -32,6 +32,7 @@
#include "precompiled_bridges.hxx"
#include <stdio.h>
+#include <string.h>
#include <cxxabi.h>
#include <hash_map>
diff --git a/bridges/source/cpp_uno/mingw_intel/makefile.mk b/bridges/source/cpp_uno/mingw_intel/makefile.mk
index 823c3888516b..242d21617d5e 100644
--- a/bridges/source/cpp_uno/mingw_intel/makefile.mk
+++ b/bridges/source/cpp_uno/mingw_intel/makefile.mk
@@ -47,11 +47,17 @@ ENABLE_EXCEPTIONS=TRUE
.IF "$(cppu_no_leak)" == ""
CFLAGS += -DLEAK_STATIC_DATA
.ENDIF
+.IF "$(EXCEPTIONS)" == "sjlj"
+CFLAGS += -DBROKEN_ALLOCA
+.ENDIF
# In case someone enabled the non-standard -fomit-frame-pointer which does not
# work with the .cxx sources in this directory:
CFLAGSCXX += -fno-omit-frame-pointer
+NOOPTFILES= \
+ $(SLO)$/uno2cpp.obj
+
CFLAGSNOOPT=-O0
SLOFILES= \
diff --git a/bridges/source/cpp_uno/mingw_intel/uno2cpp.cxx b/bridges/source/cpp_uno/mingw_intel/uno2cpp.cxx
index 0c12fac5c93f..f6b6a1c6511d 100644
--- a/bridges/source/cpp_uno/mingw_intel/uno2cpp.cxx
+++ b/bridges/source/cpp_uno/mingw_intel/uno2cpp.cxx
@@ -44,10 +44,6 @@
#include "share.hxx"
#include "smallstruct.hxx"
-#ifdef __MINGW32__
-#define BROKEN_ALLOCA
-#endif
-
using namespace ::rtl;
using namespace ::com::sun::star::uno;
diff --git a/bridges/source/jni_uno/jni_java2uno.cxx b/bridges/source/jni_uno/jni_java2uno.cxx
index 03c7ef9fbc64..b3b4e5ab8b06 100644
--- a/bridges/source/jni_uno/jni_java2uno.cxx
+++ b/bridges/source/jni_uno/jni_java2uno.cxx
@@ -41,10 +41,6 @@
#include <algorithm>
-#ifdef __MINGW32__
-#define BROKEN_ALLOCA
-#endif
-
using namespace ::rtl;
namespace jni_uno
diff --git a/bridges/source/jni_uno/jni_uno2java.cxx b/bridges/source/jni_uno/jni_uno2java.cxx
index d9ad7f92b124..50c551427959 100644
--- a/bridges/source/jni_uno/jni_uno2java.cxx
+++ b/bridges/source/jni_uno/jni_uno2java.cxx
@@ -40,10 +40,6 @@
#include "jni_bridge.h"
-#ifdef __MINGW32__
-#define BROKEN_ALLOCA
-#endif
-
using namespace ::std;
using namespace ::rtl;
diff --git a/bridges/source/jni_uno/makefile.mk b/bridges/source/jni_uno/makefile.mk
index 36f6ffbde5b9..d020eb7e91a1 100644
--- a/bridges/source/jni_uno/makefile.mk
+++ b/bridges/source/jni_uno/makefile.mk
@@ -47,6 +47,12 @@ nojava:
# --- Files --------------------------------------------------------
+.IF "$(GUI)$(COM)" == "WNTGCC"
+.IF "$(EXCEPTIONS)" == "sjlj"
+CFLAGS += -DBROKEN_ALLOCA
+.ENDIF
+.ENDIF
+
SLOFILES= \
$(SLO)$/jni_info.obj \
$(SLO)$/jni_data.obj \
diff --git a/sal/systools/win32/uwinapi/makefile.mk b/sal/systools/win32/uwinapi/makefile.mk
index e2a91cf3fd03..52a8561588c2 100644
--- a/sal/systools/win32/uwinapi/makefile.mk
+++ b/sal/systools/win32/uwinapi/makefile.mk
@@ -142,7 +142,9 @@ STDSHL=
.IF "$(COM)"=="GCC"
SHL1STDLIBS=\
-lmingw32 \
- -lgcc
+ $(MINGW_LIBGCC)
+MINGWSSTDOBJ=
+MINGWSSTDENDOBJ=
.ELSE
SHL1STDLIBS=\
unicows.lib
diff --git a/sal/util/makefile.mk b/sal/util/makefile.mk
index f56e6f88f058..bc8026aa860f 100644
--- a/sal/util/makefile.mk
+++ b/sal/util/makefile.mk
@@ -113,6 +113,10 @@ SHL1STDLIBS= \
$(COMDLG32LIB)\
$(USER32LIB)\
$(OLE32LIB)
+.IF "$(COM)"=="GCC"
+MINGWSSTDOBJ=
+MINGWSSTDENDOBJ=
+.ENDIF
.ENDIF # WNT
.IF "$(GUI)"=="UNX"