1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/intl/icu/source/icudefs.mk.in Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,315 @@ 1.4 +# Make definitions that are shared by the different subprojects of ICU. 1.5 +# 1.6 +# Yves Arrouye. 1.7 +# 1.8 +# Copyright (C) 2000-2013, International Business Machines Corporation and others. 1.9 +# All Rights Reserved. 1.10 + 1.11 +# 1.12 +# Some of these variables are overridden in the config/mh-* files. 1.13 +# 1.14 +# Please be sure to update config/Makefile.inc.in if you add something here. 1.15 +# 1.16 + 1.17 +# Shell to use 1.18 + 1.19 +SHELL = @SHELL@ 1.20 + 1.21 +# Standard directories 1.22 + 1.23 +prefix = @prefix@ 1.24 +exec_prefix = @exec_prefix@ 1.25 + 1.26 +bindir = @bindir@ 1.27 +sbindir = @sbindir@ 1.28 +datarootdir = @datarootdir@ 1.29 +datadir = @datadir@ 1.30 +libdir = @libdir@ 1.31 +includedir = @includedir@ 1.32 +mandir = @mandir@ 1.33 +sysconfdir = @sysconfdir@ 1.34 +# controls the include of $(top_builddir)/icucross.mk at bottom of file 1.35 +cross_compiling = @cross_compiling@ 1.36 +cross_buildroot = @cross_buildroot@ 1.37 + 1.38 +# Package information 1.39 + 1.40 +PACKAGE_ICU_DESCRIPTION = "International Components for Unicode" 1.41 +PACKAGE_ICU_URL = "http://icu-project.org" 1.42 +PACKAGE = @PACKAGE@ 1.43 +VERSION = @VERSION@ 1.44 +UNICODE_VERSION = @UNICODE_VERSION@ 1.45 +SO_TARGET_VERSION = @LIB_VERSION@ 1.46 +SO_TARGET_VERSION_MAJOR = @LIB_VERSION_MAJOR@ 1.47 + 1.48 +# The ICU data external name is usually icudata; the entry point name is 1.49 +# the version-dependent name (for no particular reason except it was easier 1.50 +# to change the build this way). When building in common mode, the data 1.51 +# name is the versioned platform-dependent one. 1.52 + 1.53 +ICUDATA_DIR = @pkgicudatadir@/$(PACKAGE)$(ICULIBSUFFIX)/$(VERSION) 1.54 + 1.55 +ICUDATA_BASENAME_VERSION = $(ICUPREFIX)dt@LIB_VERSION_MAJOR@ 1.56 +# the entry point is almost like the basename, but has the lib suffix. 1.57 +ICUDATA_ENTRY_POINT = $(ICUPREFIX)dt@ICULIBSUFFIXCNAME@@LIB_VERSION_MAJOR@ 1.58 +ICUDATA_CHAR = @ICUDATA_CHAR@ 1.59 +ICUDATA_PLATFORM_NAME = $(ICUDATA_BASENAME_VERSION)$(ICUDATA_CHAR) 1.60 +PKGDATA_LIBSTATICNAME = -L $(STATIC_PREFIX)$(ICUPREFIX)$(DATA_STUBNAME)$(ICULIBSUFFIX) 1.61 +ifeq ($(strip $(PKGDATA_MODE)),) 1.62 +PKGDATA_MODE=@DATA_PACKAGING_MODE@ 1.63 +endif 1.64 +ifeq ($(PKGDATA_MODE),common) 1.65 +ICUDATA_NAME = $(ICUDATA_PLATFORM_NAME) 1.66 +ICUPKGDATA_DIR = $(ICUDATA_DIR) 1.67 +else 1.68 +ifeq ($(PKGDATA_MODE),dll) 1.69 +ICUDATA_NAME = $(ICUDATA_PLATFORM_NAME) 1.70 +PKGDATA_LIBNAME = -L $(ICUPREFIX)$(DATA_STUBNAME)$(ICULIBSUFFIX) 1.71 +ICUPKGDATA_DIR = $(libdir) 1.72 +else 1.73 +ifeq ($(PKGDATA_MODE),static) 1.74 +ICUDATA_NAME = $(ICUDATA_PLATFORM_NAME) 1.75 +PKGDATA_LIBNAME = -L $(ICUPREFIX)$(DATA_STUBNAME)$(ICULIBSUFFIX) 1.76 +ICUPKGDATA_DIR = $(libdir) 1.77 +else 1.78 +ICUDATA_NAME = $(ICUDATA_PLATFORM_NAME) 1.79 +ICUPKGDATA_DIR = $(ICUDATA_DIR) 1.80 +endif 1.81 +endif 1.82 +endif 1.83 + 1.84 +# These are defined here because mh-cygwin-msvc needs to override these values. 1.85 +ICUPKGDATA_INSTALL_DIR = $(DESTDIR)$(ICUPKGDATA_DIR) 1.86 +ICUPKGDATA_INSTALL_LIBDIR = $(DESTDIR)$(libdir) 1.87 + 1.88 +# If defined to a valid value, pkgdata will generate a data library more quickly 1.89 +GENCCODE_ASSEMBLY = @GENCCODE_ASSEMBLY@ 1.90 + 1.91 +# ICU specific directories 1.92 + 1.93 +pkgdatadir = $(datadir)/$(PACKAGE)$(ICULIBSUFFIX)/$(VERSION) 1.94 +pkglibdir = $(libdir)/$(PACKAGE)$(ICULIBSUFFIX)/$(VERSION) 1.95 +pkgsysconfdir = $(sysconfdir)/$(PACKAGE)$(ICULIBSUFFIX) 1.96 + 1.97 +# Installation programs 1.98 + 1.99 +MKINSTALLDIRS = $(SHELL) $(top_srcdir)/mkinstalldirs 1.100 + 1.101 +INSTALL = @INSTALL@ 1.102 +INSTALL_PROGRAM = @INSTALL_PROGRAM@ 1.103 +INSTALL_DATA = @INSTALL_DATA@ 1.104 +INSTALL_SCRIPT = @INSTALL_SCRIPT@ 1.105 + 1.106 +# Library suffix (to support different C++ compilers) 1.107 + 1.108 +ICULIBSUFFIX=@ICULIBSUFFIX@ 1.109 + 1.110 +# Compiler and tools 1.111 + 1.112 +ENABLE_DEBUG = @ENABLE_DEBUG@ 1.113 +ENABLE_RELEASE = @ENABLE_RELEASE@ 1.114 +EXEEXT = @EXEEXT@ 1.115 +CC = @CC@ 1.116 +CXX = @CXX@ 1.117 +AR = @AR@ 1.118 +ARFLAGS = @ARFLAGS@ r 1.119 +RANLIB = @RANLIB@ 1.120 +COMPILE_LINK_ENVVAR = @COMPILE_LINK_ENVVAR@ 1.121 +UCLN_NO_AUTO_CLEANUP = @UCLN_NO_AUTO_CLEANUP@ 1.122 + 1.123 +# Various flags for the tools 1.124 + 1.125 +# DEFS is for common macro definitions. 1.126 +# configure prevents user defined DEFS, and configure's DEFS is not needed 1.127 +# So we ignore the DEFS that comes from configure 1.128 +# U_ATTRIBUTE_DEPRECATED is defined to hide warnings about deprecated API warnings. 1.129 +DEFS = -DU_ATTRIBUTE_DEPRECATED= 1.130 +# CFLAGS is for C only flags 1.131 +CFLAGS = @CFLAGS@ 1.132 +# CXXFLAGS is for C++ only flags 1.133 +CXXFLAGS = @CXXFLAGS@ 1.134 +# CPPFLAGS is for C Pre-Processor flags 1.135 +CPPFLAGS = @CPPFLAGS@ 1.136 +# LIBCFLAGS are the flags for static and shared libraries. 1.137 +LIBCFLAGS = @LIBCFLAGS@ 1.138 +# LIBCXXFLAGS are the flags for static and shared libraries. 1.139 +LIBCXXFLAGS = @LIBCXXFLAGS@ 1.140 +# DEFAULT_LIBS are the default libraries to link against 1.141 +DEFAULT_LIBS = @LIBS@ 1.142 +# LIB_M is for linking against the math library 1.143 +LIB_M = @LIB_M@ 1.144 +# LIB_THREAD is for linking against the threading library 1.145 +LIB_THREAD = @LIB_THREAD@ 1.146 +# OUTOPT is for creating a specific output name 1.147 +OUTOPT = -o # The extra space after the argument is needed. 1.148 +# AR_OUTOPT is for creating a specific output name for static libraries. 1.149 +AR_OUTOPT = 1.150 + 1.151 +ENABLE_RPATH = @ENABLE_RPATH@ 1.152 +ifeq ($(ENABLE_RPATH),YES) 1.153 +RPATHLDFLAGS = $(LD_RPATH)$(LD_RPATH_PRE)$(libdir) 1.154 +endif 1.155 +LDFLAGS = @LDFLAGS@ $(RPATHLDFLAGS) 1.156 + 1.157 +# What kind of libraries are we building and linking against? 1.158 +ENABLE_STATIC = @ENABLE_STATIC@ 1.159 +ENABLE_SHARED = @ENABLE_SHARED@ 1.160 + 1.161 +# Echo w/o newline 1.162 + 1.163 +#ECHO_N = @ICU_ECHO_N@ 1.164 +#ECHO_C = @ICU_ECHO_C@ 1.165 + 1.166 +# Commands to compile 1.167 +COMPILE.c= $(CC) $(CPPFLAGS) $(DEFS) $(CFLAGS) -c 1.168 +COMPILE.cc= $(CXX) $(CPPFLAGS) $(DEFS) $(CXXFLAGS) -c 1.169 + 1.170 +# Commands to link 1.171 +LINK.c= $(CC) $(CFLAGS) $(LDFLAGS) 1.172 +LINK.cc= $(CXX) $(CXXFLAGS) $(LDFLAGS) 1.173 + 1.174 +# Commands to make a shared library 1.175 +SHLIB.c= $(CC) $(CFLAGS) $(LDFLAGS) -shared $(LD_SOOPTIONS) 1.176 +SHLIB.cc= $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(LD_SOOPTIONS) 1.177 + 1.178 +# ICU_MSG 1.179 +ICU_MSG=@echo " $(1) " 1.180 + 1.181 +# Do not show the large compiling arguments by default. 1.182 +# To use: 1.183 +# change 1.184 +# $(CC) -o foo 1.185 +# to 1.186 +# $(call SILENT_COMPILE,$(CC) -o foo) 1.187 +ifndef VERBOSE 1.188 + SILENT_COMPILE=$(call ICU_MSG,$(notdir $(firstword $(1)))) "... " $< && $(1) || \ 1.189 + ( echo "*** Failed compilation command follows: ----------------------------------------------------------" ; \ 1.190 + echo "$(1)" ; \ 1.191 + echo "--- ( rebuild with \"$(MAKE) VERBOSE=1 $(MAKECMDGOALS)\" to show all parameters ) --------" ; \ 1.192 + false ) 1.193 +else 1.194 + SILENT_COMPILE=$(1) 1.195 +endif 1.196 + 1.197 +# Environment variable to set a runtime search path 1.198 +LDLIBRARYPATH_ENVVAR = LD_LIBRARY_PATH 1.199 + 1.200 +# Versioned target for a shared library. 1.201 +FINAL_SO_TARGET = $(SO_TARGET).$(SO_TARGET_VERSION) 1.202 +MIDDLE_SO_TARGET = $(SO_TARGET).$(SO_TARGET_VERSION_MAJOR) 1.203 +SHARED_OBJECT = $(FINAL_SO_TARGET) 1.204 + 1.205 +## How ICU libraries are named... ex. $(LIBICU)uc$(SO) 1.206 +# Prefix for the ICU library names 1.207 +ICUPREFIX = icu 1.208 +LIBPREFIX = lib 1.209 +LIBICU = $(LIBPREFIX)$(ICUPREFIX) 1.210 + 1.211 +## If we can't use the shared libraries, use the static libraries 1.212 +ifneq ($(ENABLE_SHARED),YES) 1.213 +STATIC_PREFIX_WHEN_USED = s 1.214 +else 1.215 +STATIC_PREFIX_WHEN_USED = 1.216 +endif 1.217 + 1.218 +# Static library prefix and file extension 1.219 +STATIC_PREFIX = s 1.220 +LIBSICU = $(LIBPREFIX)$(STATIC_PREFIX)$(ICUPREFIX) 1.221 +A = a 1.222 +SOBJ = $(SO) 1.223 + 1.224 +# Force removal [for make clean] 1.225 +RMV = rm -rf 1.226 + 1.227 +# Platform commands to remove or move executable and library targets 1.228 +# INSTALL-L installs libraries. Override in mh-* file to INSTALL_PROGRAM 1.229 +# when the library needs to have executable permissions 1.230 +INSTALL-S = $(INSTALL_PROGRAM) 1.231 +INSTALL-L = $(INSTALL_PROGRAM) 1.232 +#INSTALL-L = $(INSTALL_DATA) 1.233 + 1.234 +# Location of the libraries before "make install" is used 1.235 +LIBDIR=$(top_builddir)/lib 1.236 + 1.237 +# Location of the executables before "make install" is used 1.238 +BINDIR=$(top_builddir)/bin 1.239 + 1.240 +# overridden by icucross.mk 1.241 +TOOLBINDIR=$(BINDIR) 1.242 +TOOLLIBDIR=$(LIBDIR) 1.243 + 1.244 +# Name flexibility for the library naming scheme. Any modifications should 1.245 +# be made in the mh- file for the specific platform. 1.246 +DATA_STUBNAME = data 1.247 +COMMON_STUBNAME = uc 1.248 +I18N_STUBNAME = i18n 1.249 +LAYOUT_STUBNAME = le 1.250 +LAYOUTEX_STUBNAME = lx 1.251 +IO_STUBNAME = io 1.252 +TOOLUTIL_STUBNAME = tu 1.253 +CTESTFW_STUBNAME = test 1.254 + 1.255 +# Just the libs. 1.256 +ICULIBS_DT = -l$(STATIC_PREFIX_WHEN_USED)$(ICUPREFIX)$(DATA_STUBNAME)$(ICULIBSUFFIX)$(SO_TARGET_VERSION_SUFFIX) 1.257 +ICULIBS_UC = -l$(STATIC_PREFIX_WHEN_USED)$(ICUPREFIX)$(COMMON_STUBNAME)$(ICULIBSUFFIX)$(SO_TARGET_VERSION_SUFFIX) 1.258 +ICULIBS_I18N = -l$(STATIC_PREFIX_WHEN_USED)$(ICUPREFIX)$(I18N_STUBNAME)$(ICULIBSUFFIX)$(SO_TARGET_VERSION_SUFFIX) 1.259 +ICULIBS_LE = -l$(STATIC_PREFIX_WHEN_USED)$(ICUPREFIX)$(LAYOUT_STUBNAME)$(ICULIBSUFFIX)$(SO_TARGET_VERSION_SUFFIX) 1.260 +ICULIBS_LX = -l$(STATIC_PREFIX_WHEN_USED)$(ICUPREFIX)$(LAYOUTEX_STUBNAME)$(ICULIBSUFFIX)$(SO_TARGET_VERSION_SUFFIX) 1.261 +ICULIBS_IO = -l$(STATIC_PREFIX_WHEN_USED)$(ICUPREFIX)$(IO_STUBNAME)$(ICULIBSUFFIX)$(SO_TARGET_VERSION_SUFFIX) 1.262 +ICULIBS_CTESTFW = -l$(STATIC_PREFIX_WHEN_USED)$(ICUPREFIX)$(CTESTFW_STUBNAME)$(ICULIBSUFFIX)$(SO_TARGET_VERSION_SUFFIX) 1.263 +ICULIBS_TOOLUTIL = -l$(STATIC_PREFIX_WHEN_USED)$(ICUPREFIX)$(TOOLUTIL_STUBNAME)$(ICULIBSUFFIX)$(SO_TARGET_VERSION_SUFFIX) 1.264 +# Link commands to link to ICU libs 1.265 +LLIBDIR = -L$(LIBDIR) 1.266 +LSTUBDIR = -L$(top_builddir)/stubdata 1.267 +LCTESTFW = -L$(top_builddir)/tools/ctestfw 1.268 + 1.269 +LIBICUDT = $(LLIBDIR) $(LSTUBDIR) $(ICULIBS_DT) 1.270 +LIBICUUC = $(LLIBDIR) $(ICULIBS_UC) $(LSTUBDIR) $(ICULIBS_DT) 1.271 +LIBICUI18N = $(LLIBDIR) $(ICULIBS_I18N) 1.272 +LIBICULE = $(LLIBDIR) $(ICULIBS_LE) 1.273 +LIBICULX = $(LLIBDIR) $(ICULIBS_LX) 1.274 +LIBCTESTFW = $(LCTESTFW) $(ICULIBS_CTESTFW) 1.275 +LIBICUTOOLUTIL = $(LLIBDIR) $(ICULIBS_TOOLUTIL) 1.276 +LIBICUIO = $(LLIBDIR) $(ICULIBS_IO) 1.277 + 1.278 +# Invoke, set library path for all ICU libraries. 1.279 +# overridden by icucross.mk 1.280 +INVOKE = $(LDLIBRARYPATH_ENVVAR)=$(LIBRARY_PATH_PREFIX)$(LIBDIR):$(top_builddir)/stubdata:$(top_builddir)/tools/ctestfw:$$$(LDLIBRARYPATH_ENVVAR) $(LEAK_CHECKER) 1.281 +# prefer stubdata 1.282 +PKGDATA_INVOKE = $(LDLIBRARYPATH_ENVVAR)=$(top_builddir)/stubdata:$(top_builddir)/tools/ctestfw:$(LIBRARY_PATH_PREFIX)$(LIBDIR):$$$(LDLIBRARYPATH_ENVVAR) $(LEAK_CHECKER) 1.283 +INSTALLED_INVOKE = $(LDLIBRARYPATH_ENVVAR)=$(libdir):$$$(LDLIBRARYPATH_ENVVAR) 1.284 + 1.285 +# Current full path directory for cross compilation 1.286 +ifneq ($(strip $(cross_buildroot)),) 1.287 +include $(cross_buildroot)/config/icucross.inc 1.288 +endif 1.289 + 1.290 +# Platform-specific setup 1.291 +include @platform_make_fragment@ 1.292 + 1.293 +# Current full path directory. 1.294 +CURR_FULL_DIR?=$(shell pwd | sed 's/ /\\ /g') 1.295 +# Current full path directory for use in source code in a -D compiler option. 1.296 +CURR_SRCCODE_FULL_DIR?=$(shell pwd | sed 's/ /\\ /') 1.297 + 1.298 +# When shared libraries are disabled and static libraries are enabled, 1.299 +# the C++ compiler must be used to link in the libraries for the tools. 1.300 +ifneq ($(ENABLE_SHARED),YES) 1.301 +LINK.c = $(LINK.cc) 1.302 +endif 1.303 + 1.304 +# some imported things from the cross env 1.305 +TOOLEXEEXT = $(EXEEXT) 1.306 +ifneq ($(strip $(cross_buildroot)),) 1.307 +include $(cross_buildroot)/config/icucross.mk 1.308 +else 1.309 +cross_buildroot = $(top_builddir) 1.310 +endif 1.311 + 1.312 +# for tests 1.313 +ifneq ($(TEST_STATUS_FILE),) 1.314 +TEST_OUTPUT_OPTS="-E$(TEST_STATUS_FILE)" 1.315 +endif 1.316 + 1.317 +# optional include at top 1.318 +-include $(top_builddir)/icudefs.local