Fix the build / host confusion around icu tools.

This commit is contained in:
Jan Holesovsky
2011-10-03 14:09:29 +02:00
parent cf27d95a6d
commit b08a764af9
3 changed files with 42 additions and 22 deletions

View File

@@ -6027,9 +6027,13 @@ AC_SUBST(SYSTEM_SANE_HEADER)
dnl ===================================================================
dnl Check for system icu
dnl ===================================================================
SYSTEM_GENBRK=
SYSTEM_GENCCODE=
SYSTEM_GENCMN=
ICU_MAJOR=
ICU_MINOR=
ICU_MICRO=
ICU_RECLASSIFIED_CLOSE_PARENTHESIS=
AC_MSG_CHECKING([which icu to use])
if test -n "$with_system_icu" -o -n "$with_system_libs" && \
test "$with_system_icu" != "no"; then
@@ -6039,19 +6043,6 @@ if test -n "$with_system_icu" -o -n "$with_system_libs" && \
AC_MSG_CHECKING([for unicode/rbbi.h])
AC_PREPROC_IFELSE([AC_LANG_SOURCE([[unicode/rbbi.h]])],[AC_MSG_RESULT(checked.)],[AC_MSG_ERROR(icu headers not found.)])
AC_LANG_POP([C++])
AC_PATH_PROG(SYSTEM_GENBRK, genbrk, [], [$PATH:/usr/sbin:/sbin])
if test -z "$SYSTEM_GENBRK"; then
AC_MSG_ERROR([\'genbrk\' not found in \$PATH, install the icu development tool \'genbrk\'])
fi
AC_PATH_PROG(SYSTEM_GENCCODE, genccode, [], [$PATH:/usr/sbin:/sbin:/usr/local/sbin])
if test -z "$SYSTEM_GENCCODE"; then
AC_MSG_ERROR([\'genccode\' not found in \$PATH, install the icu development tool \'genccode\'])
fi
AC_PATH_PROG(SYSTEM_GENCMN, gencmn, [], [$PATH:/usr/sbin:/sbin:/usr/local/sbin])
if test -z "$SYSTEM_GENCMN"; then
AC_MSG_ERROR([\'gencmn\' not found in \$PATH, install the icu development tool \'gencmn\'])
fi
ICUPATH="$PATH"
if test "$WITH_MINGW" = "yes" ; then
ICUPATH="/usr/i686-w64-mingw32/sys-root/mingw/bin:$ICUPATH"
@@ -6070,10 +6061,31 @@ if test -n "$with_system_icu" -o -n "$with_system_libs" && \
AC_MSG_ERROR([not suitable, only >= 4.0 supported currently])
fi
if test "$cross_compiling" != "yes"; then
# using the system icu tools can lead to version confusion, use the
# ones from the build environment when cross-compiling
AC_PATH_PROG(SYSTEM_GENBRK, genbrk, [], [$PATH:/usr/sbin:/sbin])
if test -z "$SYSTEM_GENBRK"; then
AC_MSG_ERROR([\'genbrk\' not found in \$PATH, install the icu development tool \'genbrk\'])
fi
AC_PATH_PROG(SYSTEM_GENCCODE, genccode, [], [$PATH:/usr/sbin:/sbin:/usr/local/sbin])
if test -z "$SYSTEM_GENCCODE"; then
AC_MSG_ERROR([\'genccode\' not found in \$PATH, install the icu development tool \'genccode\'])
fi
AC_PATH_PROG(SYSTEM_GENCMN, gencmn, [], [$PATH:/usr/sbin:/sbin:/usr/local/sbin])
if test -z "$SYSTEM_GENCMN"; then
AC_MSG_ERROR([\'gencmn\' not found in \$PATH, install the icu development tool \'gencmn\'])
fi
if test "$ICU_MAJOR" -ge "5" -o "$ICU_MAJOR" = "4" -a "$ICU_MINOR" -ge "4"; then
ICU_RECLASSIFIED_CLOSE_PARENTHESIS="YES"
fi
fi
MINGW_EXTERNAL_DLLS="$MINGW_EXTERNAL_DLLS icui18n$ICU_MAJOR$ICU_MINOR.dll icuuc$ICU_MAJOR$ICU_MINOR.dll icudata$ICU_MAJOR$ICU_MINOR.dll"
else
AC_MSG_RESULT([internal])
SYSTEM_ICU=NO
SYSTEM_ICU="NO"
ICU_RECLASSIFIED_CLOSE_PARENTHESIS="YES"
BUILD_TYPE="$BUILD_TYPE ICU"
fi
AC_SUBST(SYSTEM_ICU)
@@ -6083,6 +6095,7 @@ AC_SUBST(SYSTEM_GENCMN)
AC_SUBST(ICU_MAJOR)
AC_SUBST(ICU_MINOR)
AC_SUBST(ICU_MICRO)
AC_SUBST(ICU_RECLASSIFIED_CLOSE_PARENTHESIS)
dnl ===================================================================
dnl Graphite

View File

@@ -43,16 +43,22 @@ else
$(gb_Helper_execute)gendict $< $@
endif
ifeq ($(SYSTEM_ICU),YES)
GENBRK := $(SYSTEM_GENBRK)
GENCCODE := $(SYSTEM_GENCCODE)
GENCMN := $(SYSTEM_GENCMN)
USE_SED := $(shell if test "$(ICU_MAJOR)" -ge "5" -o "$(ICU_MAJOR)" = "4" -a "$(ICU_MINOR)" -ge "4"; then echo "YES"; fi)
else
ifeq ($(SYSTEM_GENBRK),)
GENBRK := $(gb_Helper_execute)genbrk
else
GENBRK := $(SYSTEM_GENBRK)
endif
ifeq ($(SYSTEM_GENCODE),)
GENCCODE := $(gb_Helper_execute)genccode
else
GENCCODE := $(SYSTEM_GENCCODE)
endif
ifeq ($(SYSTEM_GENCMN),)
GENCMN := $(gb_Helper_execute)gencmn
USE_SED := YES
else
GENCMN := $(SYSTEM_GENCMN)
endif
TEMPFILE := $(shell $(gb_MKTEMP))
@@ -78,7 +84,7 @@ OpenOffice_dat.c : $(subst .brk,_brk.c,$(BRKFILES))
# fdo#31271 ")" reclassified in more recent ICU/Unicode Standards
%.txt.p : $(realpath $(SRC_ROOT)/i18npool/source/breakiterator/data)/%.txt
ifeq ($(USE_SED),YES)
ifeq ($(ICU_RECLASSIFIED_CLOSE_PARENTHESIS),YES)
sed "s#\[:LineBreak = Close_Punctuation:\]#\[\[:LineBreak = Close_Punctuation:\] \[:LineBreak = Close_Parenthesis:\]\]#" $< > $@
else
cp $< $@

View File

@@ -1879,6 +1879,7 @@ ToFile( "SYSTEM_ICU", "@SYSTEM_ICU@", "e" );
ToFile( "ICU_MAJOR", "@ICU_MAJOR@", "e" );
ToFile( "ICU_MINOR", "@ICU_MINOR@", "e" );
ToFile( "ICU_MICRO", "@ICU_MICRO@", "e" );
ToFile( "ICU_RECLASSIFIED_CLOSE_PARENTHESIS", "@ICU_RECLASSIFIED_CLOSE_PARENTHESIS@", "e" );
ToFile( "SYSTEM_GENBRK", "@SYSTEM_GENBRK@", "e" );
ToFile( "SYSTEM_GENCCODE", "@SYSTEM_GENCCODE@", "e" );
ToFile( "SYSTEM_GENCMN", "@SYSTEM_GENCMN@", "e" );