From a7098c77b37106e88cd23c9caaf0d31eaa0d5cba Mon Sep 17 00:00:00 2001 From: Tor Lillqvist Date: Wed, 16 May 2012 23:50:00 +0300 Subject: Move the RPATH enforcement to icu4c-rpath.patch and skip that for Android We might eventually want to use Mike Hommey's "faulty.lib" dynamic linker (developed for Firefox on Android) to get around the Android system dynamic linker's silly limitations. It does not like DT_RPATH. (The Android system dynamic linker just ignores those.) So no point putting RPATH into the ICU libs for Android. Note that the faulty.lib linker is not usable currently because it doesn't like the text relocations that the NDK r8 toolchain generates for some reason. Sigh. Change-Id: I9092c6001f0aadbb30e2682e33e7179520846f3b --- icu/icu4c-build.patch | 14 -------------- icu/icu4c-rpath.patch | 14 ++++++++++++++ icu/makefile.mk | 4 +++- 3 files changed, 17 insertions(+), 15 deletions(-) (limited to 'icu') diff --git a/icu/icu4c-build.patch b/icu/icu4c-build.patch index 8082fc1ea135..6ab5ea3c2e14 100644 --- a/icu/icu4c-build.patch +++ b/icu/icu4c-build.patch @@ -98,20 +98,6 @@ ## Remove shared library 's' STATIC_PREFIX_WHEN_USED = ---- misc/icu/source/config/mh-linux 2010-09-29 20:37:36.000000000 +0200 -+++ misc/build/icu/source/config/mh-linux 2011-03-15 10:56:26.653056004 +0100 -@@ -20,6 +20,11 @@ - LD_RPATH= -Wl,-zorigin,-rpath,'$$'ORIGIN - LD_RPATH_PRE = -Wl,-rpath, - -+## Force RPATH=$ORIGIN to locate own dependencies w/o need for LD_LIBRARY_PATH -+## (incl. the C++ runtime libs potentially found in the URE lib dir): -+ENABLE_RPATH=YES -+RPATHLDFLAGS=${LD_RPATH_PRE}'$$ORIGIN:$$ORIGIN/../ure-link/lib' -+ - ## These are the library specific LDFLAGS - LDFLAGSICUDT=-nodefaultlibs -nostdlib - --- misc/icu/source/layout/ArabicShaping.cpp 2010-09-29 20:38:38.000000000 +0200 +++ misc/build/icu/source/layout/ArabicShaping.cpp 2011-03-15 10:56:26.655056238 +0100 @@ -79,7 +79,6 @@ diff --git a/icu/icu4c-rpath.patch b/icu/icu4c-rpath.patch index 5094a05ae56c..bd625e9e96ce 100644 --- a/icu/icu4c-rpath.patch +++ b/icu/icu4c-rpath.patch @@ -19,3 +19,17 @@ @echo LDICUDTFLAGS=$(LDFLAGSICUDT) >> $(OUTPUTFILE) @echo LD_SONAME=$(LD_SONAME) >> $(OUTPUTFILE) @echo RPATH_FLAGS=$(RPATH_FLAGS) >> $(OUTPUTFILE) +--- misc/icu/source/config/mh-linux 2010-09-29 20:37:36.000000000 +0200 ++++ misc/build/icu/source/config/mh-linux 2011-03-15 10:56:26.653056004 +0100 +@@ -20,6 +20,11 @@ + LD_RPATH= -Wl,-zorigin,-rpath,'$$'ORIGIN + LD_RPATH_PRE = -Wl,-rpath, + ++## Force RPATH=$ORIGIN to locate own dependencies w/o need for LD_LIBRARY_PATH ++## (incl. the C++ runtime libs potentially found in the URE lib dir): ++ENABLE_RPATH=YES ++RPATHLDFLAGS=${LD_RPATH_PRE}'$$ORIGIN:$$ORIGIN/../ure-link/lib' ++ + ## These are the library specific LDFLAGS + LDFLAGSICUDT=-nodefaultlibs -nostdlib + diff --git a/icu/makefile.mk b/icu/makefile.mk index 38bbcddedd93..afedbbce8d1d 100644 --- a/icu/makefile.mk +++ b/icu/makefile.mk @@ -46,7 +46,6 @@ TARFILE_ROOTDIR=icu PATCH_FILES=\ icu4c-build.patch \ - icu4c-rpath.patch \ icu4c.8320.freeserif.crash.patch \ icu4c-aix.patch \ icu4c-wchar_t.patch \ @@ -58,6 +57,9 @@ PATCH_FILES=\ .IF "$(OS)"=="ANDROID" PATCH_FILES+=\ icu4c-android.patch +.ELSE +PATCH_FILES+=\ + icu4c-rpath.patch .ENDIF .IF "$(GUI)"=="UNX" -- cgit