diff options
author | Jose <jose@zeroc.com> | 2013-02-01 23:24:19 +0100 |
---|---|---|
committer | Jose <jose@zeroc.com> | 2013-02-01 23:24:19 +0100 |
commit | ae9584247364f32e4308b9fa3d0600d499aee4d0 (patch) | |
tree | d38d3a45d05086f7ac5c1fb109a797efabf69f13 | |
parent | Fix for ICE-5140 - an opaque endpoint which doesn't specify -e is assumed to ... (diff) | |
download | ice-ae9584247364f32e4308b9fa3d0600d499aee4d0.tar.bz2 ice-ae9584247364f32e4308b9fa3d0600d499aee4d0.tar.xz ice-ae9584247364f32e4308b9fa3d0600d499aee4d0.zip |
Fixed (ICE-5211) - use @loader_path in OS X libraries and binaries instead of the hard coding path
26 files changed, 134 insertions, 118 deletions
diff --git a/config/Make.common.rules b/config/Make.common.rules index 62323e9fd54..e88ca01f698 100644 --- a/config/Make.common.rules +++ b/config/Make.common.rules @@ -83,8 +83,8 @@ ifeq ($(LP64),yes) libsubdir := lib$(lp64suffix) binsubdir := bin$(lp64binsuffix) else - libsubdir := lib$(cpp11suffix) - binsubdir := bin$(cpp11suffix) + libsubdir := lib + binsubdir := bin endif # @@ -147,10 +147,10 @@ $(warning Ignoring ICE_HOME environment variable to build current source tree.) # ifneq ($(ICE_HOME),) ifdef slice_translator - ifneq ($(shell test -f $(ICE_HOME)/$(binsubdir)/$(slice_translator) && echo 0), 0) -$(error Unable to find $(slice_translator) in $(ICE_HOME)/$(binsubdir), please verify ICE_HOME is properly configured and Ice is correctly installed.) + ifneq ($(shell test -f $(ICE_HOME)/$(binsubdir)$(cpp11suffix)/$(slice_translator) && echo 0), 0) +$(error Unable to find $(slice_translator) in $(ICE_HOME)/$(binsubdir)$(cpp11suffix), please verify ICE_HOME is properly configured and Ice is correctly installed.) endif - ifeq ($(shell test -f $(ice_dir)/cpp/bin/$(slice_translator) && echo 0), 0) + ifeq ($(shell test -f $(ice_dir)/cpp/bin$(cpp11suffix)/$(slice_translator) && echo 0), 0) $(warning Found $(slice_translator) in both ICE_HOME/bin and $(ice_dir)/cpp/bin, ICE_HOME/bin/$(slice_translator) will be used!) endif ice_cpp_dir = $(ICE_HOME) @@ -174,8 +174,8 @@ $(error slice_translator must be defined) endif ifneq ($(ICE_HOME),) - ifneq ($(shell test -f $(ICE_HOME)/$(binsubdir)/$(slice_translator) && echo 0), 0) -$(error Unable to find $(slice_translator) in $(ICE_HOME)/$(binsubdir), please verify ICE_HOME is properly configured and Ice is correctly installed.) + ifneq ($(shell test -f $(ICE_HOME)/$(binsubdir)$(cpp11suffix)/$(slice_translator) && echo 0), 0) +$(error Unable to find $(slice_translator) in $(ICE_HOME)/$(binsubdir)$(cpp11suffix), please verify ICE_HOME is properly configured and Ice is correctly installed.) endif ice_dir = $(ICE_HOME) else @@ -260,8 +260,10 @@ ifneq ($(ice_dir), /usr) endif endif - ifeq ($(UNAME),Darwin) - export DYLD_LIBRARY_PATH := $(ice_lib_dir):$(DYLD_LIBRARY_PATH) + ifdef ice_src_dist + ifeq ($(UNAME),Darwin) + export DYLD_LIBRARY_PATH := $(ice_lib_dir):$(DYLD_LIBRARY_PATH) + endif endif ifeq ($(UNAME),AIX) diff --git a/cpp/config/Make.rules b/cpp/config/Make.rules index 8c16b33b326..328cd9910c2 100644 --- a/cpp/config/Make.rules +++ b/cpp/config/Make.rules @@ -189,8 +189,8 @@ include $(top_srcdir)/config/Make.rules.$(UNAME) install_includedir := $(prefix)/include install_docdir := $(prefix)/doc -install_bindir := $(prefix)/$(binsubdir) -install_libdir := $(prefix)/$(libsubdir) +install_bindir := $(prefix)/$(binsubdir)$(cpp11suffix) +install_libdir := $(prefix)/$(libsubdir)$(cpp11suffix) install_configdir := $(prefix)/config ifneq ($(embedded_runpath_prefix),) @@ -222,9 +222,9 @@ endif ifneq ($(DB_HOME),) DB_FLAGS = -I$(DB_HOME)/include ifeq ($(DB_LIBS),) - DB_LIBS = -L$(DB_HOME)/$(libsubdir) -ldb_cxx + DB_LIBS = -L$(DB_HOME)/$(libsubdir)$(cpp11suffix) -ldb_cxx endif - DB_RPATH_LINK = $(call rpathlink,$(DB_HOME)/$(libsubdir)) + DB_RPATH_LINK = $(call rpathlink,$(DB_HOME)/$(libsubdir)$(cpp11suffix)) else ifeq ($(shell if [ -d /usr/include/db53 -a -d /usr/$(libsubdir)/db53 ] ; then echo yes; fi), yes) DB_FLAGS = -I/usr/include/db53 @@ -241,7 +241,7 @@ endif EXPAT_FLAGS = $(if $(EXPAT_HOME),-I$(EXPAT_HOME)/include) ifeq ($(EXPAT_LIBS),) - EXPAT_LIBS = $(if $(EXPAT_HOME),-L$(EXPAT_HOME)/$(libsubdir)) -lexpat + EXPAT_LIBS = $(if $(EXPAT_HOME),-L$(EXPAT_HOME)/$(libsudir)) -lexpat endif EXPAT_RPATH_LINK = $(if $(EXPAT_HOME),$(call rpathlink,$(EXPAT_HOME)/$(libsubdir))) @@ -269,7 +269,7 @@ else ifdef ice_src_dist LDFLAGS = $(LDPLATFORMFLAGS) $(CXXFLAGS) -L$(libdir) else - LDFLAGS = $(LDPLATFORMFLAGS) $(CXXFLAGS) -L$(ice_dir)/$(libsubdir) + LDFLAGS = $(LDPLATFORMFLAGS) $(CXXFLAGS) -L$(ice_dir)/$(libsubdir)$(cpp11suffix) endif endif @@ -293,10 +293,16 @@ ifdef ice_src_dist SLICEPARSERLIB = $(libdir)/$(call mklibfilename,Slice,$(VERSION)) SLICE2CPP = $(bindir)/slice2cpp SLICE2FREEZE = $(bindir)/slice2freeze + ifeq ($(RPATH_DIR),) + RPATH_DIR = @loader_path/$(libdir) + endif else - SLICEPARSERLIB = $(ice_dir)/$(libsubdir)/$(call mklibfilename,Slice,$(VERSION)) - SLICE2CPP = $(ice_dir)/$(binsubdir)/slice2cpp - SLICE2FREEZE = $(ice_dir)/$(binsubdir)/slice2freeze + SLICEPARSERLIB = $(ice_dir)/$(libsubdir)$(cpp11suffix)/$(call mklibfilename,Slice,$(VERSION)) + SLICE2CPP = $(ice_dir)/$(binsubdir)$(cpp11suffix)/slice2cpp + SLICE2FREEZE = $(ice_dir)/$(binsubdir)$(cpp11suffix)/slice2freeze + ifeq ($(RPATH_DIR),) + RPATH_DIR = $(ice_dir)/$(libsubdir)$(cpp11suffix) + endif endif ifeq ($(SLICE_LIBS),) diff --git a/cpp/config/Make.rules.Darwin b/cpp/config/Make.rules.Darwin index f5f8682cdb8..054cf6cad3d 100644 --- a/cpp/config/Make.rules.Darwin +++ b/cpp/config/Make.rules.Darwin @@ -37,13 +37,8 @@ endif # CXXLIBS = -ifneq ($(embedded_runpath_prefix),) - # Only use -rpath if OS X >= 10.5 - release = $(shell uname -r) - ifeq ($(shell test $(firstword $(subst ., ,$(release))) -ge 9 && echo 0),0) - LDPLATFORMFLAGS = -Wl,-rpath,$(runpath_libdir) - endif -endif + +LDPLATFORMFLAGS = -Wl,-rpath,$(RPATH_DIR) ifeq ($(CXX),g++) LDPLATFORMFLAGS += -rdynamic @@ -53,7 +48,7 @@ endif ifdef ice_src_dist shlibldflags = $(CXXFLAGS) -L$(libdir) else - shlibldflags = $(CXXFLAGS) -L$(ice_dir)/$(libsubdir) + shlibldflags = $(CXXFLAGS) -L$(ice_dir)/$(libsubdir)$(cpp11suffix) endif mklibfilename = $(if $(2),lib$(1).$(2).dylib,lib$(1).dylib) @@ -62,27 +57,7 @@ mksoname = $(if $(2),lib$(1).$(2).dylib,lib$(1).dylib) mklibname = lib$(1).dylib curdir = $(shell pwd) -ifneq ($(embedded_runpath_prefix),) - mkshlib = $(CXX) -dynamiclib $(shlibldflags) -o $(1) -install_name $(runpath_libdir)/$(2) $(3) $(4) -else - mkshlib = $(CXX) -dynamiclib $(shlibldflags) -o $(1) -install_name $(2) $(3) $(4) -endif - -ifeq ($(DB_HOME),) - # - # If DB_HOME is not set and the BerkeleyDB library is not at the expected location - # but in the ICE_DIR/lib directory, we set DB_RPATH_LINK to tell the linker where - # to find it. - # - ifndef ice_src_dist - ifeq ($(shell test -f $(ice_dir)/$(libsubdir)/libFreeze.$(VERSION).dylib && echo 0),0) - dblib_install_name=$(firstword $(strip $(shell otool -L $(ice_dir)/$(libsubdir)/libFreeze.$(VERSION).dylib | grep libdb_cxx))) - ifeq ($(shell test ! -f $(dblib_install_name) -a -f $(ice_dir)/$(libsubdir)/$(notdir $(dblib_install_name)) && echo 0),0) - DB_RPATH_LINK=-dylib_file $(dblib_install_name):$(ice_dir)/$(libsubdir)/$(notdir $(dblib_install_name)) - endif - endif - endif -endif +mkshlib = $(CXX) -dynamiclib $(shlibldflags) -o $(1) -install_name @rpath/$(2) $(3) $(4) # # Avoid OpenSSL deprecation warnings on OS X diff --git a/cpp/src/FreezeScript/Makefile b/cpp/src/FreezeScript/Makefile index 55cab10a8a2..aefbc02cc44 100644 --- a/cpp/src/FreezeScript/Makefile +++ b/cpp/src/FreezeScript/Makefile @@ -37,6 +37,12 @@ SRCS = $(COMMON_OBJS:.o=.cpp) $(TRANSFORM_OBJS:.o=.cpp) $(DUMP_OBJS:.o=.cpp) HDIR = $(headerdir)/FreezeScript +ifeq ($(CPP11),yes) +RPATH_DIR = @loader_path/../../lib/c++11 +else +RPATH_DIR = @loader_path/../lib +endif + include $(top_srcdir)/config/Make.rules CPPFLAGS := -I.. $(CPPFLAGS) $(DB_FLAGS) diff --git a/cpp/src/Glacier2/Makefile b/cpp/src/Glacier2/Makefile index 54d695202b3..17fcd86fe47 100644 --- a/cpp/src/Glacier2/Makefile +++ b/cpp/src/Glacier2/Makefile @@ -31,6 +31,7 @@ OBJS = Blobject.o \ SRCS = $(OBJS:.o=.cpp) SLICE_SRCS = Instrumentation.ice +RPATH_DIR = @loader_path/../lib include $(top_srcdir)/config/Make.rules diff --git a/cpp/src/IceBox/Makefile b/cpp/src/IceBox/Makefile index 9039c7a0c52..a734126913d 100644 --- a/cpp/src/IceBox/Makefile +++ b/cpp/src/IceBox/Makefile @@ -36,6 +36,11 @@ SLICE_SRCS = $(SDIR)/IceBox.ice HDIR = $(headerdir)/IceBox SDIR = $(slicedir)/IceBox +ifeq ($(CPP11),yes) +RPATH_DIR = @loader_path/../../lib/c++11 +else +RPATH_DIR = @loader_path/../lib +endif include $(top_srcdir)/config/Make.rules diff --git a/cpp/src/IceGrid/Makefile b/cpp/src/IceGrid/Makefile index 49fc81d4ae6..b1d86701bfb 100644 --- a/cpp/src/IceGrid/Makefile +++ b/cpp/src/IceGrid/Makefile @@ -91,6 +91,12 @@ SLICE_SRCS = ../IceGrid/Internal.ice HDIR = $(headerdir)/IceGrid SDIR = $(slicedir)/IceGrid +ifeq ($(CPP11),yes) +RPATH_DIR = @loader_path/../../lib/c++11 +else +RPATH_DIR = @loader_path/../lib +endif + include $(top_srcdir)/config/Make.rules CPPFLAGS := $(CPPFLAGS) -I.. $(OPENSSL_FLAGS) $(READLINE_FLAGS) diff --git a/cpp/src/IcePatch2/Makefile b/cpp/src/IcePatch2/Makefile index 1af3f6a3f96..739f0924c5f 100644 --- a/cpp/src/IcePatch2/Makefile +++ b/cpp/src/IcePatch2/Makefile @@ -26,6 +26,12 @@ SRCS = $(SOBJS:.o=.cpp) \ $(COBJS:.o=.cpp) \ $(CALCOBJS:.o=.cpp) +ifeq ($(CPP11),yes) +RPATH_DIR = @loader_path/../../lib/c++11 +else +RPATH_DIR = @loader_path/../lib +endif + include $(top_srcdir)/config/Make.rules CPPFLAGS := -I. -I.. $(CPPFLAGS) $(OPENSSL_FLAGS) $(BZIP2_FLAGS) diff --git a/cpp/src/IceStorm/Makefile b/cpp/src/IceStorm/Makefile index 486feda466c..ce1df2ef93e 100644 --- a/cpp/src/IceStorm/Makefile +++ b/cpp/src/IceStorm/Makefile @@ -57,6 +57,12 @@ SLICE_SRCS = ../IceStorm/Instrumentation.ice \ HDIR = $(headerdir)/IceStorm SDIR = $(slicedir)/IceStorm +ifeq ($(CPP11),yes) +RPATH_DIR = @loader_path/../../lib/c++11 +else +RPATH_DIR = @loader_path/../lib +endif + include $(top_srcdir)/config/Make.rules CPPFLAGS := $(CPPFLAGS) -I.. -DICESTORM_SERVICE_API_EXPORTS $(READLINE_FLAGS) diff --git a/cpp/src/slice2confluence/Makefile b/cpp/src/slice2confluence/Makefile index 9f208b78d42..e089f793a3a 100644 --- a/cpp/src/slice2confluence/Makefile +++ b/cpp/src/slice2confluence/Makefile @@ -19,6 +19,12 @@ OBJS = Gen.o \ SRCS = $(OBJS:.o=.cpp) +ifeq ($(CPP11),yes) +RPATH_DIR = @loader_path/../../lib/c++11 +else +RPATH_DIR = @loader_path/../lib +endif + include $(top_srcdir)/config/Make.rules CPPFLAGS := -I. $(CPPFLAGS) diff --git a/cpp/src/slice2cpp/Makefile b/cpp/src/slice2cpp/Makefile index 23878a96552..2422a83f79b 100644 --- a/cpp/src/slice2cpp/Makefile +++ b/cpp/src/slice2cpp/Makefile @@ -18,6 +18,12 @@ OBJS = Gen.o \ SRCS = $(OBJS:.o=.cpp) +ifeq ($(CPP11),yes) +RPATH_DIR = @loader_path/../../lib/c++11 +else +RPATH_DIR = @loader_path/../lib +endif + include $(top_srcdir)/config/Make.rules CPPFLAGS := -I. $(CPPFLAGS) diff --git a/cpp/src/slice2cs/Makefile b/cpp/src/slice2cs/Makefile index 80fe27c260d..983407fc6a4 100644 --- a/cpp/src/slice2cs/Makefile +++ b/cpp/src/slice2cs/Makefile @@ -18,6 +18,12 @@ OBJS = Gen.o \ SRCS = $(OBJS:.o=.cpp) +ifeq ($(CPP11),yes) +RPATH_DIR = @loader_path/../../lib/c++11 +else +RPATH_DIR = @loader_path/../lib +endif + include $(top_srcdir)/config/Make.rules CPPFLAGS := -I. $(CPPFLAGS) diff --git a/cpp/src/slice2freeze/Makefile b/cpp/src/slice2freeze/Makefile index fd2bbf3d914..eaadda3cbac 100644 --- a/cpp/src/slice2freeze/Makefile +++ b/cpp/src/slice2freeze/Makefile @@ -17,6 +17,12 @@ OBJS = Main.o SRCS = $(OBJS:.o=.cpp) +ifeq ($(CPP11),yes) +RPATH_DIR = @loader_path/../../lib/c++11 +else +RPATH_DIR = @loader_path/../lib +endif + include $(top_srcdir)/config/Make.rules CPPFLAGS := -I. $(CPPFLAGS) diff --git a/cpp/src/slice2freezej/Makefile b/cpp/src/slice2freezej/Makefile index cd08aef06fb..5e618c5ec1e 100644 --- a/cpp/src/slice2freezej/Makefile +++ b/cpp/src/slice2freezej/Makefile @@ -17,6 +17,12 @@ OBJS = Main.o SRCS = $(OBJS:.o=.cpp) +ifeq ($(CPP11),yes) +RPATH_DIR = @loader_path/../../lib/c++11 +else +RPATH_DIR = @loader_path/../lib +endif + include $(top_srcdir)/config/Make.rules CPPFLAGS := -I. $(CPPFLAGS) diff --git a/cpp/src/slice2html/Makefile b/cpp/src/slice2html/Makefile index db66645c7e6..cbee8632156 100644 --- a/cpp/src/slice2html/Makefile +++ b/cpp/src/slice2html/Makefile @@ -18,6 +18,12 @@ OBJS = Gen.o \ SRCS = $(OBJS:.o=.cpp) +ifeq ($(CPP11),yes) +RPATH_DIR = @loader_path/../../lib/c++11 +else +RPATH_DIR = @loader_path/../lib +endif + include $(top_srcdir)/config/Make.rules CPPFLAGS := -I. $(CPPFLAGS) diff --git a/cpp/src/slice2java/Makefile b/cpp/src/slice2java/Makefile index e21e18b0d27..c5c28ed2d1d 100644 --- a/cpp/src/slice2java/Makefile +++ b/cpp/src/slice2java/Makefile @@ -18,6 +18,12 @@ OBJS = Gen.o \ SRCS = $(OBJS:.o=.cpp) +ifeq ($(CPP11),yes) +RPATH_DIR = @loader_path/../../lib/c++11 +else +RPATH_DIR = @loader_path/../lib +endif + include $(top_srcdir)/config/Make.rules CPPFLAGS := -I. $(CPPFLAGS) diff --git a/cpp/src/slice2php/Makefile b/cpp/src/slice2php/Makefile index a897e731637..b9a424bcfac 100644 --- a/cpp/src/slice2php/Makefile +++ b/cpp/src/slice2php/Makefile @@ -17,6 +17,12 @@ OBJS = Main.o SRCS = $(OBJS:.o=.cpp) +ifeq ($(CPP11),yes) +RPATH_DIR = @loader_path/../../lib/c++11 +else +RPATH_DIR = @loader_path/../lib +endif + include $(top_srcdir)/config/Make.rules CPPFLAGS := -I. $(CPPFLAGS) diff --git a/cpp/src/slice2py/Makefile b/cpp/src/slice2py/Makefile index caff4973fe4..7757501aa14 100644 --- a/cpp/src/slice2py/Makefile +++ b/cpp/src/slice2py/Makefile @@ -17,6 +17,12 @@ OBJS = Main.o SRCS = $(OBJS:.o=.cpp) +ifeq ($(CPP11),yes) +RPATH_DIR = @loader_path/../../lib/c++11 +else +RPATH_DIR = @loader_path/../lib +endif + include $(top_srcdir)/config/Make.rules CPPFLAGS := -I. $(CPPFLAGS) diff --git a/cpp/src/slice2rb/Makefile b/cpp/src/slice2rb/Makefile index 7e91e778da1..f56dbd07c07 100644 --- a/cpp/src/slice2rb/Makefile +++ b/cpp/src/slice2rb/Makefile @@ -17,6 +17,12 @@ OBJS = Main.o SRCS = $(OBJS:.o=.cpp) +ifeq ($(CPP11),yes) +RPATH_DIR = @loader_path/../../lib/c++11 +else +RPATH_DIR = @loader_path/../lib +endif + include $(top_srcdir)/config/Make.rules CPPFLAGS := -I. $(CPPFLAGS) diff --git a/distribution/lib/DistUtils.py b/distribution/lib/DistUtils.py index f5764bc595f..0dcf4224ee1 100644 --- a/distribution/lib/DistUtils.py +++ b/distribution/lib/DistUtils.py @@ -784,66 +784,7 @@ class Darwin(Platform): return "-j 8" def completeDistribution(self, buildDir, version): - - print "Remove c++11 executables other than icebox", - for root, dirnames, filenames in os.walk(os.path.join(buildDir, "bin", "c++11")): - for f in filenames: - if f != "icebox": - os.remove(os.path.join(buildDir, "bin", "c++11", f)) - print "ok" - - print "Fixing install names...", - sys.stdout.flush() - - isLib = lambda f: (fnmatch.fnmatch(f, "*dylib") or fnmatch.fnmatch(f, "*so") \ - or fnmatch.fnmatch(f, "*jnilib")) and not os.path.islink(f) - isExe = lambda f : os.system('file -b ' + f + ' | grep -q "Mach-O"') == 0 - - # - # Find the install names of the third party libraries included with the distribution. - # - oldInstallNames = [] - for t in self.thirdParties: - if t.includeInDistribution(): - for l in filter(isLib, [os.path.join(buildDir, l) for l in t.getFiles(self)]): - p = os.popen('otool -D ' + l + ' | tail -1') - oldInstallNames.append(p.readline().strip()) - p.close() - - # - # Find the binary files included with this distribution. - # - binFiles = [ f for f in glob.glob(os.path.join(buildDir, "bin", "*")) if isExe(f)] - binFiles += [ f for f in glob.glob(os.path.join(buildDir, "lib", "*")) if isLib(f)] - binFiles += [ f for f in glob.glob(os.path.join(buildDir, "python", "*")) if isLib(f)] - - # - # Fix the install names in each binary. - # - mmversion = re.search("([0-9]+\.[0-9b]+)[\.0-9]*", version).group(1) - - for oldName in oldInstallNames: - libName = os.path.basename(oldName) - newName = '/Library/Developer/Ice-' + mmversion + '/lib/' + libName - os.system('install_name_tool -id ' + newName + ' ' + buildDir + '/lib/' + libName) - for f in binFiles: - os.system('install_name_tool -change ' + oldName + ' ' + newName + ' ' + f) - - # - # Fix C++11 binaries and libraries - # - binFiles = [ f for f in glob.glob(os.path.join(buildDir, "bin", "c++11", "*")) if isExe(f)] - binFiles += [ f for f in glob.glob(os.path.join(buildDir, "lib", "c++11", "*")) if isLib(f)] - - for oldName in oldInstallNames: - libName = os.path.basename(oldName) - newName = '/Library/Developer/Ice-' + mmversion + '/lib/c++11/' + libName - os.system('install_name_tool -id ' + newName + ' ' + buildDir + '/lib/c++11/' + libName) - for f in binFiles: - os.system('install_name_tool -change ' + oldName + ' ' + newName + ' ' + f) - - print "ok" - + print "Fixing python location" move(buildDir + '/python', buildDir + '/../python') print "ok" diff --git a/distribution/src/common/Make.rules b/distribution/src/common/Make.rules index 3d8bd79b1e3..d7abd1e2f3a 100644 --- a/distribution/src/common/Make.rules +++ b/distribution/src/common/Make.rules @@ -67,7 +67,7 @@ includedir = $(ice_dir)/include include $(top_srcdir)/config/Make.rules.$(UNAME) ifneq ($(embedded_runpath_prefix),) - runpath_libdir := $(embedded_runpath_prefix)/$(libsubdir) + runpath_libdir := $(embedded_runpath_prefix)/$(libsubdir)$(cpp11suffix) endif ICECPPFLAGS = -I$(slicedir) @@ -78,7 +78,7 @@ ifeq ($(ice_dir), /usr) LDFLAGS = $(LDPLATFORMFLAGS) $(CXXFLAGS) else CPPFLAGS = -I$(includedir) - LDFLAGS = $(LDPLATFORMFLAGS) $(CXXFLAGS) -L$(ice_dir)/$(libsubdir) + LDFLAGS = $(LDPLATFORMFLAGS) $(CXXFLAGS) -L$(ice_dir)/$(libsubdir)$(cpp11suffix) endif ifeq ($(FLEX_NOLINE),yes) @@ -97,9 +97,10 @@ ifeq ($(mkshlib),) $(error You need to define mkshlib in Make.rules.$(UNAME)) endif -SLICEPARSERLIB = $(ice_dir)/$(libsubdir)/$(call mklibfilename,Slice,$(VERSION)) -SLICE2CPP = $(ice_dir)/$(binsubdir)/slice2cpp -SLICE2FREEZE = $(ice_dir)/$(binsubdir)/slice2freeze +SLICEPARSERLIB = $(ice_dir)/$(libsubdir)$(cpp11suffix)/$(call mklibfilename,Slice,$(VERSION)) +SLICE2CPP = $(ice_dir)/$(binsubdir)$(cpp11suffix)/slice2cpp +SLICE2FREEZE = $(ice_dir)/$(binsubdir)$(cpp11suffix)/slice2freeze +RPATH_DIR = $(ice_dir)/$(libsubdir)$(cpp11suffix) EVERYTHING = all clean EVERYTHING_EXCEPT_ALL = clean diff --git a/distribution/src/mac/Ice/resources/intro.txt b/distribution/src/mac/Ice/resources/intro.txt index 1e3b7e7d2ba..5ff25a068ca 100644 --- a/distribution/src/mac/Ice/resources/intro.txt +++ b/distribution/src/mac/Ice/resources/intro.txt @@ -3,6 +3,6 @@ The Internet Communications Engine (Ice) is a modern object-oriented toolkit tha Ice allows you to focus your efforts on your application logic, and it takes care of all interactions with low-level network programming interfaces. With Ice, there is no need to worry about details such as opening network connections, serializing and deserializing data for network transmission, or retrying failed connection attempts (to name but a few of dozens of such low-level details). -Ice is available under the terms and conditions of the GNU General Public License v2. Commercial licenses are available for customers who wish to use Ice in proprietary products. Please contact sales@zeroc.com for more information on licensing Ice Touch. +Ice is available under the terms and conditions of the GNU General Public License v2. Commercial licenses are available for customers who wish to use Ice in proprietary products. Please contact sales@zeroc.com for more information on licensing Ice. You will now be guided through the steps necessary to install this software. diff --git a/distribution/src/mac/Ice/uninstall.sh b/distribution/src/mac/Ice/uninstall.sh index 3d39b6e6a64..762acd99840 100755 --- a/distribution/src/mac/Ice/uninstall.sh +++ b/distribution/src/mac/Ice/uninstall.sh @@ -78,7 +78,7 @@ uninstallPackage () rm -rf $VOLUME$LOCATION/$i fi - if [[ -f $BASE_PATH/$i ]]; then + if [[ -f $BASE_PATH/$i ]] || [[ -L $BASE_PATH/$i ]]; then rm -f $VOLUME$LOCATION/$i fi done diff --git a/php/config/Make.rules.Darwin b/php/config/Make.rules.Darwin index f298eb30f3e..7aa4413b9fa 100644 --- a/php/config/Make.rules.Darwin +++ b/php/config/Make.rules.Darwin @@ -13,4 +13,4 @@ include $(top_srcdir)/../cpp/config/Make.rules.$(UNAME) -shlibldflags = ${wl}-flat_namespace ${wl}-undefined ${wl}suppress +shlibldflags = ${wl}-flat_namespace ${wl}-undefined ${wl}suppress -Wl,-rpath,$(embedded_runpath_prefix)/$(libsubdir) diff --git a/py/config/Make.rules.Darwin b/py/config/Make.rules.Darwin index 66223669606..285223f536a 100644 --- a/py/config/Make.rules.Darwin +++ b/py/config/Make.rules.Darwin @@ -13,8 +13,9 @@ include $(top_srcdir)/../cpp/config/Make.rules.$(UNAME) -mksoname = $(if $(2),lib$(1).$(2).so,lib$(1).so) -mklibname = lib$(1).so +shlibldflags += -Wl,-rpath,$(embedded_runpath_prefix)/$(libsubdir) +mksoname = $(if $(2),lib$(1).$(2).so,lib$(1).so) +mklibname = lib$(1).so # # We require Python to be built as a Framework for the IcePy plug-in. diff --git a/rb/config/Make.rules.Darwin b/rb/config/Make.rules.Darwin index 9a5c3a5e774..ddfa8ed196b 100644 --- a/rb/config/Make.rules.Darwin +++ b/rb/config/Make.rules.Darwin @@ -18,7 +18,7 @@ $(warning ===================================================================) include $(top_srcdir)/../cpp/config/Make.rules.$(UNAME) -shlibldflags = $(CXXFLAGS) -L$(libdir) +shlibldflags = $(CXXFLAGS) -L$(libdir) -Wl,-rpath,$(embedded_runpath_prefix)/$(libsubdir) mkrblibfilename = $(if $(2),$(1).$(2).bundle,$(1).bundle) mkrbsoname = $(if $(2),$(1).$(2).bundle,$(1).bundle) |