mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
805dd78c93
Bug 924839 - Remove a patch already part of ICU 52.1. See http://bugs.icu-project.org/trac/ticket/10283 but also note the relevant code was removed completely upstream. r=glandium * * * Bug 924839 - Remove another patch already part of ICU 52.1. See http://bugs.icu-project.org/trac/ticket/10290 for that. r=gaston * * * Bug 924839 - Remove another patch already in ICU 52.1. See http://bugs.icu-project.org/trac/ticket/10045 for more. r=Norbert * * * Bug 924839 - Remove another patch already applied upstream. See http://bugs.icu-project.org/trac/changeset/32937 for more. r=gaston * * * Bug 924839 - Update the ICU update script to update to 52.1, *without* applying any of our local patches. r=glandium * * * Bug 924839 - Make the ICU update script only do updating within intl/icu/source and nowhere else. r=glandium * * * Bug 924839 - Implement the changes that would be made by |cd intl/; ./update-icu.sh http://source.icu-project.org/repos/icu/icu/tags/release-52-1/;|, run with the prior changesets' changes made (thus not applying any of our local patches). These changes don't actually work without subsequent adjustments, but this provides a codebase upon which those adjustments can be made, for the purpose of generating local patches to be kept in intl/icu-patches/. rs=the-usual-suspects * * * Bug 924839 - Update the bug 899722 local patch to make runConfigureICU not override CC/CXX on BSD systems. r=gaston * * * Bug 924839 - Update the bug 724533 patch that makes ICU builds with MozillaBuild on Windows. r=glandium * * * Bug 924839 - Import an upstream patch fixing the genrb tool to properly handle the -R (--omitCollationRules) option. See http://bugs.icu-project.org/trac/ticket/10043 for the original bug report and a link to the ultimate upstream landing. r=Norbert * * * Bug 924839 - Import the upstream fix for http://bugs.icu-project.org/trac/ticket/10486 so that ICU with -DU_USING_ICU_NAMESPACE=0 will compile on Windows. r=Norbert * * * Bug 924839 - Adjust the update script to update ICU, then to apply all local patches (rather than skipping the second step). Thus if the update script is properly run, now, the final result should be no changes at all to the tree. NOT REVIEWED YET * * * Bug 924839 - Update jstests that depend on CLDR locale data to match CLDR 24. r=Norbert
316 lines
10 KiB
Makefile
316 lines
10 KiB
Makefile
# Make definitions that are shared by the different subprojects of ICU.
|
|
#
|
|
# Yves Arrouye.
|
|
#
|
|
# Copyright (C) 2000-2013, International Business Machines Corporation and others.
|
|
# All Rights Reserved.
|
|
|
|
#
|
|
# Some of these variables are overridden in the config/mh-* files.
|
|
#
|
|
# Please be sure to update config/Makefile.inc.in if you add something here.
|
|
#
|
|
|
|
# Shell to use
|
|
|
|
SHELL = @SHELL@
|
|
|
|
# Standard directories
|
|
|
|
prefix = @prefix@
|
|
exec_prefix = @exec_prefix@
|
|
|
|
bindir = @bindir@
|
|
sbindir = @sbindir@
|
|
datarootdir = @datarootdir@
|
|
datadir = @datadir@
|
|
libdir = @libdir@
|
|
includedir = @includedir@
|
|
mandir = @mandir@
|
|
sysconfdir = @sysconfdir@
|
|
# controls the include of $(top_builddir)/icucross.mk at bottom of file
|
|
cross_compiling = @cross_compiling@
|
|
cross_buildroot = @cross_buildroot@
|
|
|
|
# Package information
|
|
|
|
PACKAGE_ICU_DESCRIPTION = "International Components for Unicode"
|
|
PACKAGE_ICU_URL = "http://icu-project.org"
|
|
PACKAGE = @PACKAGE@
|
|
VERSION = @VERSION@
|
|
UNICODE_VERSION = @UNICODE_VERSION@
|
|
SO_TARGET_VERSION = @LIB_VERSION@
|
|
SO_TARGET_VERSION_MAJOR = @LIB_VERSION_MAJOR@
|
|
|
|
# The ICU data external name is usually icudata; the entry point name is
|
|
# the version-dependent name (for no particular reason except it was easier
|
|
# to change the build this way). When building in common mode, the data
|
|
# name is the versioned platform-dependent one.
|
|
|
|
ICUDATA_DIR = @pkgicudatadir@/$(PACKAGE)$(ICULIBSUFFIX)/$(VERSION)
|
|
|
|
ICUDATA_BASENAME_VERSION = $(ICUPREFIX)dt@LIB_VERSION_MAJOR@
|
|
# the entry point is almost like the basename, but has the lib suffix.
|
|
ICUDATA_ENTRY_POINT = $(ICUPREFIX)dt@ICULIBSUFFIXCNAME@@LIB_VERSION_MAJOR@
|
|
ICUDATA_CHAR = @ICUDATA_CHAR@
|
|
ICUDATA_PLATFORM_NAME = $(ICUDATA_BASENAME_VERSION)$(ICUDATA_CHAR)
|
|
PKGDATA_LIBSTATICNAME = -L $(STATIC_PREFIX)$(ICUPREFIX)$(DATA_STUBNAME)$(ICULIBSUFFIX)
|
|
ifeq ($(strip $(PKGDATA_MODE)),)
|
|
PKGDATA_MODE=@DATA_PACKAGING_MODE@
|
|
endif
|
|
ifeq ($(PKGDATA_MODE),common)
|
|
ICUDATA_NAME = $(ICUDATA_PLATFORM_NAME)
|
|
ICUPKGDATA_DIR = $(ICUDATA_DIR)
|
|
else
|
|
ifeq ($(PKGDATA_MODE),dll)
|
|
ICUDATA_NAME = $(ICUDATA_PLATFORM_NAME)
|
|
PKGDATA_LIBNAME = -L $(ICUPREFIX)$(DATA_STUBNAME)$(ICULIBSUFFIX)
|
|
ICUPKGDATA_DIR = $(libdir)
|
|
else
|
|
ifeq ($(PKGDATA_MODE),static)
|
|
ICUDATA_NAME = $(ICUDATA_PLATFORM_NAME)
|
|
PKGDATA_LIBNAME = -L $(ICUPREFIX)$(DATA_STUBNAME)$(ICULIBSUFFIX)
|
|
ICUPKGDATA_DIR = $(libdir)
|
|
else
|
|
ICUDATA_NAME = $(ICUDATA_PLATFORM_NAME)
|
|
ICUPKGDATA_DIR = $(ICUDATA_DIR)
|
|
endif
|
|
endif
|
|
endif
|
|
|
|
# These are defined here because mh-cygwin-msvc needs to override these values.
|
|
ICUPKGDATA_INSTALL_DIR = $(DESTDIR)$(ICUPKGDATA_DIR)
|
|
ICUPKGDATA_INSTALL_LIBDIR = $(DESTDIR)$(libdir)
|
|
|
|
# If defined to a valid value, pkgdata will generate a data library more quickly
|
|
GENCCODE_ASSEMBLY = @GENCCODE_ASSEMBLY@
|
|
|
|
# ICU specific directories
|
|
|
|
pkgdatadir = $(datadir)/$(PACKAGE)$(ICULIBSUFFIX)/$(VERSION)
|
|
pkglibdir = $(libdir)/$(PACKAGE)$(ICULIBSUFFIX)/$(VERSION)
|
|
pkgsysconfdir = $(sysconfdir)/$(PACKAGE)$(ICULIBSUFFIX)
|
|
|
|
# Installation programs
|
|
|
|
MKINSTALLDIRS = $(SHELL) $(top_srcdir)/mkinstalldirs
|
|
|
|
INSTALL = @INSTALL@
|
|
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
|
INSTALL_DATA = @INSTALL_DATA@
|
|
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
|
|
|
# Library suffix (to support different C++ compilers)
|
|
|
|
ICULIBSUFFIX=@ICULIBSUFFIX@
|
|
|
|
# Compiler and tools
|
|
|
|
ENABLE_DEBUG = @ENABLE_DEBUG@
|
|
ENABLE_RELEASE = @ENABLE_RELEASE@
|
|
EXEEXT = @EXEEXT@
|
|
CC = @CC@
|
|
CXX = @CXX@
|
|
AR = @AR@
|
|
ARFLAGS = @ARFLAGS@ r
|
|
RANLIB = @RANLIB@
|
|
COMPILE_LINK_ENVVAR = @COMPILE_LINK_ENVVAR@
|
|
UCLN_NO_AUTO_CLEANUP = @UCLN_NO_AUTO_CLEANUP@
|
|
|
|
# Various flags for the tools
|
|
|
|
# DEFS is for common macro definitions.
|
|
# configure prevents user defined DEFS, and configure's DEFS is not needed
|
|
# So we ignore the DEFS that comes from configure
|
|
# U_ATTRIBUTE_DEPRECATED is defined to hide warnings about deprecated API warnings.
|
|
DEFS = -DU_ATTRIBUTE_DEPRECATED=
|
|
# CFLAGS is for C only flags
|
|
CFLAGS = @CFLAGS@
|
|
# CXXFLAGS is for C++ only flags
|
|
CXXFLAGS = @CXXFLAGS@
|
|
# CPPFLAGS is for C Pre-Processor flags
|
|
CPPFLAGS = @CPPFLAGS@
|
|
# LIBCFLAGS are the flags for static and shared libraries.
|
|
LIBCFLAGS = @LIBCFLAGS@
|
|
# LIBCXXFLAGS are the flags for static and shared libraries.
|
|
LIBCXXFLAGS = @LIBCXXFLAGS@
|
|
# DEFAULT_LIBS are the default libraries to link against
|
|
DEFAULT_LIBS = @LIBS@
|
|
# LIB_M is for linking against the math library
|
|
LIB_M = @LIB_M@
|
|
# LIB_THREAD is for linking against the threading library
|
|
LIB_THREAD = @LIB_THREAD@
|
|
# OUTOPT is for creating a specific output name
|
|
OUTOPT = -o # The extra space after the argument is needed.
|
|
# AR_OUTOPT is for creating a specific output name for static libraries.
|
|
AR_OUTOPT =
|
|
|
|
ENABLE_RPATH = @ENABLE_RPATH@
|
|
ifeq ($(ENABLE_RPATH),YES)
|
|
RPATHLDFLAGS = $(LD_RPATH)$(LD_RPATH_PRE)$(libdir)
|
|
endif
|
|
LDFLAGS = @LDFLAGS@ $(RPATHLDFLAGS)
|
|
|
|
# What kind of libraries are we building and linking against?
|
|
ENABLE_STATIC = @ENABLE_STATIC@
|
|
ENABLE_SHARED = @ENABLE_SHARED@
|
|
|
|
# Echo w/o newline
|
|
|
|
#ECHO_N = @ICU_ECHO_N@
|
|
#ECHO_C = @ICU_ECHO_C@
|
|
|
|
# Commands to compile
|
|
COMPILE.c= $(CC) $(CPPFLAGS) $(DEFS) $(CFLAGS) -c
|
|
COMPILE.cc= $(CXX) $(CPPFLAGS) $(DEFS) $(CXXFLAGS) -c
|
|
|
|
# Commands to link
|
|
LINK.c= $(CC) $(CFLAGS) $(LDFLAGS)
|
|
LINK.cc= $(CXX) $(CXXFLAGS) $(LDFLAGS)
|
|
|
|
# Commands to make a shared library
|
|
SHLIB.c= $(CC) $(CFLAGS) $(LDFLAGS) -shared $(LD_SOOPTIONS)
|
|
SHLIB.cc= $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(LD_SOOPTIONS)
|
|
|
|
# ICU_MSG
|
|
ICU_MSG=@echo " $(1) "
|
|
|
|
# Do not show the large compiling arguments by default.
|
|
# To use:
|
|
# change
|
|
# $(CC) -o foo
|
|
# to
|
|
# $(call SILENT_COMPILE,$(CC) -o foo)
|
|
ifndef VERBOSE
|
|
SILENT_COMPILE=$(call ICU_MSG,$(notdir $(firstword $(1)))) "... " $< && $(1) || \
|
|
( echo "*** Failed compilation command follows: ----------------------------------------------------------" ; \
|
|
echo "$(1)" ; \
|
|
echo "--- ( rebuild with \"$(MAKE) VERBOSE=1 $(MAKECMDGOALS)\" to show all parameters ) --------" ; \
|
|
false )
|
|
else
|
|
SILENT_COMPILE=$(1)
|
|
endif
|
|
|
|
# Environment variable to set a runtime search path
|
|
LDLIBRARYPATH_ENVVAR = LD_LIBRARY_PATH
|
|
|
|
# Versioned target for a shared library.
|
|
FINAL_SO_TARGET = $(SO_TARGET).$(SO_TARGET_VERSION)
|
|
MIDDLE_SO_TARGET = $(SO_TARGET).$(SO_TARGET_VERSION_MAJOR)
|
|
SHARED_OBJECT = $(FINAL_SO_TARGET)
|
|
|
|
## How ICU libraries are named... ex. $(LIBICU)uc$(SO)
|
|
# Prefix for the ICU library names
|
|
ICUPREFIX = icu
|
|
LIBPREFIX = lib
|
|
LIBICU = $(LIBPREFIX)$(ICUPREFIX)
|
|
|
|
## If we can't use the shared libraries, use the static libraries
|
|
ifneq ($(ENABLE_SHARED),YES)
|
|
STATIC_PREFIX_WHEN_USED = s
|
|
else
|
|
STATIC_PREFIX_WHEN_USED =
|
|
endif
|
|
|
|
# Static library prefix and file extension
|
|
STATIC_PREFIX = s
|
|
LIBSICU = $(LIBPREFIX)$(STATIC_PREFIX)$(ICUPREFIX)
|
|
A = a
|
|
SOBJ = $(SO)
|
|
|
|
# Force removal [for make clean]
|
|
RMV = rm -rf
|
|
|
|
# Platform commands to remove or move executable and library targets
|
|
# INSTALL-L installs libraries. Override in mh-* file to INSTALL_PROGRAM
|
|
# when the library needs to have executable permissions
|
|
INSTALL-S = $(INSTALL_PROGRAM)
|
|
INSTALL-L = $(INSTALL_PROGRAM)
|
|
#INSTALL-L = $(INSTALL_DATA)
|
|
|
|
# Location of the libraries before "make install" is used
|
|
LIBDIR=$(top_builddir)/lib
|
|
|
|
# Location of the executables before "make install" is used
|
|
BINDIR=$(top_builddir)/bin
|
|
|
|
# overridden by icucross.mk
|
|
TOOLBINDIR=$(BINDIR)
|
|
TOOLLIBDIR=$(LIBDIR)
|
|
|
|
# Name flexibility for the library naming scheme. Any modifications should
|
|
# be made in the mh- file for the specific platform.
|
|
DATA_STUBNAME = data
|
|
COMMON_STUBNAME = uc
|
|
I18N_STUBNAME = i18n
|
|
LAYOUT_STUBNAME = le
|
|
LAYOUTEX_STUBNAME = lx
|
|
IO_STUBNAME = io
|
|
TOOLUTIL_STUBNAME = tu
|
|
CTESTFW_STUBNAME = test
|
|
|
|
# Just the libs.
|
|
ICULIBS_DT = -l$(STATIC_PREFIX_WHEN_USED)$(ICUPREFIX)$(DATA_STUBNAME)$(ICULIBSUFFIX)$(SO_TARGET_VERSION_SUFFIX)
|
|
ICULIBS_UC = -l$(STATIC_PREFIX_WHEN_USED)$(ICUPREFIX)$(COMMON_STUBNAME)$(ICULIBSUFFIX)$(SO_TARGET_VERSION_SUFFIX)
|
|
ICULIBS_I18N = -l$(STATIC_PREFIX_WHEN_USED)$(ICUPREFIX)$(I18N_STUBNAME)$(ICULIBSUFFIX)$(SO_TARGET_VERSION_SUFFIX)
|
|
ICULIBS_LE = -l$(STATIC_PREFIX_WHEN_USED)$(ICUPREFIX)$(LAYOUT_STUBNAME)$(ICULIBSUFFIX)$(SO_TARGET_VERSION_SUFFIX)
|
|
ICULIBS_LX = -l$(STATIC_PREFIX_WHEN_USED)$(ICUPREFIX)$(LAYOUTEX_STUBNAME)$(ICULIBSUFFIX)$(SO_TARGET_VERSION_SUFFIX)
|
|
ICULIBS_IO = -l$(STATIC_PREFIX_WHEN_USED)$(ICUPREFIX)$(IO_STUBNAME)$(ICULIBSUFFIX)$(SO_TARGET_VERSION_SUFFIX)
|
|
ICULIBS_CTESTFW = -l$(STATIC_PREFIX_WHEN_USED)$(ICUPREFIX)$(CTESTFW_STUBNAME)$(ICULIBSUFFIX)$(SO_TARGET_VERSION_SUFFIX)
|
|
ICULIBS_TOOLUTIL = -l$(STATIC_PREFIX_WHEN_USED)$(ICUPREFIX)$(TOOLUTIL_STUBNAME)$(ICULIBSUFFIX)$(SO_TARGET_VERSION_SUFFIX)
|
|
# Link commands to link to ICU libs
|
|
LLIBDIR = -L$(LIBDIR)
|
|
LSTUBDIR = -L$(top_builddir)/stubdata
|
|
LCTESTFW = -L$(top_builddir)/tools/ctestfw
|
|
|
|
LIBICUDT = $(LLIBDIR) $(LSTUBDIR) $(ICULIBS_DT)
|
|
LIBICUUC = $(LLIBDIR) $(ICULIBS_UC) $(LSTUBDIR) $(ICULIBS_DT)
|
|
LIBICUI18N = $(LLIBDIR) $(ICULIBS_I18N)
|
|
LIBICULE = $(LLIBDIR) $(ICULIBS_LE)
|
|
LIBICULX = $(LLIBDIR) $(ICULIBS_LX)
|
|
LIBCTESTFW = $(LCTESTFW) $(ICULIBS_CTESTFW)
|
|
LIBICUTOOLUTIL = $(LLIBDIR) $(ICULIBS_TOOLUTIL)
|
|
LIBICUIO = $(LLIBDIR) $(ICULIBS_IO)
|
|
|
|
# Invoke, set library path for all ICU libraries.
|
|
# overridden by icucross.mk
|
|
INVOKE = $(LDLIBRARYPATH_ENVVAR)=$(LIBRARY_PATH_PREFIX)$(LIBDIR):$(top_builddir)/stubdata:$(top_builddir)/tools/ctestfw:$$$(LDLIBRARYPATH_ENVVAR) $(LEAK_CHECKER)
|
|
# prefer stubdata
|
|
PKGDATA_INVOKE = $(LDLIBRARYPATH_ENVVAR)=$(top_builddir)/stubdata:$(top_builddir)/tools/ctestfw:$(LIBRARY_PATH_PREFIX)$(LIBDIR):$$$(LDLIBRARYPATH_ENVVAR) $(LEAK_CHECKER)
|
|
INSTALLED_INVOKE = $(LDLIBRARYPATH_ENVVAR)=$(libdir):$$$(LDLIBRARYPATH_ENVVAR)
|
|
|
|
# Current full path directory for cross compilation
|
|
ifneq ($(strip $(cross_buildroot)),)
|
|
include $(cross_buildroot)/config/icucross.inc
|
|
endif
|
|
|
|
# Platform-specific setup
|
|
include @platform_make_fragment@
|
|
|
|
# Current full path directory.
|
|
CURR_FULL_DIR?=$(shell pwd | sed 's/ /\\ /g')
|
|
# Current full path directory for use in source code in a -D compiler option.
|
|
CURR_SRCCODE_FULL_DIR?=$(shell pwd | sed 's/ /\\ /')
|
|
|
|
# When shared libraries are disabled and static libraries are enabled,
|
|
# the C++ compiler must be used to link in the libraries for the tools.
|
|
ifneq ($(ENABLE_SHARED),YES)
|
|
LINK.c = $(LINK.cc)
|
|
endif
|
|
|
|
# some imported things from the cross env
|
|
TOOLEXEEXT = $(EXEEXT)
|
|
ifneq ($(strip $(cross_buildroot)),)
|
|
include $(cross_buildroot)/config/icucross.mk
|
|
else
|
|
cross_buildroot = $(top_builddir)
|
|
endif
|
|
|
|
# for tests
|
|
ifneq ($(TEST_STATUS_FILE),)
|
|
TEST_OUTPUT_OPTS="-E$(TEST_STATUS_FILE)"
|
|
endif
|
|
|
|
# optional include at top
|
|
-include $(top_builddir)/icudefs.local
|