diff options
author | Jose <jose@zeroc.com> | 2011-12-19 21:28:41 +0100 |
---|---|---|
committer | Jose <jose@zeroc.com> | 2011-12-19 21:28:41 +0100 |
commit | 76abb37f61e8d77b2550492cf00870514e8c1385 (patch) | |
tree | 3c751699bf2faee80c122628c20436e22954e110 /cpp | |
parent | ICE-4758 VSAddin does not compile from command line (diff) | |
download | ice-76abb37f61e8d77b2550492cf00870514e8c1385.tar.bz2 ice-76abb37f61e8d77b2550492cf00870514e8c1385.tar.xz ice-76abb37f61e8d77b2550492cf00870514e8c1385.zip |
ICE-4298 Add build-time option for setting default mutex protocol
Diffstat (limited to 'cpp')
-rw-r--r-- | cpp/config/Make.rules | 9 | ||||
-rw-r--r-- | cpp/include/IceUtil/Config.h | 6 | ||||
-rw-r--r-- | cpp/src/IceUtil/Makefile | 2 | ||||
-rw-r--r-- | cpp/src/IceUtil/MutexProtocol.cpp | 6 |
4 files changed, 15 insertions, 8 deletions
diff --git a/cpp/config/Make.rules b/cpp/config/Make.rules index f7dc4912a5b..cdaaed94b0c 100644 --- a/cpp/config/Make.rules +++ b/cpp/config/Make.rules @@ -127,6 +127,11 @@ USE_READLINE ?= no # #CXXARCHFLAGS = -arch i386 -arch x86_64 +# +# Default Mutex protocol: one of PrioNone or PrioInherit. +# +#DEFAULT_MUTEX_PROTOCOL ?= PrioNone + # ---------------------------------------------------------------------- # Don't change anything below this line! # ---------------------------------------------------------------------- @@ -177,6 +182,10 @@ else create_runpath_symlink = no endif +ifeq ($(DEFAULT_MUTEX_PROTOCOL), PrioInherit) + ICEUTIL_FLAGS = -DPRIO_INHERIT +endif + OPENSSL_FLAGS = $(if $(OPENSSL_HOME),-I$(OPENSSL_HOME)/include) OPENSSL_LIBS = $(if $(OPENSSL_HOME),-L$(OPENSSL_HOME)/$(libsubdir)) -lssl -lcrypto OPENSSL_RPATH_LINK = $(if $(OPENSSL_HOME),$(call rpathlink,$(OPENSSL_HOME)/$(libsubdir))) diff --git a/cpp/include/IceUtil/Config.h b/cpp/include/IceUtil/Config.h index 94e72f1380c..643b30bfcbf 100644 --- a/cpp/include/IceUtil/Config.h +++ b/cpp/include/IceUtil/Config.h @@ -241,10 +241,4 @@ public: } #endif - -// -// The default Mutex protocol -// -#define ICE_DEFAULT_MUTEX_PROTOCOL PrioNone - #endif diff --git a/cpp/src/IceUtil/Makefile b/cpp/src/IceUtil/Makefile index 099c45e8e2c..875415f9b97 100644 --- a/cpp/src/IceUtil/Makefile +++ b/cpp/src/IceUtil/Makefile @@ -43,7 +43,7 @@ SRCS = $(OBJS:.o=.cpp) include $(top_srcdir)/config/Make.rules -CPPFLAGS := $(CPPFLAGS) -DICE_UTIL_API_EXPORTS -I.. +CPPFLAGS := $(CPPFLAGS) $(ICEUTIL_FLAGS) -DICE_UTIL_API_EXPORTS -I.. LINKWITH := $(STLPORT_LIBS) $(ICEUTIL_OS_LIBS) diff --git a/cpp/src/IceUtil/MutexProtocol.cpp b/cpp/src/IceUtil/MutexProtocol.cpp index d181c0160ab..ab50c8cc420 100644 --- a/cpp/src/IceUtil/MutexProtocol.cpp +++ b/cpp/src/IceUtil/MutexProtocol.cpp @@ -7,6 +7,10 @@ IceUtil::getDefaultMutexProtocol() #ifdef _WIN32 return PrioNone; #else - return ICE_DEFAULT_MUTEX_PROTOCOL; +# if defined(PRIO_INHERIT) && defined(_POSIX_THREAD_PRIO_INHERIT) && _POSIX_THREAD_PRIO_INHERIT > 0 + return PrioInherit; +# else + return PrioNone; +# endif #endif } |