summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHuang-Ming Huang <huangh@ociweb.com>2016-09-21 13:13:34 -0500
committerHuang-Ming Huang <huangh@ociweb.com>2016-09-21 13:13:34 -0500
commite96e1a5f6dedc9931373e6619a6eddfd092cd144 (patch)
treeaaa91f704dabf8fcff2c3ba78081704987e14051
parent91dfcf284a254229c8136bbb85d3b0373d31ba35 (diff)
downloadATCD-e96e1a5f6dedc9931373e6619a6eddfd092cd144.tar.gz
Support MacOSX El Capitan without disabling the default System Integrity Protection mode.
-rw-r--r--ACE/ace/config-macosx-leopard.h5
-rw-r--r--ACE/bin/MakeProjectCreator/templates/gnu.mpd3
-rw-r--r--ACE/include/makeinclude/platform_macosx_elcapitan.GNU10
3 files changed, 17 insertions, 1 deletions
diff --git a/ACE/ace/config-macosx-leopard.h b/ACE/ace/config-macosx-leopard.h
index 1b9b90d1344..60fe9851162 100644
--- a/ACE/ace/config-macosx-leopard.h
+++ b/ACE/ace/config-macosx-leopard.h
@@ -4,6 +4,8 @@
#ifndef ACE_CONFIG_MACOSX_LEOPARD_H
#define ACE_CONFIG_MACOSX_LEOPARD_H
+#include <Availability.h>
+
#define ACE_HAS_MAC_OSX
#define ACE_HAS_NET_IF_DL_H
@@ -205,10 +207,11 @@
#endif
#define ACE_LACKS_CONDATTR_SETCLOCK
+#if __MAC_OS_X_VERSION_MAX_ALLOWED < 101200
#define ACE_LACKS_CLOCKID_T
#define ACE_LACKS_CLOCK_MONOTONIC
#define ACE_LACKS_CLOCK_REALTIME
-
+#endif
// dlcompat package (not part of base Darwin) is needed for dlopen().
// You may download directly from sourceforge and install or use fink
// Fink installer puts libraries in /sw/lib and headers in /sw/include
diff --git a/ACE/bin/MakeProjectCreator/templates/gnu.mpd b/ACE/bin/MakeProjectCreator/templates/gnu.mpd
index bf5278c0d14..bed9ed41422 100644
--- a/ACE/bin/MakeProjectCreator/templates/gnu.mpd
+++ b/ACE/bin/MakeProjectCreator/templates/gnu.mpd
@@ -93,6 +93,9 @@ IDL_DEPS<%forcount%> = <%idl_file%>
<%endif%>
<%vpath%>
+
+LIBPATHS := <%libpaths%>
+
#----------------------------------------------------------------------------
# Include macros and targets
#----------------------------------------------------------------------------
diff --git a/ACE/include/makeinclude/platform_macosx_elcapitan.GNU b/ACE/include/makeinclude/platform_macosx_elcapitan.GNU
index 9d3c12028a2..d50bd5f5fe8 100644
--- a/ACE/include/makeinclude/platform_macosx_elcapitan.GNU
+++ b/ACE/include/makeinclude/platform_macosx_elcapitan.GNU
@@ -1,3 +1,13 @@
+ssl?=0
include $(ACE_ROOT)/include/makeinclude/platform_macosx_yosemite.GNU
+## The following is to circumvent the restriction of System Integrity Protection (SIP) on Mac OS X El Capitan
+## by embedding the path information of dynamic libraries into the executables.
+
+SOFLAGS += -install_name @rpath/$@
+space := $(subst ,, )
+
+LDFLAGS += $(foreach libpath,$(LIBPATHS),-rpath $(if $(filter "/%,$(subst $(space),;,$(libpath))),$(libpath),@executable_path/$(libpath)))
+
+