diff options
author | Huang-Ming Huang <huangh@ociweb.com> | 2016-09-21 13:13:34 -0500 |
---|---|---|
committer | Huang-Ming Huang <huangh@ociweb.com> | 2016-09-21 13:13:34 -0500 |
commit | e96e1a5f6dedc9931373e6619a6eddfd092cd144 (patch) | |
tree | aaa91f704dabf8fcff2c3ba78081704987e14051 | |
parent | 91dfcf284a254229c8136bbb85d3b0373d31ba35 (diff) | |
download | ATCD-e96e1a5f6dedc9931373e6619a6eddfd092cd144.tar.gz |
Support MacOSX El Capitan without disabling the default System Integrity Protection mode.
-rw-r--r-- | ACE/ace/config-macosx-leopard.h | 5 | ||||
-rw-r--r-- | ACE/bin/MakeProjectCreator/templates/gnu.mpd | 3 | ||||
-rw-r--r-- | ACE/include/makeinclude/platform_macosx_elcapitan.GNU | 10 |
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))) + + |