--- icu4c-55.1/source/common/Makefile.in.orig Fri Mar 27 22:10:40 2015 +++ icu4c-55.1/source/common/Makefile.in Wed Jul 29 05:59:11 2015 @@ -77,7 +77,7 @@ # $(LIBICUDT) is either stub data or the real DLL common data. LIBS = $(LIBICUDT) $(DEFAULT_LIBS) -OBJECTS = errorcode.o putil.o umath.o utypes.o uinvchar.o umutex.o ucln_cmn.o \ +OBJECTS = errorcode.o c_origin.o putil.o umath.o utypes.o uinvchar.o umutex.o ucln_cmn.o \ uinit.o uobject.o cmemory.o charstr.o \ udata.o ucmndata.o udatamem.o umapfile.o udataswp.o ucol_swp.o utrace.o \ uhash.o uhash_us.o uenum.o ustrenum.o uvector.o ustack.o uvectr32.o uvectr64.o \ --- icu4c-55.1/source/common/icuplug.cpp.orig Fri Mar 27 22:10:42 2015 +++ icu4c-55.1/source/common/icuplug.cpp Wed Jul 29 09:35:31 2015 @@ -20,6 +20,7 @@ #include "putilimp.h" #include "ucln.h" #include +#include "c_origin.h" #ifdef __MVS__ /* defined by z/OS compiler */ #define _POSIX_SOURCE #include /* 12 Nov 2011 JAM iscics() function */ @@ -727,7 +728,9 @@ #if defined(DEFAULT_ICU_PLUGINS) if(plugin_dir.isEmpty()) { - plugin_dir.append(DEFAULT_ICU_PLUGINS, -1, *status); + char *path = get_origin_rel(1, "lib/icu", DEFAULT_ICU_PLUGINS); + plugin_dir.append(path, -1, *status); + free(path); } #endif --- icu4c-55.1/source/common/putil.cpp.orig Fri Mar 27 22:10:36 2015 +++ icu4c-55.1/source/common/putil.cpp Wed Jul 29 09:42:21 2015 @@ -53,6 +53,7 @@ #include "locmap.h" #include "ucln_cmn.h" #include "charstr.h" +#include "c_origin.h" /* Include standard headers. */ #include @@ -1280,11 +1281,12 @@ #endif if(path==NULL) { - /* It looks really bad, set it to something. */ - path = ""; - } - - u_setDataDirectory(path); + char *p = get_origin_rel(1, "share/icu", ""); + u_setDataDirectory(p); + free(p); + } else { + u_setDataDirectory(path); + } return; }