summaryrefslogtreecommitdiff
path: root/icu
diff options
context:
space:
mode:
authorTor Lillqvist <tml@iki.fi>2011-05-26 02:58:34 +0300
committerTor Lillqvist <tml@iki.fi>2011-05-26 02:58:34 +0300
commit229b1d0673f17edde20ea01b52bad40164db9828 (patch)
tree6e1c9b9e30f5cd80f1635bf7030d7c089b057f78 /icu
parent315641944d405f9c304ff8e2dc4de22ae99f45fd (diff)
Cross-compilation support and iOS in particular
Diffstat (limited to 'icu')
-rw-r--r--icu/makefile.mk26
-rw-r--r--icu/prj/d.lst7
2 files changed, 32 insertions, 1 deletions
diff --git a/icu/makefile.mk b/icu/makefile.mk
index dbbd4c08d0fd..b23aa6667c1d 100644
--- a/icu/makefile.mk
+++ b/icu/makefile.mk
@@ -96,14 +96,29 @@ LDFLAGSADD+=$(LINKFLAGS) $(LINKFLAGSRUNPATH_OOO)
LDFLAGSADD += -Wl,--hash-style=both
.ENDIF
+.IF "$(OS)"=="IOS"
+# Let's try this...
+icu_CFLAGS+=-DUCONFIG_NO_FILE_IO
+.ENDIF
+
.IF "$(HAVE_LD_BSYMBOLIC_FUNCTIONS)" == "TRUE"
LDFLAGSADD += -Wl,-Bsymbolic-functions -Wl,--dynamic-list-cpp-new -Wl,--dynamic-list-cpp-typeinfo
.ENDIF
CONFIGURE_DIR=source
+.IF "$(OS)"=="IOS"
+STATIC_OR_SHARED=--enable-static --disable-shared
+.ELSE
+STATIC_OR_SHARED==--disable-static --enable-shared
+.ENDIF
+
+.IF "$(CROSS_COMPILING)"!=""
+BUILD_AND_HOST=--build=$(BUILD_PLATFORM) --host=$(HOST_PLATFORM) --with-cross-build=$(ICU_NATIVE_BUILD_ROOT)
+.ENDIF
+
CONFIGURE_ACTION+=sh -c 'CFLAGS="$(icu_CFLAGS)" CXXFLAGS="$(icu_CXXFLAGS)" LDFLAGS="$(icu_LDFLAGS) $(LDFLAGSADD)" \
-./configure --enable-layout --disable-static --enable-shared $(DISABLE_64BIT)'
+./configure --enable-layout $(STATIC_OR_SHARED) $(BUILD_AND_HOST) $(DISABLE_64BIT)'
CONFIGURE_FLAGS=
@@ -116,6 +131,14 @@ CONFIGURE_FLAGS=
BUILD_DIR=$(CONFIGURE_DIR)
BUILD_ACTION=$(AUGMENT_LIBRARY_PATH) $(GNUMAKE) -j$(EXTMAXPROCESS)
+.IF "$(OS)"=="IOS"
+OUT2LIB= \
+ $(BUILD_DIR)$/lib$/libicudata.a \
+ $(BUILD_DIR)$/lib$/libicuuc.a \
+ $(BUILD_DIR)$/lib$/libicui18n.a \
+ $(BUILD_DIR)$/lib$/libicule.a \
+ $(BUILD_DIR)$/lib$/libicutu.a
+.ELSE
OUT2LIB= \
$(BUILD_DIR)$/lib$/libicudata$(DLLPOST).$(ICU_MAJOR)$(ICU_MINOR).$(ICU_MICRO) \
$(BUILD_DIR)$/lib$/libicudata$(DLLPOST).$(ICU_MAJOR)$(ICU_MINOR) \
@@ -137,6 +160,7 @@ OUT2BIN= \
$(BUILD_DIR)$/bin$/genccode \
$(BUILD_DIR)$/bin$/genbrk \
$(BUILD_DIR)$/bin$/gencmn
+.ENDIF
.ENDIF
diff --git a/icu/prj/d.lst b/icu/prj/d.lst
index 608f19e77251..19992a2bb1fe 100644
--- a/icu/prj/d.lst
+++ b/icu/prj/d.lst
@@ -25,6 +25,13 @@ mkdir: %_DEST%\inc%_EXT%\external\unicode
..\%__SRC%\lib\libicule.*.*.* %_DEST%\lib%_EXT%\
..\%__SRC%\lib\libicuuc.*.*.* %_DEST%\lib%_EXT%\
..\%__SRC%\lib\libicutu.*.*.* %_DEST%\lib%_EXT%\
+
+..\%__SRC%\lib\libicudata.a %_DEST%\lib%_EXT%\
+..\%__SRC%\lib\libicui18n.a %_DEST%\lib%_EXT%\
+..\%__SRC%\lib\libicule.a %_DEST%\lib%_EXT%\
+..\%__SRC%\lib\libicuuc.a %_DEST%\lib%_EXT%\
+..\%__SRC%\lib\libicutu.a %_DEST%\lib%_EXT%\
+
..\icuversion.mk %_DEST%\inc%_EXT%\icuversion.mk
linklib: libicudata.*.*.*