da86b5acee
Fix two issues with the icu build: - icu source contains an #elif without any arguments, which g++ >= 4.4 flags as an error. This is both an issue for target and host build, so restructure the .mk so any *both*patch is applied to both builds (the other patches would cause trouble with host builds) - icu build system isn't parallel make safe, use MAKE1 Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
78 lines
2.2 KiB
Makefile
78 lines
2.2 KiB
Makefile
#############################################################
|
|
#
|
|
# ICU International Components for Unicode
|
|
#
|
|
#############################################################
|
|
|
|
ICU_VERSION:=4c-3_8_1
|
|
ICU_SOURCE:=icu$(ICU_VERSION)-src.tgz
|
|
ICU_SITE:=http://$(BR2_SOURCEFORGE_MIRROR).dl.sourceforge.net/sourceforge/icu
|
|
ICU_CAT:=$(ZCAT)
|
|
ICU_DIR:=$(BUILD_DIR)/icu/source
|
|
ICU_HOST_DIR:=$(BUILD_DIR)/icu-host/source
|
|
|
|
$(DL_DIR)/$(ICU_SOURCE):
|
|
$(call DOWNLOAD,$(ICU_SITE),$(ICU_SOURCE))
|
|
|
|
icu-source: $(DL_DIR)/$(ICU_SOURCE)
|
|
|
|
$(ICU_DIR)/.unpacked: $(DL_DIR)/$(ICU_SOURCE)
|
|
$(ICU_CAT) $(DL_DIR)/$(ICU_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
|
|
$(CONFIG_UPDATE) $(ICU_DIR)
|
|
cp -a $(BUILD_DIR)/icu $(BUILD_DIR)/icu-host
|
|
toolchain/patch-kernel.sh $(ICU_DIR) package/icu/ \*.patch
|
|
toolchain/patch-kernel.sh $(ICU_HOST_DIR) package/icu/ \*both\*.patch
|
|
touch $(ICU_DIR)/.unpacked
|
|
|
|
$(ICU_HOST_DIR)/.configured: $(ICU_DIR)/.unpacked
|
|
(cd $(ICU_HOST_DIR); ./configure $(QUIET) \
|
|
--prefix=/usr;);
|
|
touch $(ICU_HOST_DIR)/.configured
|
|
|
|
$(ICU_DIR)/.configured: $(ICU_HOST_DIR)/.configured
|
|
(cd $(ICU_DIR); rm -rf config.cache; \
|
|
$(TARGET_CONFIGURE_OPTS) \
|
|
$(TARGET_CONFIGURE_ARGS) \
|
|
CXX=$(TARGET_CXX) \
|
|
./configure $(QUIET) \
|
|
--target=$(GNU_TARGET_NAME) \
|
|
--host=$(GNU_TARGET_NAME) \
|
|
--build=$(GNU_HOST_NAME) \
|
|
--prefix=/usr \
|
|
--mandir=/usr/man \
|
|
--infodir=/usr/info \
|
|
--enable-samples \
|
|
);
|
|
touch $(ICU_DIR)/.configured
|
|
|
|
$(ICU_HOST_DIR)/.done: $(ICU_DIR)/.configured
|
|
$(MAKE1) -C $(ICU_HOST_DIR)
|
|
ln -s -f $(ICU_HOST_DIR)/bin $(ICU_DIR)/bin-host
|
|
ln -s -f $(ICU_HOST_DIR)/lib $(ICU_DIR)/lib-host
|
|
touch $(ICU_HOST_DIR)/.done
|
|
|
|
$(ICU_DIR)/.done: $(ICU_HOST_DIR)/.done
|
|
$(MAKE1) -C $(ICU_DIR)
|
|
$(MAKE) -C $(ICU_DIR) install DESTDIR=$(STAGING_DIR)
|
|
$(MAKE) -C $(ICU_DIR) install DESTDIR=$(TARGET_DIR)
|
|
$(SED) "s,^default_prefix=.*,default_prefix=\'$(STAGING_DIR)/usr\',g" $(STAGING_DIR)/usr/bin/icu-config
|
|
touch $(ICU_DIR)/.done
|
|
|
|
icu: $(ICU_DIR)/.done
|
|
|
|
icu-clean:
|
|
rm -f $(TARGET_DIR)/bin/icu
|
|
-$(MAKE) -C $(ICU_DIR) clean
|
|
|
|
icu-dirclean:
|
|
rm -rf $(ICU_DIR)
|
|
|
|
#############################################################
|
|
#
|
|
# Toplevel Makefile options
|
|
#
|
|
#############################################################
|
|
ifeq ($(BR2_PACKAGE_ICU),y)
|
|
TARGETS+=icu
|
|
endif
|