summaryrefslogtreecommitdiff
path: root/objective-c/src
diff options
context:
space:
mode:
authorBenoit Foucher <benoit@zeroc.com>2015-09-24 19:08:04 +0200
committerBenoit Foucher <benoit@zeroc.com>2015-09-24 19:08:04 +0200
commiteb256d7bbb92eb0a3ba9841c3f0ed517aa2ddb31 (patch)
tree6c6061ec7a2debcb9931797e041cf1a536d3a5db /objective-c/src
parentJS test suite minor fix for NodeJS (diff)
downloadice-eb256d7bbb92eb0a3ba9841c3f0ed517aa2ddb31.tar.bz2
ice-eb256d7bbb92eb0a3ba9841c3f0ed517aa2ddb31.tar.xz
ice-eb256d7bbb92eb0a3ba9841c3f0ed517aa2ddb31.zip
Fixed ICE-6811 - ElCapitan build errors
Diffstat (limited to 'objective-c/src')
-rw-r--r--objective-c/src/Ice/Makefile19
1 files changed, 19 insertions, 0 deletions
diff --git a/objective-c/src/Ice/Makefile b/objective-c/src/Ice/Makefile
index 50fd9aa6425..23d758ce625 100644
--- a/objective-c/src/Ice/Makefile
+++ b/objective-c/src/Ice/Makefile
@@ -84,9 +84,28 @@ SDIR = $(slicedir)/Ice
include $(top_srcdir)/config/Make.rules
+#
+# Set RPATH to the cpp/lib directory or Ice installation lib directory. Note that unlike Linux
+# platforms, we always set the RPATH for source builds on OS X. This is required because we
+# can no longer rely on DYLD_LIBRARY_PATH on El Capitan. The RPATH is updated when the library
+# is installed (see cpp/config/Make.rules.Darwin).
+#
+ifdef ice_src_dist
+ RPATH_DIR = @loader_path/../../cpp/$(libsubdir)
+else
+ RPATH_DIR = $(ice_dir)/$(libsubdir)
+endif
+
+ifdef usr_dir_install
+ installlib += ; install_name_tool -delete_rpath $(RPATH_DIR) $(1)/$(3)
+else ifdef ice_src_dist
+ installlib += ; install_name_tool -delete_rpath $(RPATH_DIR) $(1)/$(3)
+endif
+
CPPFLAGS := -I. -I$(ice_cpp_dir)/include -DICE_API_EXPORTS $(CPPFLAGS)
SLICE2OBJCFLAGS := --ice --include-dir objc/Ice --dll-export ICE_API $(SLICE2OBJCFLAGS)
LINKWITH := $(BASELIBS)
+LDFLAGS := -Wl,-rpath,$(RPATH_DIR) $(LDFLAGS)
$(libdir)/$(LIBFILENAME): $(OBJS)
rm -f $@