summaryrefslogtreecommitdiff
path: root/solenv
diff options
context:
space:
mode:
authorStephan Bergmann <sbergman@redhat.com>2011-09-30 15:36:14 +0200
committerStephan Bergmann <sbergman@redhat.com>2011-09-30 15:37:11 +0200
commit979e2c8f8b9325a5c75bfc1f388aa8f69b988d2c (patch)
tree978118f7c3b0aabfa58786561b624b30c75be3c5 /solenv
parent62892c5cacd0b26f35e567f5a95867a15c807584 (diff)
-fthreadsafe-statics uses a single lock on Mac OS X and thus leads to deadlock.
Diffstat (limited to 'solenv')
-rw-r--r--solenv/gbuild/gbuild.mk4
-rw-r--r--solenv/gbuild/platform/macosx.mk4
-rw-r--r--solenv/inc/settings.mk4
-rw-r--r--solenv/inc/unxmacx.mk3
4 files changed, 15 insertions, 0 deletions
diff --git a/solenv/gbuild/gbuild.mk b/solenv/gbuild/gbuild.mk
index 88a15885e70e..393a25760877 100644
--- a/solenv/gbuild/gbuild.mk
+++ b/solenv/gbuild/gbuild.mk
@@ -259,6 +259,10 @@ ifeq ($(strip $(ENABLE_GRAPHITE)),TRUE)
gb_GLOBALDEFS += -DENABLE_GRAPHITE
endif
+ifeq ($(HAVE_THREADSAFE_STATICS),TRUE)
+gb_GLOBALDEFS += -DHAVE_THREADSAFE_STATICS
+endif
+
gb_GLOBALDEFS := $(sort $(gb_GLOBALDEFS))
include $(GBUILDDIR)/Deliver.mk
diff --git a/solenv/gbuild/platform/macosx.mk b/solenv/gbuild/platform/macosx.mk
index b9347d194130..ba1438a80fad 100644
--- a/solenv/gbuild/platform/macosx.mk
+++ b/solenv/gbuild/platform/macosx.mk
@@ -109,6 +109,10 @@ ifeq ($(HAVE_GCC_NO_LONG_DOUBLE),TRUE)
gb_CXXFLAGS += -Wno-long-double
endif
+ifneq ($(HAVE_THREADSAFE_STATICS),TRUE)
+gb_CXXFLAGS += -fno-threadsafe-statics
+endif
+
# these are to get g++ to switch to Objective-C++ mode
# (see toolkit module for a case where it is necessary to do it this way)
gb_OBJCXXFLAGS := -x objective-c++ -fobjc-exceptions
diff --git a/solenv/inc/settings.mk b/solenv/inc/settings.mk
index 6030f138a5a5..553d6650ecfe 100644
--- a/solenv/inc/settings.mk
+++ b/solenv/inc/settings.mk
@@ -1195,6 +1195,10 @@ CFLAGS+=-DENABLE_LAYOUT_EXPERIMENTAL=0
CDEFS+=-DGSTREAMER
.ENDIF
+.IF "$(HAVE_THREADSAFE_STATICS)" == "TRUE"
+CDEFS += -DHAVE_THREADSAFE_STATICS
+.END
+
# compose flags and defines for GUI
.IF "$(TARGETTYPE)"=="GUI"
CDEFS+= $(CDEFSGUI)
diff --git a/solenv/inc/unxmacx.mk b/solenv/inc/unxmacx.mk
index 17575ad741f5..18fd01e78f22 100644
--- a/solenv/inc/unxmacx.mk
+++ b/solenv/inc/unxmacx.mk
@@ -113,6 +113,9 @@ CFLAGSCXX=-pipe -malign-natural -fsigned-char $(ARCH_FLAGS) -Wno-ctor-dtor-priva
.IF "$(HAVE_GCC_NO_LONG-DOUBLE)" == "TRUE"
CFLAGSCXX+= -Wno-long-double
.ENDIF
+.IF "$(HAVE_THREADSAFE_STATICS)" != "TRUE"
+CFLAGSCXX += -fno-threadsafe-statics
+.ENDIF
PICSWITCH:=-fPIC
# Other flags