16f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# -*-autoconf-*- 26f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_COPYRIGHT([ Copyright (c) 1999-2013, International Business Machines Corporation and others. All Rights Reserved. ]) 36f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# configure.in for ICU 46f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# Stephen F. Booth, heavily modified by Yves and others 56f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 66f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# Check for autoconf version 76f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_PREREQ(2.68) 86f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 96f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# Process this file with autoconf to produce a configure script 106f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_INIT([ICU]) 116f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 126f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#TODO: IcuBug:8502 136f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#AC_INIT([ICU], 146f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# m4_esyscmd_s([sed -n 's/^[ ]*#[ ]*define[ ]*U_ICU_VERSION[ ]*"\([^"]*\)".*/\1/p' "./common/unicode/uvernum.h]"), 156f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# [http://icu-project.org/bugs], 166f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# [International Components for Unicode], 176f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# [http://icu-project.org]) 186f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 196f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_CONFIG_SRCDIR([common/unicode/utypes.h]) 206f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 216f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgPACKAGE="icu" 226f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_SUBST(PACKAGE) 236f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 246f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# Use custom echo test for newline option 256f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# Current autoconf (2.65) gives incorrect echo newline option 266f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# for icu-config 276f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# This may be removed later - mow (June 17, 2010) 286f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgICU_ECHO_C= ICU_ECHO_N= ICU_ECHO_T= 296f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgcase `/bin/sh -c "echo -n x"` in 306f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org-n*) 316f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org case `/bin/sh -c "echo 'x\c'"` in 326f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org *c*) ICU_ECHO_T=' ';; # ECHO_T is single tab character. 336f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org *) ICU_ECHO_C='\c';; 346f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org esac;; 356f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org*) 366f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org ICU_ECHO_N='-n';; 376f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgesac 386f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_SUBST(ICU_ECHO_N) 396f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_SUBST(ICU_ECHO_C) 406f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_SUBST(ICU_ECHO_T) 416f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 426f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_MSG_CHECKING(for ICU version numbers) 436f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 446f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# Get the ICU version from uversion.h or other headers 456f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orggeticuversion() { 466f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org [sed -n 's/^[ ]*#[ ]*define[ ]*U_ICU_VERSION[ ]*"\([^"]*\)".*/\1/p' "$@"] 476f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org} 486f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orggetuversion() { 496f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org [sed -n 's/^[ ]*#[ ]*define[ ]*U_UNICODE_VERSION[ ]*"\([^"]*\)".*/\1/p' "$@"] 506f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org} 516f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgVERSION=`geticuversion $srcdir/common/unicode/uvernum.h` 526f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgif test x"$VERSION" = x; then 536f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org as_fn_error $? "Cannot determine ICU version number from uvernum.h header file" "$LINENO" 5 546f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgfi 556f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 566f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#TODO: IcuBug:8502 576f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#if test "$VERSION" != "$PACKAGE_VERSION"; then 586f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# AC_MSG_ERROR([configure was generated for $PACKAGE_VERSION but uvernum.h has $VERSION - please rerun autoconf]) 596f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#fi 606f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 616f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgUNICODE_VERSION=`getuversion $srcdir/common/unicode/uchar.h` 626f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgif test x"$UNICODE_VERSION" = x; then 636f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org AC_MSG_ERROR([Cannot determine Unicode version number from uchar.h header file]) 646f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgfi 656f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# Compute a reasonable library version from the release version. This is 666f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# very bad, but that's wanted... We want to make sure that the LIB_VERSION 676f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# has at least a dot in it, so we'll add a .0 if needed. 686f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#[LIB_VERSION=`echo $VERSION | sed -e 's/\.//' -e 's/^\([^.]*\)$/\1.0/'`] 696f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgLIB_VERSION=$VERSION 706f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgLIB_VERSION_MAJOR=`echo $LIB_VERSION | sed 's/\..*//'` 716f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_SUBST(VERSION) 726f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_SUBST(LIB_VERSION) 736f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_SUBST(LIB_VERSION_MAJOR) 746f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_MSG_RESULT([release $VERSION, library $LIB_VERSION, unicode version $UNICODE_VERSION]) 756f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 766f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_SUBST(UNICODE_VERSION) 776f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 786f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# Determine the host system 796f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_CANONICAL_HOST 806f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 816f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_SUBST(CPPFLAGS) 826f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 836f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# This variable is needed on z/OS because the C++ compiler only recognizes .C 846f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org_CXX_CXXSUFFIX=cpp 856f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgexport _CXX_CXXSUFFIX 866f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 876f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# Accumulate #defines 886f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 896f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# CONFIG_CPPFLAGS: These are defines that are set for ICU Build time only. 906f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# They are only needed for building ICU itself. Example: platform stuff 916f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgCONFIG_CPPFLAGS="" 926f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# UCONFIG_CPPFLAGS: These are defines which are set for ICU build time, 936f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# and also a notice is output that they need to be set 946f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# for end-users of ICU also. uconfig.h.prepend is generated 956f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# with, for example, "#define U_DISABLE_RENAMING 1" 966f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# Example: ICU configuration stuff 976f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgUCONFIG_CPPFLAGS="" 986f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# UCONFIG_CFLAGS: contains a copy of anything that needs to be set by end users 996f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# such as -std 1006f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgUCONFIG_CFLAGS="" 1016f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 1026f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# Check whether to build debug libraries 1036f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_MSG_CHECKING([whether to build debug libraries]) 1046f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgenabled=no 1056f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgENABLE_DEBUG=0 1066f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_ARG_ENABLE(debug, 1076f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org [ --enable-debug build debug libraries and enable the U_DEBUG define [default=no]], 1086f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org [ case "${enableval}" in 1096f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org yes|"") enabled=yes; ENABLE_DEBUG=1; CONFIG_CPPFLAGS="$CONFIG_CPPFLAGS -DU_DEBUG=1" ;; 1106f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org *) ;; 1116f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org esac], 1126f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org) 1136f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_MSG_RESULT($enabled) 1146f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_SUBST(ENABLE_DEBUG) 1156f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 1166f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# Check whether to build release libraries 1176f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_MSG_CHECKING([whether to build release libraries]) 1186f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgenabled=yes 1196f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgENABLE_RELEASE=1 1206f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_ARG_ENABLE(release, 1216f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org [ --enable-release build release libraries [default=yes]], 1226f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org [ case "${enableval}" in 1236f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org no) enabled=no; ENABLE_RELEASE=0 ;; 1246f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org *) ;; 1256f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org esac], 1266f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org) 1276f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_MSG_RESULT($enabled) 1286f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_SUBST(ENABLE_RELEASE) 1296f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 1306f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# Don't use the default C/CXXFLags 1316f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org: ${CFLAGS=""} 1326f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org: ${CXXFLAGS=""} 1336f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 1346f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# Checks for compilers 1356f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_PROG_CC([clang gcc cc c99 c89 xlc_r xlc cl.exe icc]) 1366f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# Make sure that we try clang++ first, which provides C++11 support. 1376f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# The g++ compiler is less likely to support C++11. 1386f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_PROG_CXX([clang++ g++ c++ gpp xlC_r xlC aCC CC cxx cc++ cl.exe icc FCC KCC RCC]) 1396f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 1406f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# Ensure that if CXXFLAGS/CFLAGS were not set when calling configure, set it correctly based on (enable/disable) debug or release option 1416f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# The release mode use is the default one for autoconf 1426f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgif test "$GCC" = yes; then 1436f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org if test "$CFLAGS" = ""; then 1446f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org if test "$ENABLE_DEBUG" = 1; then 1456f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org CFLAGS=-g 1466f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org fi 1476f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org if test "$ENABLE_RELEASE" = 1; then 1486f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org CFLAGS="$CFLAGS -O2" 1496f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org fi 1506f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org fi 1516f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org if test "$CXXFLAGS" = ""; then 1526f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org if test "$ENABLE_DEBUG" = 1; then 1536f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org CXXFLAGS=-g 1546f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org fi 1556f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org if test "$ENABLE_RELEASE" = 1; then 1566f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org CXXFLAGS="$CXXFLAGS -O2" 1576f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org fi 1586f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org fi 1596f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgfi 1606f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 1616f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_PROG_CPP 1626f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 1636f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_PROG_INSTALL 1646f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 1656f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_SUBST(cross_compiling) 1666f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 1676f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgdnl use the pld hack to get ac_fn_cxx_try_link defined globally and not local 1686f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_LANG_PUSH([C++]) 1696f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_LINK_IFELSE([AC_LANG_PROGRAM()]) 1706f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_LANG_POP([C++]) 1716f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 1726f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# make sure install is relative to srcdir - if a script 1736f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgif test "$srcdir" = "."; then 1746f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org # If srcdir isn't just ., then (srcdir) is already prepended. 1756f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org if test "${ac_install_sh}" = "${INSTALL}"; then 1766f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org INSTALL="\\\$(top_srcdir)/${ac_install_sh}" 1776f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org fi 1786f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgfi 1796f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 1806f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#AC_CHECK_PROG(AUTOCONF, autoconf, autoconf, true) 1816f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#AC_CHECK_PROG(STRIP, strip, strip, true) 1826f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 1836f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# Check for the platform make 1846f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_PATH_PROGS(U_MAKE, gmake gnumake, make) 1856f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_SUBST(U_MAKE) 1866f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 1876f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 1886f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_ARG_WITH(cross-build, 1896f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org [ --with-cross-build=dir specify an absolute path to the build directory of an ICU built for the current platform [default=no cross dir]], 1906f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org [cross_buildroot="${withval}"], 1916f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org [cross_buildroot=""]) 1926f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 1936f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgif test "X$cross_buildroot" = "X"; then 1946f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org if test "$cross_compiling" = "yes"; then 1956f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org AC_MSG_ERROR([Error! Cross compiling but no --with-cross-build option specified - please supply the path to an executable ICU's build root]) 1966f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org dnl ' 1976f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org fi 1986f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgelse 1996f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org if test -f "${cross_buildroot}/config/icucross.mk"; then 2006f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org AC_MSG_RESULT([Using cross buildroot: $cross_buildroot]) 2016f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org else 2026f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org if test -d "${cross_buildroot}"; then 2036f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org AC_MSG_ERROR([${cross_buildroot}/config/icucross.mk not found. Please build ICU in ${cross_buildroot} first.]) 2046f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org else 2056f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org AC_MSG_ERROR([No such directory ${cross_buildroot} supplied as the argument to --with-cross-build. Use an absolute path.]) 2066f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org fi 2076f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org fi 2086f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgfi 2096f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_SUBST(cross_buildroot) 2106f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 2116f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# Check for doxygen to generate documentation 2126f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_PATH_PROG(DOXYGEN,doxygen,,$PATH:/usr/local/bin:/usr/bin) 2136f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 2146f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# Check that the linker is usable 2156f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgICU_PROG_LINK 2166f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 2176f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# Determine the executable suffix 2186f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# We don't use AC_EXEEXT because some compilers output separate debugging 2196f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# files, which confuses the AC_EXEEXT macro. 2206f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_MSG_CHECKING(checking for executable suffix) 2216f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgcase "${host}" in 2226f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org *-*-cygwin*|*-*-mingw*) EXEEXT=.exe ;; 2236f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org *) EXEEXT="" ;; 2246f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgesac 2256f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgac_exeext=$EXEEXT 2266f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_MSG_RESULT($EXEEXT) 2276f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_SUBST(EXEEXT) 2286f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 2296f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# Determine how strict we want to be when compiling 2306f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_CHECK_STRICT_COMPILE 2316f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 2326f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# Check if we can build and use 64-bit libraries 2336f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_CHECK_64BIT_LIBS 2346f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_SUBST(ARFLAGS) 2356f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_SUBST(COMPILE_LINK_ENVVAR) 2366f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 2376f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# Determine the Makefile fragment 2386f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgICU_CHECK_MH_FRAG 2396f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 2406f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# Checks for libraries and other host specific stuff 2416f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# On HP/UX, don't link to -lm from a shared lib because it isn't 2426f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# PIC (at least on 10.2) 2436f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgcase "${host}" in 2446f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org *-*-hpux*) AC_CHECK_LIB(m, floor, LIB_M="-lm") ;; 2456f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 2466f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org *) AC_CHECK_LIB(m, floor) 2476f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org LIB_M="" ;; 2486f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgesac 2496f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_SUBST(LIB_M) 2506f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 2516f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# Check whether to build shared libraries 2526f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_MSG_CHECKING([whether to build shared libraries]) 2536f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgenabled=no 2546f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_ARG_ENABLE(shared, 2556f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org [ --enable-shared build shared libraries [default=yes]], 2566f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org [ case "${enableval}" in 2576f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org yes|"") enabled=yes; ENABLE_SHARED=YES ;; 2586f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org no);; 2596f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org *) ;; 2606f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org esac], 2616f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org [enabled=yes; ENABLE_SHARED=YES] 2626f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org) 2636f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_MSG_RESULT($enabled) 2646f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_SUBST(ENABLE_SHARED) 2656f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 2666f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# Check whether to build static libraries 2676f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_MSG_CHECKING([whether to build static libraries]) 2686f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgenabled=no 2696f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_ARG_ENABLE(static, 2706f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org [ --enable-static build static libraries [default=no]], 2716f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org [ case "${enableval}" in 2726f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org yes|"") enabled=yes; ENABLE_STATIC=YES ;; 2736f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org no) ;; 2746f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org *) ;; 2756f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org esac], 2766f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org) 2776f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_MSG_RESULT($enabled) 2786f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_SUBST(ENABLE_STATIC) 2796f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 2806f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# When building release static library, there might be some optimization flags we can use 2816f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgif test "$ENABLE_STATIC" = "YES"; then 2826f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org if test "$ENABLE_SHARED" != "YES"; then 2836f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org if test "$ENABLE_RELEASE" = 1; then 2846f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org AC_MSG_CHECKING([whether we can use static library optimization option]) 2856f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org CHECK_STATIC_OPT_FLAG=no 2866f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 2876f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org OLD_CPPFLAGS="${CPPFLAGS}" 2886f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org OLD_LDFLAGS="${LDFLAGS}" 2896f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 2906f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org case "${host}" in 2916f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org *-linux*|i*86-*-*bsd*|i*86-pc-gnu) 2926f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org if test "$GCC" = yes; then 2936f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org CPPFLAGS="${CPPFLAGS} -ffunction-sections -fdata-sections" 2946f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org LDFLAGS="${LDFLAGS} -Wl,--gc-sections" 2956f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org fi 2966f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org ;; 2976f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org *) 2986f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org ;; 2996f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org esac 3006f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 3016f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org AC_LINK_IFELSE([AC_LANG_PROGRAM([], [])], [CHECK_STATIC_OPT_FLAG=yes], [CHECK_STATIC_OPT_FLAG=no]) 3026f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org AC_MSG_RESULT($CHECK_STATIC_OPT_FLAG) 3036f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org if test "$CHECK_STATIC_OPT_FLAG" = no; then 3046f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org CPPFLAGS="${OLD_CPPFLAGS}" 3056f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org LDFLAGS="${OLD_LDFLAGS}" 3066f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org fi 3076f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org fi 3086f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org fi 3096f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgfi 3106f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 3116f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 3126f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# Check whether to enable auto cleanup of libraries 3136f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_MSG_CHECKING([whether to enable auto cleanup of libraries]) 3146f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgenabled=no 3156f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgUCLN_NO_AUTO_CLEANUP=1 3166f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_ARG_ENABLE(auto-cleanup, 3176f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org [ --enable-auto-cleanup enable auto cleanup of libraries [default=no]], 3186f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org [ case "${enableval}" in 3196f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org yes) enabled=yes; 3206f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org CONFIG_CPPFLAGS="$CONFIG_CPPFLAGS -DUCLN_NO_AUTO_CLEANUP=0"; 3216f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org UCLN_NO_AUTO_CLEANUP=0 3226f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org ;; 3236f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org *) ;; 3246f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org esac], 3256f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org) 3266f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_MSG_RESULT($enabled) 3276f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_SUBST(UCLN_NO_AUTO_CLEANUP) 3286f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 3296f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# MSVC floating-point option 3306f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgMSVC_RELEASE_FLAG="" 3316f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgif test $enabled = yes 3326f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgthen 3336f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org if test $icu_cv_host_frag = mh-cygwin-msvc 3346f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org then 3356f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ 3366f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org #if defined _MSC_VER && _MSC_VER >= 1400 3376f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org #else 3386f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org Microsoft Visual C++ < 2005 3396f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org #endif 3406f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org ]], [[]])],[MSVC_RELEASE_FLAG="/fp:precise"],[MSVC_RELEASE_FLAG="/Op"]) 3416f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 3426f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org CFLAGS="${CFLAGS} ${MSVC_RELEASE_FLAG}" 3436f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org CXXFLAGS="${CXXFLAGS} ${MSVC_RELEASE_FLAG}" 3446f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org fi 3456f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgfi 3466f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 3476f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# Check whether to enabled draft APIs 3486f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_MSG_CHECKING([whether to enable draft APIs]) 3496f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgenabled=yes 3506f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgU_DEFAULT_SHOW_DRAFT=1 3516f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_ARG_ENABLE(draft, 3526f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org [ --enable-draft enable draft APIs (and internal APIs) [default=yes]], 3536f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org [ case "${enableval}" in 3546f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org no) enabled=no; U_DEFAULT_SHOW_DRAFT=0; 3556f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org CONFIG_CPPFLAGS="$CONFIG_CPPFLAGS -DU_DEFAULT_SHOW_DRAFT=0" 3566f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org ;; 3576f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org *) ;; 3586f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org esac], 3596f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org) 3606f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_MSG_RESULT($enabled) 3616f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# Make sure that we can use draft API in ICU. 3626f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgif test "$U_DEFAULT_SHOW_DRAFT" = 0; then 3636f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org CONFIG_CPPFLAGS="$CONFIG_CPPFLAGS -DU_SHOW_DRAFT_API" 3646f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgfi 3656f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_SUBST(U_DEFAULT_SHOW_DRAFT) 3666f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 3676f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_PROG_RANLIB 3686f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 3696f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# look for 'ar' the proper way 3706f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_CHECK_TOOL(AR, ar, false) 3716f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 3726f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_MSG_CHECKING([whether to enable renaming of symbols]) 3736f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgenabled=yes 3746f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgU_DISABLE_RENAMING=0 3756f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_ARG_ENABLE(renaming, 3766f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org [ --enable-renaming add a version suffix to symbols [default=yes]], 3776f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org [ case "${enableval}" in 3786f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org yes|"") enabled=yes ;; 3796f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org no) enabled=no; U_DISABLE_RENAMING=1; 3806f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org UCONFIG_CPPFLAGS="${UCONFIG_CPPFLAGS} -DU_DISABLE_RENAMING=1" 3816f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org ;; 3826f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org *) ;; 3836f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org esac], 3846f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org) 3856f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_MSG_RESULT($enabled) 3866f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_SUBST(U_DISABLE_RENAMING) 3876f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 3886f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_MSG_CHECKING([whether to enable function and data tracing]) 3896f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgenabled=no 3906f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgU_ENABLE_TRACING=0 3916f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_ARG_ENABLE(tracing, 3926f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org [ --enable-tracing enable function and data tracing [default=no]], 3936f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org [ case "${enableval}" in 3946f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org yes|"") enabled=yes; 3956f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org CONFIG_CPPFLAGS="$CONFIG_CPPFLAGS -DU_ENABLE_TRACING=1"; 3966f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org U_ENABLE_TRACING=1 ;; 3976f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org no) enabled=no; U_ENABLE_TRACING=0 ;; 3986f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org *) ;; 3996f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org esac], 4006f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org) 4016f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_MSG_RESULT($enabled) 4026f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_SUBST(U_ENABLE_TRACING) 4036f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 4046f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# check if elf.h is present. 4056f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_CHECK_HEADERS([elf.h]) 4066f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgif test "x$ac_cv_header_elf_h" = "xyes"; then 4076f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org CONFIG_CPPFLAGS="$CONFIG_CPPFLAGS -DU_HAVE_ELF_H=1"; 4086f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgfi 4096f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 4106f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgU_ENABLE_DYLOAD=1 4116f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgenable=yes 4126f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_MSG_CHECKING([whether to enable dynamic loading of plugins]) 4136f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_ARG_ENABLE(dyload, 4146f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org [ --disable-dyload disable dynamic loading [default=no]], 4156f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org [ case "${enableval}" in 4166f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org yes|"") 4176f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org U_ENABLE_DYLOAD=1 4186f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org enable=yes 4196f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org ;; 4206f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org no) 4216f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org U_ENABLE_DYLOAD=0; 4226f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org enable=no; 4236f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org CONFIG_CPPFLAGS="$CONFIG_CPPFLAGS -DU_ENABLE_DYLOAD=0"; 4246f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org ;; 4256f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org *) ;; 4266f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org esac], 4276f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org) 4286f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_MSG_RESULT($enable) 4296f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_SUBST(U_ENABLE_DYLOAD) 4306f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 4316f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgif test "$enable" = "yes"; then 4326f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org AC_CHECK_HEADERS([dlfcn.h]) 4336f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org #AC_MSG_RESULT($enabled) 4346f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org AC_SEARCH_LIBS([dlopen], [dl]) 4356f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org AC_CHECK_FUNCS([dlopen]) 4366f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 4376f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org if test "x$ac_cv_func_dlopen" != xyes; then 4386f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org CONFIG_CPPFLAGS="$CONFIG_CPPFLAGS -DHAVE_DLOPEN=0" 4396f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org fi 4406f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgfi 4416f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 4426f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# Check for miscellanous functions. 4436f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# So, use for putil / tools only. 4446f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# Note that this will generate HAVE_GETTIMEOFDAY, not U_HAVE_GETTIMEOFDAY 4456f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_CHECK_FUNCS([gettimeofday]) 4466f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 4476f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 4486f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# Check whether to use the evil rpath or not 4496f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_ARG_ENABLE(rpath, 4506f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org [ --enable-rpath use rpath when linking [default is only if necessary]], 4516f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org [ case "${enableval}" in 4526f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org yes|"") ENABLE_RPATH=YES ;; 4536f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org no) ;; 4546f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org *) ;; 4556f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org esac], 4566f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org [ENABLE_RPATH=NO] 4576f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org) 4586f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_SUBST(ENABLE_RPATH) 4596f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 4606f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 4616f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 4626f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_LANG_PUSH([C++]) 4636f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_MSG_CHECKING([[if we have a C++ compiler]]) 4646f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[cxx_okay=yes],[cxx_okay=no]) 4656f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgif test $cxx_okay = yes 4666f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgthen 4676f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org AC_MSG_RESULT([[Good]]) 4686f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgelse 4696f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org AC_MSG_RESULT([[no]]) 4706f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org AC_MSG_ERROR([[C++ compiler $CXX does not work or no compiler found]]) 4716f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgfi 4726f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 4736f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgif [[ "$GXX" = yes ]]; then 4746f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org # if CXXFLAGS does not have a "-std=" setting, set it now to -std=c++0x, 4756f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org # and check that the compiler still works. 4766f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org if ! echo "$CXXFLAGS" | grep '\-std=' >/dev/null 2>&1; then 4776f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org OLD_CXXFLAGS="${CXXFLAGS}" 4786f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org CXXFLAGS="$CXXFLAGS --std=c++0x" 4796f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org AC_MSG_CHECKING([[if we have a C++11 compiler]]) 4806f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[cxx11_okay=yes],[cxx11_okay=no]) 4816f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org AC_MSG_RESULT($cxx11_okay) 4826f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org if [[ $cxx11_okay = yes ]]; then 4836f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org AC_MSG_NOTICE([Adding CXXFLAGS option --std=c++0x]) 4846f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org UCONFIG_CXXFLAGS="${UCONFIG_CXXFLAGS} --std=c++0x" 4856f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org else 4866f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org CXXFLAGS="$OLD_CXXFLAGS" 4876f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org fi 4886f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org fi 4896f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgfi 4906f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 4916f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_MSG_CHECKING([[if #include <string> works]]) 4926f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <string>]], [[]])], [ac_cv_header_stdstring=yes], [ac_cv_header_stdstring=no]) 4936f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_MSG_RESULT($ac_cv_header_stdstring) 4946f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgif test $ac_cv_header_stdstring = yes 4956f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgthen 4966f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org U_HAVE_STD_STRING=1 4976f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgelse 4986f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org U_HAVE_STD_STRING=0 4996f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org CONFIG_CPPFLAGS="${CONFIG_CPPFLAGS} -DU_HAVE_STD_STRING=0" 5006f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgfi 5016f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_SUBST(U_HAVE_STD_STRING) 5026f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 5036f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 5046f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_MSG_CHECKING([[if #include <atomic> works]]) 5056f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <atomic>]], [[]])], [ac_cv_header_atomic=yes], [ac_cv_header_atomic=no]) 5066f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_MSG_RESULT($ac_cv_header_atomic) 5076f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgif test $ac_cv_header_atomic = yes 5086f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgthen 5096f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org U_HAVE_ATOMIC=1 5106f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgelse 5116f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org U_HAVE_ATOMIC=0 5126f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgfi 5136f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# Make this available via CPPFLAGS 5146f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgCONFIG_CPPFLAGS="${CONFIG_CPPFLAGS} -DU_HAVE_ATOMIC=${U_HAVE_ATOMIC}" 5156f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_SUBST(U_HAVE_ATOMIC) 5166f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 5176f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_LANG_POP([C++]) 5186f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 5196f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# Always build ICU with multi-threading support. 5206f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgthreads=true 5216f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgICU_USE_THREADS=1 5226f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgOLD_LIBS=${LIBS} 5236f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 5246f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgif test $threads = true; then 5256f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org # For Compaq Tru64 (OSF1), we must look for pthread_attr_init 5266f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org # and must do this before seaching for pthread_mutex_destroy, or 5276f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org # we will pick up libpthreads.so not libpthread.so 5286f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org # If this fails, then we must test for HPUX specials, before 5296f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org # moving on to a more generic test 5306f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 5316f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org AC_CHECK_LIB(pthread, pthread_attr_init) 5326f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org if test $ac_cv_lib_pthread_pthread_attr_init = yes; then 5336f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org ICU_USE_THREADS=1 5346f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org else 5356f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org # Locate the right library for POSIX threads. We look for the 5366f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org # symbols in the libraries first, because on Solaris libc provides 5376f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org # pthread_create but libpthread has the real code :( 5386f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org # AIX uses libpthreads instead of libpthread, and HP/UX uses libpthread 5396f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org # FreeBSD users may need libpthread if they do not have libc_r. 5406f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 5416f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org AC_SEARCH_LIBS_FIRST(pthread_mutex_destroy, pthread pthreads c_r ) 5426f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 5436f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org if test "$ac_cv_search_pthread_mutex_destroy" != no; then 5446f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org ICU_USE_THREADS=1 5456f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org else 5466f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org # For HP 11 5476f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org AC_CHECK_LIB(pthread, pthread_mutex_init) 5486f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org if test $ac_cv_lib_pthread_pthread_mutex_init = yes; then 5496f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org ICU_USE_THREADS=1 5506f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org fi 5516f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org fi 5526f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 5536f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org AC_CHECK_FUNC(pthread_mutex_lock) 5546f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 5556f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org if test $ac_cv_func_pthread_mutex_lock = yes; then 5566f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org ICU_USE_THREADS=1 5576f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org fi 5586f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org fi 5596f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org # Check to see if we are using CygWin with MSVC 5606f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org case "${host}" in 5616f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org *-pc-cygwin*|*-pc-mingw*) 5626f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org # For gcc, the thread options are set by mh-mingw/mh-cygwin 5636f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org # For msvc, the thread options are set by runConfigureICU 5646f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org ICU_USE_THREADS=1 5656f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org ;; 5666f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org *-*-hpux*) 5676f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org # Add -mt because it does several nice things on newer compilers. 5686f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org case "${icu_cv_host_frag}" in 5696f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org mh-hpux-acc) 5706f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org OLD_CXXFLAGS="${CXXFLAGS}" 5716f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org CXXFLAGS="${CXXFLAGS} -mt" 5726f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org if test x"`${CXX} ${CXXFLAGS} 2>&1`" != x""; then 5736f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org CXXFLAGS="${OLD_CXXFLAGS}" 5746f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org else 5756f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org UCONFIG_CXXFLAGS="${UCONFIG_CXXFLAGS} -mt" 5766f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org fi 5776f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org ;; 5786f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org esac 5796f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org ;; 5806f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org *-*-solaris*) 5816f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org case "${icu_cv_host_frag}" in 5826f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org mh-solaris) 5836f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org LIBS="${LIBS} -mt" 5846f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org ;; 5856f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org esac 5866f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org ;; 5876f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org esac 5886f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgfi 5896f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 5906f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_ARG_ENABLE(weak-threads, 5916f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org [ --enable-weak-threads weakly reference the threading library [default=no]], 5926f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org [case "${enableval}" in 5936f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org yes) 5946f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org LIB_THREAD="${LIBS%${OLD_LIBS}}" 5956f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org LIBS=${OLD_LIBS} 5966f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org ;; 5976f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org no) ;; 5986f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org *) AC_MSG_ERROR(bad value ${enableval} for --enable-weak-threads) ;; 5996f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org esac]) 6006f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_SUBST(LIB_THREAD) 6016f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 6026f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# Check for mmap() 6036f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 6046f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# The AC_FUNC_MMAP macro doesn't work properly. It seems to be too specific. 6056f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# Do this check instead. 6066f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgHAVE_MMAP=0 6076f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_MSG_CHECKING([for mmap]) 6086f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_CACHE_VAL(ac_cv_func_mmap_ok, 6096f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org [AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <unistd.h> 6106f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#include <sys/mman.h> 6116f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#include <sys/stat.h> 6126f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#include <fcntl.h>], [mmap((void *)0, 0, PROT_READ, 0, 0, 0);])],[ac_cv_func_mmap_ok=yes],[ac_cv_func_mmap_ok=no])] ) 6136f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_MSG_RESULT($ac_cv_func_mmap_ok) 6146f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgif test $ac_cv_func_mmap_ok = yes 6156f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgthen 6166f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org HAVE_MMAP=1 6176f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgelse 6186f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org CONFIG_CPPFLAGS="${CONFIG_CPPFLAGS} -DU_HAVE_MMAP=0" 6196f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgfi 6206f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_SUBST(HAVE_MMAP) 6216f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 6226f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_MSG_CHECKING([for genccode assembly]) 6236f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 6246f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# Check to see if genccode can generate simple assembly. 6256f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgGENCCODE_ASSEMBLY= 6266f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgcase "${host}" in 6276f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org*-linux*|*-kfreebsd*-gnu*|i*86-*-*bsd*|i*86-pc-gnu) 6286f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org if test "$GCC" = yes; then 6296f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org # We're using gcc, and the simple -a gcc command line works for genccode 6306f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org GENCCODE_ASSEMBLY="-a gcc" 6316f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org fi ;; 6326f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgi*86-*-solaris*) 6336f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org if test "$GCC" = yes; then 6346f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org # When using gcc, look if we're also using GNU as. 6356f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org # When using GNU as, the simple -a gcc command line works for genccode. 6366f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org asv=`"${CC}" -print-prog-name=as 2>/dev/null` 6376f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org asv=`"${asv}" --version 2>/dev/null` 6386f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org case "X${asv}" in 6396f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org X*GNU*) GENCCODE_ASSEMBLY="-a gcc" ;; 6406f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org X*) GENCCODE_ASSEMBLY="-a sun-x86" ;; 6416f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org esac 6426f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org unset asv 6436f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org else 6446f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org GENCCODE_ASSEMBLY="-a sun-x86" 6456f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org fi ;; 6466f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgsparc-*-solaris*) 6476f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org GENCCODE_ASSEMBLY="-a sun" 6486f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org ;; 6496f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgia64-*-hpux*) 6506f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org GENCCODE_ASSEMBLY="-a aCC-ia64" 6516f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org ;; 6526f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgesac 6536f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_SUBST(GENCCODE_ASSEMBLY) 6546f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 6556f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_MSG_RESULT($GENCCODE_ASSEMBLY) 6566f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 6576f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# Checks for header files 6586f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_CHECK_HEADERS(inttypes.h) 6596f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgif test $ac_cv_header_inttypes_h = no; then 6606f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org U_HAVE_INTTYPES_H=0 6616f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org CONFIG_CPPFLAGS="${CONFIG_CPPFLAGS} -DU_HAVE_INTTYPES_H=0" 6626f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgelse 6636f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org U_HAVE_INTTYPES_H=1 6646f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgfi 6656f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgif test "$CC" = ccc; then 6666f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org AC_MSG_RESULT("C compiler set to CCC ${CC}" ) 6676f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org case "${host}" in 6686f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org alpha*-*-*) U_HAVE_INTTYPES_H=0; 6696f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org CONFIG_CPPFLAGS="${CONFIG_CPPFLAGS} -DU_HAVE_INTTYPES_H=0" 6706f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org esac 6716f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgfi 6726f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 6736f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_SUBST(U_HAVE_INTTYPES_H) 6746f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 6756f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_CHECK_HEADERS(dirent.h) 6766f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgif test $ac_cv_header_dirent_h = no; then 6776f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org U_HAVE_DIRENT_H=0 6786f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org CONFIG_CPPFLAGS="${CONFIG_CPPFLAGS} -DU_HAVE_DIRENT_H=0" 6796f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgelse 6806f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org U_HAVE_DIRENT_H=1 6816f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgfi 6826f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 6836f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_SUBST(U_HAVE_DIRENT_H) 6846f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 6856f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# Check for endianness 6866f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_C_BIGENDIAN() 6876f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgif test $ac_cv_c_bigendian = no; then 6886f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgU_IS_BIG_ENDIAN=0 6896f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgU_ENDIAN_CHAR="l" 6906f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgelse 6916f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgU_IS_BIG_ENDIAN=1 6926f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgU_ENDIAN_CHAR="b" 6936f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgfi 6946f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_SUBST(U_IS_BIG_ENDIAN) 6956f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 6966f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# Do various POSIX related checks 6976f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgU_HAVE_NL_LANGINFO_CODESET=0 6986f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgU_NL_LANGINFO_CODESET=-1 6996f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_CHECK_FUNC(nl_langinfo,[U_HAVE_NL_LANGINFO=1],[U_HAVE_NL_LANGINFO=0]) 7006f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgdnl AC_SUBST(U_HAVE_NL_LANGINFO) 7016f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgif test $U_HAVE_NL_LANGINFO -eq 1; then 7026f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org AC_CACHE_CHECK([for nl_langinfo's argument to obtain the codeset], 7036f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org ac_cv_nl_langinfo_codeset, 7046f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org [ac_cv_nl_langinfo_codeset="unknown" 7056f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org for a in CODESET _NL_CTYPE_CODESET_NAME; do 7066f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <langinfo.h>]], [[nl_langinfo($a);]])],[ac_cv_nl_langinfo_codeset="$a"; break],[])] 7076f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org done) 7086f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org if test x$ac_cv_nl_langinfo_codeset != xunknown 7096f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org then 7106f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org U_HAVE_NL_LANGINFO_CODESET=1 7116f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org U_NL_LANGINFO_CODESET=$ac_cv_nl_langinfo_codeset 7126f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org if test "x${ac_cv_nl_langinfo_codeset}" != "xCODESET" 7136f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org then 7146f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org CONFIG_CPPFLAGS="${CONFIG_CPPFLAGS} -DNL_LANGINFO_CODESET=${ac_cv_nl_langinfo_codeset}" 7156f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org fi 7166f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org else 7176f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org CONFIG_CPPFLAGS="${CONFIG_CPPFLAGS} -DU_HAVE_NL_LANGINFO_CODESET=0" 7186f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org fi 7196f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgfi 7206f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_SUBST(U_HAVE_NL_LANGINFO_CODESET) 7216f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_SUBST(U_NL_LANGINFO_CODESET) 7226f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 7236f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# Namespace support checks 7246f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_LANG(C++) 7256f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_MSG_CHECKING([for namespace support]) 7266f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_CACHE_VAL(ac_cv_namespace_ok, 7276f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org [AC_LINK_IFELSE([AC_LANG_PROGRAM([namespace x_version {void f(){}} 7286f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org namespace x = x_version; 7296f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org using namespace x_version; 7306f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org ], [f();])],[ac_cv_namespace_ok=yes],[ac_cv_namespace_ok=no])] ) 7316f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_MSG_RESULT($ac_cv_namespace_ok) 7326f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgif test $ac_cv_namespace_ok = no 7336f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgthen 7346f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org AC_MSG_ERROR(Namespace support is required to build ICU.) 7356f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgfi 7366f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 7376f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_MSG_CHECKING([for properly overriding new and delete]) 7386f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgU_OVERRIDE_CXX_ALLOCATION=0 7396f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgU_HAVE_PLACEMENT_NEW=0 7406f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_CACHE_VAL(ac_cv_override_cxx_allocation_ok, 7416f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <stdlib.h> 7426f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org class UMemory { 7436f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org public: 7446f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org void *operator new(size_t size) {return malloc(size);} 7456f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org void *operator new[](size_t size) {return malloc(size);} 7466f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org void operator delete(void *p) {free(p);} 7476f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org void operator delete[](void *p) {free(p);} 7486f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org }; 7496f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org ]], [])],[ac_cv_override_cxx_allocation_ok=yes],[ac_cv_override_cxx_allocation_ok=no])] ) 7506f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_MSG_RESULT($ac_cv_override_cxx_allocation_ok) 7516f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgif test $ac_cv_override_cxx_allocation_ok = yes 7526f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgthen 7536f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org U_OVERRIDE_CXX_ALLOCATION=1 7546f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org AC_MSG_CHECKING([for placement new and delete]) 7556f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org AC_CACHE_VAL(ac_cv_override_placement_new_ok, 7566f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <stdlib.h> 7576f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org class UMemory { 7586f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org public: 7596f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org void *operator new(size_t size) {return malloc(size);} 7606f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org void *operator new[](size_t size) {return malloc(size);} 7616f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org void operator delete(void *p) {free(p);} 7626f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org void operator delete[](void *p) {free(p);} 7636f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org void * operator new(size_t, void *ptr) { return ptr; } 7646f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org void operator delete(void *, void *) {} 7656f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org }; 7666f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org ]], [])],[ac_cv_override_placement_new_ok=yes],[ac_cv_override_placement_new_ok=no])] ) 7676f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org AC_MSG_RESULT($ac_cv_override_placement_new_ok) 7686f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org if test $ac_cv_override_placement_new_ok = yes 7696f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org then 7706f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org U_HAVE_PLACEMENT_NEW=1 7716f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org else 7726f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org CONFIG_CPPFLAGS="${CONFIG_CPPFLAGS} -DU_HAVE_PLACEMENT_NEW=0" 7736f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org fi 7746f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgelse 7756f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org CONFIG_CPPFLAGS="${CONFIG_CPPFLAGS} -DU_OVERRIDE_CXX_ALLOCATION=0" 7766f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgfi 7776f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_SUBST(U_OVERRIDE_CXX_ALLOCATION) 7786f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_SUBST(U_HAVE_PLACEMENT_NEW) 7796f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 7806f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_LANG(C) 7816f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_CHECK_FUNC(popen) 7826f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgif test x$ac_cv_func_popen = xyes 7836f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgthen 7846f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org U_HAVE_POPEN=1 7856f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgelse 7866f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org CONFIG_CPPFLAGS="${CONFIG_CPPFLAGS} -DU_HAVE_POPEN=0" 7876f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org U_HAVE_POPEN=0 7886f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgfi 7896f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_SUBST(U_HAVE_POPEN) 7906f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 7916f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_CHECK_FUNC(tzset) 7926f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgU_HAVE_TZSET=0 7936f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgif test x$ac_cv_func_tzset = xyes 7946f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgthen 7956f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org U_TZSET=tzset 7966f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org U_HAVE_TZSET=1 7976f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgelse 7986f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org AC_CHECK_FUNC(_tzset) 7996f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org if test x$ac_cv_func__tzset = xyes 8006f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org then 8016f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org U_TZSET=_tzset 8026f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org U_HAVE_TZSET=1 8036f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org else 8046f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org CONFIG_CPPFLAGS="${CONFIG_CPPFLAGS} -DU_HAVE_TZSET=0" 8056f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org fi 8066f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgfi 8076f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_SUBST(U_HAVE_TZSET) 8086f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_SUBST(U_TZSET) 8096f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 8106f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgU_HAVE_TZNAME=0 8116f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_CACHE_CHECK(for tzname,ac_cv_var_tzname, 8126f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org[AC_LINK_IFELSE([AC_LANG_PROGRAM([[#ifndef __USE_POSIX 8136f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#define __USE_POSIX 8146f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#endif 8156f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#include <stdlib.h> 8166f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#include <time.h> 8176f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#ifndef tzname /* For SGI. */ 8186f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgextern char *tzname[]; /* RS6000 and others reject char **tzname. */ 8196f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#endif]], [atoi(*tzname);])],[ac_cv_var_tzname=yes],[ac_cv_var_tzname=no])]) 8206f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgif test $ac_cv_var_tzname = yes; then 8216f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org U_TZNAME=tzname 8226f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org U_HAVE_TZNAME=1 8236f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgelse 8246f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org AC_CACHE_CHECK(for _tzname,ac_cv_var__tzname, 8256f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <stdlib.h> 8266f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org #include <time.h> 8276f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org extern char *_tzname[];]], [atoi(*_tzname);])],[ac_cv_var__tzname=yes],[ac_cv_var__tzname=no])]) 8286f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org if test $ac_cv_var__tzname = yes; then 8296f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org U_TZNAME=_tzname 8306f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org U_HAVE_TZNAME=1 8316f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org else 8326f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org CONFIG_CPPFLAGS="${CONFIG_CPPFLAGS} -DU_HAVE_TZNAME=0" 8336f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org fi 8346f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgfi 8356f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_SUBST(U_HAVE_TZNAME) 8366f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_SUBST(U_TZNAME) 8376f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 8386f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_CACHE_CHECK(for timezone,ac_cv_var_timezone, 8396f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org[AC_LINK_IFELSE([AC_LANG_PROGRAM([#ifndef __USE_POSIX 8406f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#define __USE_POSIX 8416f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#endif 8426f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#ifndef __USE_XOPEN 8436f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#define __USE_XOPEN 8446f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#endif 8456f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#include <time.h> 8466f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org], [[timezone = 1;]])],[ac_cv_var_timezone=yes],[ac_cv_var_timezone=no])]) 8476f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgU_HAVE_TIMEZONE=0 8486f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgif test $ac_cv_var_timezone = yes; then 8496f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org U_TIMEZONE=timezone 8506f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org U_HAVE_TIMEZONE=1 8516f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgelse 8526f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org AC_CACHE_CHECK(for __timezone,ac_cv_var___timezone, 8536f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <time.h>]], [[__timezone = 1;]])],[ac_cv_var___timezone=yes],[ac_cv_var___timezone=no])]) 8546f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org if test $ac_cv_var___timezone = yes; then 8556f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org U_TIMEZONE=__timezone 8566f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org U_HAVE_TIMEZONE=1 8576f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org else 8586f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org AC_CACHE_CHECK(for _timezone,ac_cv_var__timezone, 8596f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <time.h>]], [[_timezone = 1;]])],[ac_cv_var__timezone=yes],[ac_cv_var__timezone=no])]) 8606f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org if test $ac_cv_var__timezone = yes; then 8616f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org U_TIMEZONE=_timezone 8626f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org U_HAVE_TIMEZONE=1 8636f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org else 8646f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org CONFIG_CPPFLAGS="${CONFIG_CPPFLAGS} -DU_HAVE_TIMEZONE=0" 8656f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org fi 8666f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org fi 8676f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgfi 8686f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_SUBST(U_HAVE_TIMEZONE) 8696f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_SUBST(U_TIMEZONE) 8706f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 8716f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# Checks for typedefs 8726f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_CHECK_TYPE(int8_t,signed char) 8736f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_CHECK_TYPE(uint8_t,unsigned char) 8746f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_CHECK_TYPE(int16_t,signed short) 8756f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_CHECK_TYPE(uint16_t,unsigned short) 8766f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_CHECK_TYPE(int32_t,signed long) 8776f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_CHECK_TYPE(uint32_t,unsigned long) 8786f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_CHECK_TYPE(int64_t,signed long long) 8796f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_CHECK_TYPE(uint64_t,unsigned long long) 8806f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 8816f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgif test $ac_cv_type_int8_t = no; then 8826f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgCONFIG_CPPFLAGS="${CONFIG_CPPFLAGS} -DU_HAVE_INT8_T=0" 8836f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgfi 8846f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 8856f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgif test $ac_cv_type_uint8_t = no; then 8866f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgCONFIG_CPPFLAGS="${CONFIG_CPPFLAGS} -DU_HAVE_UINT8_T=0" 8876f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgfi 8886f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 8896f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgif test $ac_cv_type_int16_t = no; then 8906f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgCONFIG_CPPFLAGS="${CONFIG_CPPFLAGS} -DU_HAVE_INT16_T=0" 8916f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgfi 8926f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 8936f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgif test $ac_cv_type_uint16_t = no; then 8946f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgCONFIG_CPPFLAGS="${CONFIG_CPPFLAGS} -DU_HAVE_UINT16_T=0" 8956f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgfi 8966f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 8976f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgif test $ac_cv_type_int32_t = no; then 8986f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgCONFIG_CPPFLAGS="${CONFIG_CPPFLAGS} -DU_HAVE_INT32_T=0" 8996f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgfi 9006f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 9016f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgif test $ac_cv_type_uint32_t = no; then 9026f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgCONFIG_CPPFLAGS="${CONFIG_CPPFLAGS} -DU_HAVE_UINT32_T=0" 9036f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgfi 9046f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 9056f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgif test $ac_cv_type_int64_t = no; then 9066f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgCONFIG_CPPFLAGS="${CONFIG_CPPFLAGS} -DU_HAVE_INT64_T=0" 9076f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgfi 9086f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 9096f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgif test $ac_cv_type_uint64_t = no; then 9106f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgCONFIG_CPPFLAGS="${CONFIG_CPPFLAGS} -DU_HAVE_UINT64_T=0" 9116f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgfi 9126f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 9136f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# Do various wchar_t related checks 9146f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_CHECK_HEADER(wchar.h) 9156f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgif test "$ac_cv_header_wchar_h" = no 9166f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgthen 9176f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org U_HAVE_WCHAR_H=0 9186f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org U_HAVE_WCSCPY=0 9196f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org CONFIG_CPPFLAGS="${CONFIG_CPPFLAGS} -DU_HAVE_WCHAR_H=0 -DU_HAVE_WCSCPY=0" 9206f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgelse 9216f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org AC_DEFINE([HAVE_WCHAR_H], [1], [wchar.h was found.]) 9226f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org U_HAVE_WCHAR_H=1 9236f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org # Some broken systems have wchar.h but not some of its functions... 9246f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org AC_SEARCH_LIBS(wcscpy, wcs w) 9256f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org if test "$ac_cv_search_wcscpy" != no; then 9266f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org U_HAVE_WCSCPY=1 9276f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org else 9286f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org U_HAVE_WCSCPY=0 9296f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org CONFIG_CPPFLAGS="${CONFIG_CPPFLAGS} -DU_HAVE_WCSCPY=0" 9306f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org fi 9316f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgfi 9326f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_SUBST(U_HAVE_WCHAR_H) 9336f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_SUBST(U_HAVE_WCSCPY) 9346f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 9356f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_CHECK_SIZEOF([wchar_t], 0, [ 9366f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#if STDC_HEADERS 9376f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#include <stddef.h> 9386f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#endif 9396f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#include <stdlib.h> 9406f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#if HAVE_WCHAR_H 9416f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#include <string.h> 9426f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#include <wchar.h> 9436f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#endif]) 9446f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgU_SIZEOF_WCHAR_T=$ac_cv_sizeof_wchar_t 9456f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# We do this check to verify that everything is okay. 9466f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgif test $U_SIZEOF_WCHAR_T = 0; then 9476f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org if test $U_HAVE_WCHAR_H=1; then 9486f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org AC_MSG_ERROR(There is wchar.h but the size of wchar_t is 0) 9496f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org fi 9506f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgfi 9516f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 9526f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_MSG_CHECKING([for UTF-16 string literal support]) 9536f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgU_CHECK_UTF16_STRING=1 9546f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgCHECK_UTF16_STRING_RESULT="unknown" 9556f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 9566f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgcase "${host}" in 9576f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org*-*-aix*|powerpc64-*-linux*) 9586f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org if test "$GCC" = no; then 9596f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org OLD_CFLAGS="${CFLAGS}" 9606f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org OLD_CXXFLAGS="${CXXFLAGS}" 9616f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org CFLAGS="${CFLAGS} -qutf" 9626f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org CXXFLAGS="${CXXFLAGS} -qutf" 9636f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[const unsigned short hello[] = u"hello";]], [[]])],[U_CHECK_UTF16_STRING=1],[U_CHECK_UTF16_STRING=0]) 9646f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org if test "$U_CHECK_UTF16_STRING" = 0; then 9656f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org CFLAGS="${OLD_CFLAGS}" 9666f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org CXXFLAGS="${OLD_CXXFLAGS}" 9676f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org else 9686f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org UCONFIG_CXXFLAGS="${UCONFIG_CXXFLAGS} -qutf" 9696f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org CHECK_UTF16_STRING_RESULT="-qutf" 9706f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org fi 9716f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org fi 9726f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org ;; 9736f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org*-*-solaris*) 9746f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org if test "$GCC" = no; then 9756f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org OLD_CFLAGS="${CFLAGS}" 9766f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org OLD_CXXFLAGS="${CXXFLAGS}" 9776f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org CFLAGS="${CFLAGS} -xustr=ascii_utf16_ushort" 9786f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org CXXFLAGS="${CXXFLAGS} -xustr=ascii_utf16_ushort" 9796f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[const unsigned short hello[] = U"hello";]], [[]])],[U_CHECK_UTF16_STRING=1],[U_CHECK_UTF16_STRING=0]) 9806f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org if test "$U_CHECK_UTF16_STRING" = 0; then 9816f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org CFLAGS="${OLD_CFLAGS}" 9826f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org CXXFLAGS="${OLD_CXXFLAGS}" 9836f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org else 9846f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org CHECK_UTF16_STRING_RESULT="-xustr=ascii_utf16_ushort" 9856f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org UCONFIG_CXXFLAGS="${UCONFIG_CXXFLAGS} -xustr=ascii_utf16_ushort" 9866f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org UCONFIG_CFLAGS="${UCONFIG_CFLAGS} -xustr=ascii_utf16_ushort" 9876f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org # Since we can't detect the availability of this UTF-16 syntax at compile time, 9886f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org # we depend on configure telling us that we can use it. 9896f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org # Since we can't ensure ICU users use -xustr=ascii_utf16_ushort, 9906f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org # we only use this macro within ICU. 9916f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org # If an ICU user uses icu-config, this feature will be enabled. 9926f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org CONFIG_CPPFLAGS="${CONFIG_CPPFLAGS} -DU_CHECK_UTF16_STRING=1" 9936f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org U_CHECK_UTF16_STRING=0 9946f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org fi 9956f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org fi 9966f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org ;; 9976f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org*-*-hpux*) 9986f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org if test "$GCC" = no; then 9996f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org # The option will be detected at compile time without additional compiler options. 10006f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org CHECK_UTF16_STRING_RESULT="available" 10016f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org fi 10026f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org ;; 10036f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org*-*-cygwin) 10046f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org # wchar_t can be used 10056f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org CHECK_UTF16_STRING_RESULT="available" 10066f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org ;; 10076f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org*) 10086f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org ;; 10096f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgesac 10106f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 10116f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# GCC >= 4.4 supports UTF16 string literals. The CFLAGS and CXXFLAGS may change in the future. 10126f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgif test "$CHECK_UTF16_STRING_RESULT" = "unknown"; then 10136f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org if test "$GCC" = yes; then 10146f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org OLD_CFLAGS="${CFLAGS}" 10156f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org CFLAGS="${CFLAGS} -std=gnu99" 10166f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ 10176f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgstatic const char16_t test[] = u"This is a UTF16 literal string."; 10186f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org ]], [[]])],[CC_UTF16_STRING=1],[CC_UTF16_STRING=0]) 10196f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org if test "$CC_UTF16_STRING" = 1; then 10206f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org UCONFIG_CFLAGS="${UCONFIG_CFLAGS} -std=gnu99" 10216f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org CHECK_UTF16_STRING_RESULT="C only"; 10226f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org else 10236f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org CFLAGS="${OLD_CFLAGS}" 10246f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org fi 10256f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org fi 10266f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org if test "$GXX" = yes; then 10276f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org # -Wno-return-type-c-linkage is desired so that stable ICU API is not warned about. 10286f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org AC_LANG_PUSH([C++]) 10296f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ 10306f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgstatic const char16_t test[] = u"This is a UTF16 literal string."; 10316f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org ]], [[]])],[CXX_UTF16_STRING=1],[CXX_UTF16_STRING=0]) 10326f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org AC_LANG_POP([C++]) 10336f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org if test "$CXX_UTF16_STRING" = 1; then 10346f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org if test "$CC_UTF16_STRING" = 1; then 10356f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org CHECK_UTF16_STRING_RESULT="available"; 10366f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org else 10376f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org CHECK_UTF16_STRING_RESULT="C++ only"; 10386f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org fi 10396f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org fi 10406f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org fi 10416f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgfi 10426f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_MSG_RESULT($CHECK_UTF16_STRING_RESULT) 10436f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 10446f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# Enable/disable extras 10456f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_ARG_ENABLE(extras, 10466f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org [ --enable-extras build ICU extras [default=yes]], 10476f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org [case "${enableval}" in 10486f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org yes) extras=true ;; 10496f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org no) extras=false ;; 10506f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org *) AC_MSG_ERROR(bad value ${enableval} for --enable-extras) ;; 10516f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org esac], 10526f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org extras=true) 10536f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgICU_CONDITIONAL(EXTRAS, test "$extras" = true) 10546f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_ARG_ENABLE(icuio, 10556f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org [ --enable-icuio build ICU's icuio library [default=yes]], 10566f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org [case "${enableval}" in 10576f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org yes) icuio=true ;; 10586f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org no) icuio=false ;; 10596f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org *) AC_MSG_ERROR(bad value ${enableval} for --enable-icuio) ;; 10606f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org esac], 10616f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org icuio=true) 10626f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgICU_CONDITIONAL(ICUIO, test "$icuio" = true) 10636f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 10646f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# Enable/disable layout 10656f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_ARG_ENABLE(layout, 10666f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org [ --enable-layout build ICU's layout library [default=yes]], 10676f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org [case "${enableval}" in 10686f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org yes) layout=true ;; 10696f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org no) layout=false ;; 10706f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org *) AC_MSG_ERROR(bad value ${enableval} for --enable-layout) ;; 10716f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org esac], 10726f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org layout=true) 10736f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgICU_CONDITIONAL(LAYOUT, test "$layout" = true) 10746f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 10756f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# Enable/disable tools 10766f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_ARG_ENABLE(tools, 10776f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org [ --enable-tools build ICU's tools [default=yes]], 10786f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org [case "${enableval}" in 10796f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org yes) tools=true ;; 10806f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org no) tools=false ;; 10816f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org *) AC_MSG_ERROR(bad value ${enableval} for --enable-tools) ;; 10826f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org esac], 10836f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org tools=true) 10846f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgICU_CONDITIONAL(TOOLS, test "$tools" = true) 10856f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 10866f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_ARG_WITH(data-packaging, 10876f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org [ --with-data-packaging=type specify how to package ICU data (files, archive, library, static, auto) [default=auto]], 10886f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org [case "${withval}" in 10896f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org files|archive|library) datapackaging=$withval ;; 10906f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org auto) datapackaging=$withval ;; 10916f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org common) datapackaging=archive ;; 10926f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org dll) datapackaging=library ;; 10936f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org static) datapackaging=static ;; 10946f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org *) AC_MSG_ERROR(bad value ${withval} for --with-data-packaging) ;; 10956f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org esac], 10966f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org [datapackaging=]) 10976f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 10986f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# Note: 'thesysconfdir' is an evaluated version, for Man pages, so also for thedatadir, thelibdir, etc.. 10996f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# thesysconfdir=`eval echo $sysconfdir` 11006f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgdnl# AC_SUBST(thesysconfdir) 11016f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgdnl# thelibdir=`test "x$exec_prefix" = xNONE && exec_prefix="$prefix"; eval echo $libdir` 11026f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgdnl# AC_SUBST(thelibdir) 11036f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgthedatadir=`eval echo $datadir` 11046f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgdnl# AC_SUBST(thedatadir) 11056f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# Always put raw data files in share/icu/{version}, etc. Never use lib/icu/{version} for data files.. Actual shared libraries will go in {libdir}. 11066f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgpkgicudatadir=$datadir 11076f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgthepkgicudatadir=$thedatadir 11086f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_SUBST(pkgicudatadir) 11096f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_SUBST(thepkgicudatadir) 11106f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 11116f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgdnl# Shouldn't need the AC_SUBST 11126f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 11136f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgif test x"$datapackaging" = x -o x"$datapackaging" = xauto; then 11146f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org # default to library 11156f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org datapackaging=library 11166f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org if test "$ENABLE_STATIC" = "YES"; then 11176f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org if test "$ENABLE_SHARED" != "YES"; then 11186f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org datapackaging=static 11196f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org fi 11206f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org fi 11216f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgfi 11226f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 11236f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgdatapackaging_dir=`eval echo $thedatadir`"/icu/${VERSION}" 11246f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 11256f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgdatapackaging_msg="(No explaination for mode $datapackaging.)" 11266f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 11276f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgdatapackaging_msg_path="ICU will look in $datapackaging_dir which is the installation location. Call u_setDataDirectory() or use the ICU_DATA environment variable to override." 11286f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgdatapackaging_msg_set="ICU will use the linked data library. If linked with the stub library located in stubdata/, the application can use udata_setCommonData() or set a data path to override." 11296f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgdatapackaging_howfound="(unknown)" 11306f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 11316f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgcase "$datapackaging" in 11326f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org files) 11336f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org DATA_PACKAGING_MODE=files 11346f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org datapackaging_msg="ICU data will be stored in individual files." 11356f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org datapackaging_howfound="$datapackaging_msg_path" 11366f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org ;; 11376f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org archive) 11386f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org DATA_PACKAGING_MODE=common 11396f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org datapackaging_msg="ICU data will be stored in a single .dat file." 11406f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org datapackaging_howfound="$datapackaging_msg_path" 11416f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org ;; 11426f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org library) 11436f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org DATA_PACKAGING_MODE=dll 11446f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org datapackaging_msg="ICU data will be linked with ICU." 11456f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org if test "$ENABLE_STATIC" = "YES"; then 11466f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org datapackaging_msg="$datapackaging_msg A static data library will be built. " 11476f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org fi 11486f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org if test "$ENABLE_SHARED" = "YES"; then 11496f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org datapackaging_msg="$datapackaging_msg A shared data library will be built. " 11506f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org fi 11516f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org datapackaging_howfound="$datapackaging_msg_set" 11526f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org ;; 11536f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org static) 11546f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org DATA_PACKAGING_MODE=static 11556f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org datapackaging_msg="ICU data will be stored in a static library." 11566f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org datapackaging_howfound="$datapackaging_msg_set" 11576f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org ;; 11586f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgesac 11596f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_SUBST(DATA_PACKAGING_MODE) 11606f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 11616f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# Sets a library suffix 11626f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_MSG_CHECKING([for a library suffix to use]) 11636f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_ARG_WITH(library-suffix, 11646f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org [ --with-library-suffix=suffix tag a suffix to the library names [default=]], 11656f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org [ICULIBSUFFIX="${withval}"], 11666f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org [ICULIBSUFFIX=]) 11676f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgmsg=$ICULIBSUFFIX 11686f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgif test "$msg" = ""; then 11696f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org msg=none 11706f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgfi 11716f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_MSG_RESULT($msg) 11726f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_SUBST(ICULIBSUFFIX) 11736f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgif test "$ICULIBSUFFIX" != "" 11746f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgthen 11756f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org U_HAVE_LIB_SUFFIX=1 11766f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org ICULIBSUFFIXCNAME=`echo _$ICULIBSUFFIX | sed 's/[^A-Za-z0-9_]/_/g'` 11776f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org UCONFIG_CPPFLAGS="${UCONFIG_CPPFLAGS} -DU_HAVE_LIB_SUFFIX=1 -DU_LIB_SUFFIX_C_NAME=${ICULIBSUFFIXCNAME} " 11786f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgelse 11796f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org U_HAVE_LIB_SUFFIX=0 11806f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgfi 11816f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_SUBST(U_HAVE_LIB_SUFFIX) 11826f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_SUBST(ICULIBSUFFIXCNAME) 11836f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 11846f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# Enable/disable tests 11856f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_ARG_ENABLE(tests, 11866f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org [ --enable-tests build ICU tests [default=yes]], 11876f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org [case "${enableval}" in 11886f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org yes) tests=true ;; 11896f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org no) tests=false ;; 11906f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org *) AC_MSG_ERROR(bad value ${enableval} for --enable-tests) ;; 11916f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org esac], 11926f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org tests=true) 11936f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgICU_CONDITIONAL(TESTS, test "$tests" = true) 11946f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 11956f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# Enable/disable samples 11966f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_ARG_ENABLE(samples, 11976f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org [ --enable-samples build ICU samples [default=yes] 11986f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 11996f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAdditionally, the variable FORCE_LIBS may be set before calling configure. 12006f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgIf set, it will REPLACE any automatic list of libraries.], 12016f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org [case "${enableval}" in 12026f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org yes) samples=true ;; 12036f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org no) samples=false ;; 12046f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org *) AC_MSG_ERROR(bad value ${enableval} for --enable-samples) ;; 12056f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org esac], 12066f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org samples=true) 12076f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgICU_CONDITIONAL(SAMPLES, test "$samples" = true) 12086f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 12096f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgICUDATA_CHAR=$U_ENDIAN_CHAR 12106f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 12116f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# Platform-specific Makefile setup 12126f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# set ICUDATA_CHAR to 'e' for any EBCDIC (which should be big endian) platform. 12136f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgcase "${host}" in 12146f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org *-*-solaris*) platform=U_SOLARIS ;; 12156f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org *-*-linux*|*-*-gnu|*-*-k*bsd*-gnu|*-*-kopensolaris*-gnu) platform=U_LINUX ;; 12166f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org *-*-*bsd*|*-*-dragonfly*) platform=U_BSD ;; 12176f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org *-*-aix*) platform=U_AIX ;; 12186f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org *-*-hpux*) platform=U_HPUX ;; 12196f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org *-apple-darwin*|*-apple-rhapsody*) platform=U_DARWIN ;; 12206f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org *-*-cygwin*) platform=U_CYGWIN ;; 12216f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org *-*-mingw*) platform=U_MINGW ;; 12226f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org *-*ibm-openedition*|*-*-os390*) platform=OS390 12236f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org if test "${ICU_ENABLE_ASCII_STRINGS}" != "1"; then 12246f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org ICUDATA_CHAR="e" 12256f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org fi ;; 12266f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org *-*-os400*) platform=OS400 12276f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org if test "${ICU_ENABLE_ASCII_STRINGS}" != "1"; then 12286f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org ICUDATA_CHAR="e" 12296f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org fi ;; 12306f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org *-*-nto*) platform=U_QNX ;; 12316f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org *-dec-osf*) platform=U_OSF ;; 12326f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org *-*-beos) platform=U_BEOS ;; 12336f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org *-*-irix*) platform=U_IRIX ;; 12346f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org *-ncr-*) platform=U_MPRAS ;; 12356f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org *) platform=U_UNKNOWN_PLATFORM ;; 12366f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgesac 12376f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_SUBST(ICUDATA_CHAR) 12386f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_SUBST(platform) 12396f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgplatform_make_fragment_name="$icu_cv_host_frag" 12406f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgplatform_make_fragment='$(top_srcdir)/config/'"$platform_make_fragment_name" 12416f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_SUBST(platform_make_fragment_name) 12426f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_SUBST(platform_make_fragment) 12436f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 12446f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgif test "${FORCE_LIBS}" != ""; then 12456f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org echo " *** Overriding automatically chosen [LIBS=$LIBS], using instead [FORCE_LIBS=${FORCE_LIBS}]" 1>&6 12466f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org LIBS=${FORCE_LIBS} 12476f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgfi 12486f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 12496f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# Now that we're done using CPPFLAGS etc. for tests, we can change it 12506f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# for build. 12516f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 12526f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgif test "${CC}" == "clang"; then 12536f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org CLANGCFLAGS="-Qunused-arguments -Wno-parentheses-equality" 12546f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgelse 12556f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org CLANGCFLAGS="" 12566f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgfi 12576f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 12586f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgif test "${CXX}" == "clang++"; then 12596f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org CLANGCXXFLAGS="-Qunused-arguments -Wno-parentheses-equality" 12606f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgelse 12616f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org CLANGCXXFLAGS="" 12626f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgfi 12636f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 12646f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgCPPFLAGS="$CPPFLAGS \$(THREADSCPPFLAGS)" 12656f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgCFLAGS="$CFLAGS \$(THREADSCFLAGS) $CLANGCFLAGS" 12666f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgCXXFLAGS="$CXXFLAGS \$(THREADSCXXFLAGS) $CLANGCXXFLAGS" 12676f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 12686f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_SUBST(LIBCFLAGS) 12696f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_SUBST(LIBCXXFLAGS) 12706f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 12716f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# append all config cppflags 12726f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgCPPFLAGS="$CPPFLAGS $CONFIG_CPPFLAGS $UCONFIG_CPPFLAGS" 12736f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 12746f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgecho "CPPFLAGS=$CPPFLAGS" 12756f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgecho "CFLAGS=$CFLAGS" 12766f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgecho "CXXFLAGS=$CXXFLAGS" 12776f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 12786f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 12796f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# output the Makefiles 12806f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_CONFIG_FILES([icudefs.mk \ 12816f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org Makefile \ 12826f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org data/pkgdataMakefile \ 12836f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org config/Makefile.inc \ 12846f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org config/icu.pc \ 12856f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org config/pkgdataMakefile \ 12866f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org data/Makefile \ 12876f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org stubdata/Makefile \ 12886f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org common/Makefile \ 12896f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org i18n/Makefile \ 12906f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org layout/Makefile \ 12916f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org layoutex/Makefile \ 12926f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org io/Makefile \ 12936f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org extra/Makefile \ 12946f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org extra/uconv/Makefile \ 12956f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org extra/uconv/pkgdataMakefile \ 12966f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org extra/scrptrun/Makefile \ 12976f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org tools/Makefile \ 12986f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org tools/ctestfw/Makefile \ 12996f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org tools/toolutil/Makefile \ 13006f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org tools/makeconv/Makefile \ 13016f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org tools/genrb/Makefile \ 13026f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org tools/genccode/Makefile \ 13036f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org tools/gencmn/Makefile \ 13046f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org tools/gencnval/Makefile \ 13056f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org tools/gendict/Makefile \ 13066f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org tools/gentest/Makefile \ 13076f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org tools/gennorm2/Makefile \ 13086f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org tools/genbrk/Makefile \ 13096f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org tools/gensprep/Makefile \ 13106f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org tools/icuinfo/Makefile \ 13116f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org tools/icupkg/Makefile \ 13126f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org tools/icuswap/Makefile \ 13136f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org tools/pkgdata/Makefile \ 13146f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org tools/tzcode/Makefile \ 13156f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org tools/gencfu/Makefile \ 13166f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org test/Makefile \ 13176f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org test/compat/Makefile \ 13186f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org test/testdata/Makefile \ 13196f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org test/testdata/pkgdataMakefile \ 13206f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org test/hdrtst/Makefile \ 13216f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org test/intltest/Makefile \ 13226f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org test/cintltst/Makefile \ 13236f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org test/iotest/Makefile \ 13246f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org test/letest/Makefile \ 13256f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org test/perf/Makefile \ 13266f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org test/perf/collationperf/Makefile \ 13276f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org test/perf/collperf/Makefile \ 13286f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org test/perf/dicttrieperf/Makefile \ 13296f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org test/perf/ubrkperf/Makefile \ 13306f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org test/perf/charperf/Makefile \ 13316f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org test/perf/convperf/Makefile \ 13326f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org test/perf/normperf/Makefile \ 13336f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org test/perf/DateFmtPerf/Makefile \ 13346f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org test/perf/howExpensiveIs/Makefile \ 13356f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org test/perf/strsrchperf/Makefile \ 13366f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org test/perf/unisetperf/Makefile \ 13376f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org test/perf/usetperf/Makefile \ 13386f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org test/perf/ustrperf/Makefile \ 13396f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org test/perf/utfperf/Makefile \ 13406f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org test/perf/utrie2perf/Makefile \ 13416f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org test/perf/leperf/Makefile \ 13426f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org samples/Makefile samples/date/Makefile \ 13436f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org samples/cal/Makefile samples/layout/Makefile]) 13446f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_OUTPUT 13456f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 13466f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgecho 13476f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgecho "ICU for C/C++ $VERSION is ready to be built." 13486f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgecho "=== Important Notes: ===" 13496f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 13506f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgecho "Data Packaging: $datapackaging" 13516f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgecho " This means: $datapackaging_msg" 13526f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgecho " To locate data: $datapackaging_howfound" 13536f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 13546f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgif test -n "`$U_MAKE -v 2>&1 | grep '^GNU Make'`"; then 13556f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgecho "Building ICU: Use a GNU make such as $U_MAKE to build ICU." 13566f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgelse 13576f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgecho "** WARNING: $U_MAKE may not be GNU make." 13586f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgecho "This may cause ICU to fail to build. Please make sure that GNU make" 13596f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgecho "is in your PATH so that the configure script can detect its location." 13606f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgfi 13616f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgif test "x$AR" = "xfalse"; then 13626f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org echo "*** WARNING: Archiver ar not found. Set AR= or fix PATH. Some builds (such as static) may fail." 13636f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgfi 13646f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 13656f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_MSG_CHECKING([the version of "$U_MAKE"]) 13666f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgif "$U_MAKE" -f "$srcdir/config/gmakever.mk" PLATFORM="$platform"; then 13676f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_MSG_RESULT([ok]) 13686f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgelse 13696f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_MSG_RESULT([too old or test failed - try upgrading GNU Make]) 13706f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgfi 13716f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 13726f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_SUBST(UCONFIG_CPPFLAGS) 13736f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgif test -n "$UCONFIG_CPPFLAGS"; then 13746f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org HDRFILE="uconfig.h.prepend" 13756f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org echo "*** WARNING: You must set the following flags before code compiled against this ICU will function properly:" 13766f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org echo 13776f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org echo " ${UCONFIG_CPPFLAGS}" 13786f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org echo 13796f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org echo 'The recommended way to do this is to prepend the following lines to source/common/unicode/uconfig.h or #include them near the top of that file.' 13806f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org echo "Creating the file ${HDRFILE}" 13816f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org echo 13826f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org echo '--------------- ' "${HDRFILE}" 13836f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org echo > "${HDRFILE}" 13846f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org echo '/* ICU customizations: put these lines at the top of uconfig.h */' >> "${HDRFILE}" 13856f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org echo >> "${HDRFILE}" 13866f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org for flag in ${UCONFIG_CPPFLAGS}; 13876f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org do 13886f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org echo " /* $flag */" >> "${HDRFILE}" 13896f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org case "${flag}" in 13906f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org -D*=*) 13916f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org [ \echo "${flag}" | sed -n 's%-D\([^=]*\)=%#define \1 %p' >> "${HDRFILE}" ] 13926f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org \echo >> "${HDRFILE}" 13936f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org ;; 13946f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org -D*) 13956f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org [ \echo "${flag}" | sed -n 's%-D\([^=]*\)%#define \1 %p' >> "${HDRFILE}" ] 13966f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org \echo >> "${HDRFILE}" 13976f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org ;; 13986f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org *) 13996f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org \echo "/* Not sure how to handle this argument: ${flag} */" >> "${HDRFILE}" 14006f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org \echo >> "${HDRFILE}" 14016f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org ;; 14026f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org esac 14036f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org done 14046f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org cat "${HDRFILE}" 14056f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org \echo "/* End of ${HDRFILE} ------------ */" >> "${HDRFILE}" 14066f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org echo >> "${HDRFILE}" 14076f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org echo '--------------- end ' "${HDRFILE}" 14086f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgfi 14096f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 14106f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_SUBST(UCONFIG_CFLAGS) 14116f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgif test -n "$UCONFIG_CFLAGS"; then 14126f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org echo "C apps may want to build with CFLAGS = ${UCONFIG_CFLAGS}" 14136f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgfi 14146f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgAC_SUBST(UCONFIG_CXXFLAGS) 14156f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgif test -n "$UCONFIG_CXXFLAGS"; then 14166f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org echo "C++ apps may want to build with CXXFLAGS = ${UCONFIG_CXXFLAGS}" 14176f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgfi 14186f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 14196f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgif test "$tools" = false; 14206f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgthen 14216f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org echo "## Note: you have disabled ICU's tools. This ICU cannot build its own data or tests." 14226f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org echo "## Expect build failures in the 'data', 'test', and other directories." 14236f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgfi 14246f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 14256f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org$as_unset _CXX_CXXSUFFIX 1426