office-gobmx/icu/icu4c-rpath.patch
Tor Lillqvist a7098c77b3 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
2012-05-17 00:07:13 +03:00

35 lines
1.5 KiB
Diff

--- misc/icu/source/data/pkgdataMakefile.in 2010-12-22 23:44:02.000000000 +0100
+++ misc/build/icu/source/data/pkgdataMakefile.in 2011-01-03 17:52:44.000000000 +0100
@@ -15,6 +15,9 @@ include $(top_builddir)/icudefs.mk
OUTPUTFILE=icupkg.inc
MIDDLE_SO_TARGET=
+# escape $ with \ when passing to echo; needed to preserve $ORIGIN
+SHLIB.c.shell := $(subst $$,\$$,$(SHLIB.c))
+
all : clean
@echo GENCCODE_ASSEMBLY_TYPE=$(GENCCODE_ASSEMBLY) >> $(OUTPUTFILE)
@echo SO=$(SO) >> $(OUTPUTFILE)
@@ -24,7 +27,7 @@ all : clean
@echo LIB_EXT_ORDER=$(FINAL_SO_TARGET) >> $(OUTPUTFILE)
@echo COMPILE="$(COMPILE.c)" >> $(OUTPUTFILE)
@echo LIBFLAGS="-I$(top_srcdir)/common -I$(top_builddir)/common $(SHAREDLIBCPPFLAGS) $(SHAREDLIBCFLAGS)" >> $(OUTPUTFILE)
- @echo GENLIB="$(SHLIB.c)" >> $(OUTPUTFILE)
+ @echo GENLIB="$(SHLIB.c.shell)" >> $(OUTPUTFILE)
@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