summaryrefslogtreecommitdiff
path: root/Build/source/libs/icu/icu-xetex/configure.in
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/libs/icu/icu-xetex/configure.in')
-rw-r--r--Build/source/libs/icu/icu-xetex/configure.in1106
1 files changed, 1106 insertions, 0 deletions
diff --git a/Build/source/libs/icu/icu-xetex/configure.in b/Build/source/libs/icu/icu-xetex/configure.in
new file mode 100644
index 00000000000..30f773ecd8e
--- /dev/null
+++ b/Build/source/libs/icu/icu-xetex/configure.in
@@ -0,0 +1,1106 @@
+dnl -*-m4-*-
+dnl configure.in for ICU
+dnl Copyright (c) 1999-2007, International Business Machines Corporation and
+dnl others. All Rights Reserved.
+dnl Stephen F. Booth, heavily modified by Yves and others
+
+dnl Process this file with autoconf to produce a configure script
+AC_INIT(common/unicode/utypes.h)
+
+AC_CONFIG_HEADER(common/icucfg.h)
+PACKAGE="icu"
+AC_SUBST(PACKAGE)
+
+AC_MSG_CHECKING(for ICU version numbers)
+
+dnl Get the ICU version from uversion.h or other headers
+geticuversion() {
+ [sed -n 's/^[ ]*#[ ]*define[ ]*U_ICU_VERSION[ ]*"\([^"]*\)".*/\1/p' "$@"]
+}
+VERSION=`geticuversion $srcdir/common/unicode/uversion.h`
+if test x"$VERSION" = x; then
+ VERSION=`geticuversion $srcdir/common/unicode/*.h`
+ if test x"$VERSION" = x; then
+ AC_MSG_ERROR([Cannot determine ICU version number from header files])
+ fi
+fi
+dnl Compute a reasonable library version from the release version. This is
+dnl very bad, but that's wanted... We want to make sure that the LIB_VERSION
+dnl has at least a dot in it, so we'll add a .0 if needed.
+[LIB_VERSION=`echo $VERSION | sed -e 's/\.//' -e 's/^\([^.]*\)$/\1.0/'`]
+LIB_VERSION_MAJOR=`echo $LIB_VERSION | sed 's/\..*//'`
+AC_SUBST(VERSION)
+AC_SUBST(LIB_VERSION)
+AC_SUBST(LIB_VERSION_MAJOR)
+AC_MSG_RESULT([release $VERSION, library $LIB_VERSION])
+
+UNICODE_VERSION="5.0"
+AC_SUBST(UNICODE_VERSION)
+
+dnl Determine the host system
+AC_CANONICAL_HOST
+
+AC_SUBST(CPPFLAGS)
+
+dnl This variable is needed on z/OS because the C++ compiler only recognizes .C
+_CXX_CXXSUFFIX=cc
+export _CXX_CXXSUFFIX
+dnl Checks for programs
+AC_PROG_CC
+AC_PROG_CXX
+AC_PROG_INSTALL
+
+# make sure install is relative to srcdir - if a script
+if test "$srcdir" = "."; then
+ # If srcdir isn't just ., then (srcdir) is already prepended.
+ if test "${ac_install_sh}" = "${INSTALL}"; then
+ INSTALL="\\\$(top_srcdir)/${ac_install_sh}"
+ fi
+fi
+
+#AC_CHECK_PROG(AUTOCONF, autoconf, autoconf, true)
+#AC_CHECK_PROG(STRIP, strip, strip, true)
+
+dnl Check for the platform make
+AC_PATH_PROGS(U_MAKE, gmake gnumake, make)
+AC_SUBST(U_MAKE)
+
+dnl Check for doxygen to generate documentation
+AC_PATH_PROG(DOXYGEN,doxygen,,$PATH:/usr/local/bin:/usr/bin)
+
+dnl Check that the linker is usable
+ICU_PROG_LINK
+
+dnl Determine the executable suffix
+dnl We don't use AC_EXEEXT because some compilers output separate debugging
+dnl files, which confuses the AC_EXEEXT macro.
+AC_MSG_CHECKING(checking for executable suffix)
+case "${host}" in
+ *-*-cygwin*|*-*-mingw*) EXEEXT=.exe ;;
+ *) EXEEXT="" ;;
+esac
+ac_exeext=$EXEEXT
+AC_MSG_RESULT($EXEEXT)
+AC_SUBST(EXEEXT)
+
+dnl Determine how strict we want to be when compiling
+AC_CHECK_STRICT_COMPILE
+
+dnl Check if we can build and use 64-bit libraries
+AC_CHECK_64BIT_LIBS
+AC_SUBST(ARFLAGS)
+AC_SUBST(COMPILE_LINK_ENVVAR)
+
+dnl Determine the Makefile fragment
+ICU_CHECK_MH_FRAG
+
+dnl Checks for libraries and other host specific stuff
+dnl On HP/UX, don't link to -lm from a shared lib because it isn't
+dnl PIC (at least on 10.2)
+case "${host}" in
+ *-*-hpux*) AC_CHECK_LIB(m, floor, LIB_M="-lm") ;;
+
+ *) AC_CHECK_LIB(m, floor)
+ LIB_M="" ;;
+esac
+AC_SUBST(LIB_M)
+
+dnl Check whether to build shared libraries
+AC_MSG_CHECKING([whether to build shared libraries])
+enabled=no
+AC_ARG_ENABLE(shared,
+ [ --enable-shared build shared libraries [default=yes]],
+ [ case "${enableval}" in
+ yes|"") enabled=yes; ENABLE_SHARED=YES ;;
+ no);;
+ *) ;;
+ esac],
+ [enabled=yes; ENABLE_SHARED=YES]
+)
+AC_MSG_RESULT($enabled)
+AC_SUBST(ENABLE_SHARED)
+
+dnl Check whether to build static libraries
+AC_MSG_CHECKING([whether to build static libraries])
+enabled=no
+AC_ARG_ENABLE(static,
+ [ --enable-static build static libraries [default=no]],
+ [ case "${enableval}" in
+ yes|"") enabled=yes; ENABLE_STATIC=YES ;;
+ no) ;;
+ *) ;;
+ esac],
+)
+AC_MSG_RESULT($enabled)
+AC_SUBST(ENABLE_STATIC)
+
+dnl Check whether to build debug libraries
+AC_MSG_CHECKING([whether to build debug libraries])
+enabled=no
+ENABLE_DEBUG=0
+AC_ARG_ENABLE(debug,
+ [ --enable-debug build debug libraries [default=no]],
+ [ case "${enableval}" in
+ yes|"") enabled=yes; ENABLE_DEBUG=1 ;;
+ *) ;;
+ esac],
+)
+AC_MSG_RESULT($enabled)
+AC_SUBST(ENABLE_DEBUG)
+
+dnl Check whether to build release libraries
+AC_MSG_CHECKING([whether to build release libraries])
+enabled=yes
+ENABLE_RELEASE=1
+AC_ARG_ENABLE(release,
+ [ --enable-release build release libraries [default=yes]],
+ [ case "${enableval}" in
+ no) enabled=no; ENABLE_RELEASE=0 ;;
+ *) ;;
+ esac],
+)
+AC_MSG_RESULT($enabled)
+AC_SUBST(ENABLE_RELEASE)
+
+dnl Check whether to enabled draft APIs
+AC_MSG_CHECKING([whether to enable draft APIs])
+enabled=yes
+U_DEFAULT_SHOW_DRAFT=1
+AC_ARG_ENABLE(draft,
+ [ --enable-draft enable draft APIs [default=yes]],
+ [ case "${enableval}" in
+ no) enabled=no; U_DEFAULT_SHOW_DRAFT=0 ;;
+ *) ;;
+ esac],
+)
+AC_MSG_RESULT($enabled)
+dnl Make sure that we can use draft API in ICU.
+if test "$U_DEFAULT_SHOW_DRAFT" = 0; then
+ CPPFLAGS="$CPPFLAGS -DU_SHOW_DRAFT_API"
+fi
+AC_SUBST(U_DEFAULT_SHOW_DRAFT)
+
+dnl Check if we can hide variables from
+AC_MSG_CHECKING([for library API export])
+SHAREDLIBEXPORT=no
+U_USE_GCC_VISIBILITY_ATTRIBUTE=0
+if test "$ac_cv_c_compiler_gnu" = yes; then
+ OLD_CFLAGS="${CFLAGS}"
+ OLD_CXXFLAGS="${CXXFLAGS}"
+ LIBCFLAGS="-fvisibility=hidden"
+ LIBCXXFLAGS="-fvisibility=hidden"
+ CFLAGS="${CFLAGS} ${LIBCFLAGS}"
+ CXXFLAGS="${CXXFLAGS} ${LIBCXXFLAGS}"
+ AC_TRY_LINK([__attribute__ ((visibility ("default"))) void f(void);
+#include <stdlib.h>],[exit(0);],
+ [SHAREDLIBEXPORT=yes],[SHAREDLIBEXPORT=no])
+ # Restore to their original state because the Intel compiler chokes
+ # on this option when checking for the wchar_t size, but the
+ # option otherwise works.
+ CFLAGS="${OLD_CFLAGS}"
+ CXXFLAGS="${OLD_CXXFLAGS}"
+ if test "$SHAREDLIBEXPORT" = no; then
+ LIBCFLAGS=
+ LIBCXXFLAGS=
+ else
+ U_USE_GCC_VISIBILITY_ATTRIBUTE=1
+ fi
+fi
+AC_MSG_RESULT($SHAREDLIBEXPORT)
+AC_SUBST(U_USE_GCC_VISIBILITY_ATTRIBUTE)
+AC_SUBST(LIBCFLAGS)
+AC_SUBST(LIBCXXFLAGS)
+
+AC_PROG_RANLIB
+AC_PATH_PROG(AR,ar,[echo archiver ar not found re-run configure ; false],$PATH:/bin:/usr/bin:/usr/ccs/bin)
+
+AC_MSG_CHECKING([whether to enable renaming of symbols])
+enabled=yes
+U_DISABLE_RENAMING=0
+AC_ARG_ENABLE(renaming,
+ [ --enable-renaming add a version suffix to symbols [default=yes]],
+ [ case "${enableval}" in
+ yes|"") enabled=yes ;;
+ no) enabled=no; U_DISABLE_RENAMING=1 ;;
+ *) ;;
+ esac],
+)
+AC_MSG_RESULT($enabled)
+AC_SUBST(U_DISABLE_RENAMING)
+
+AC_MSG_CHECKING([whether to enable function and data tracing])
+enabled=yes
+U_ENABLE_TRACING=0
+AC_ARG_ENABLE(tracing,
+ [ --enable-tracing enable function and data tracing [default=no]],
+ [ case "${enableval}" in
+ yes|"") enabled=yes ;;
+ no) enabled=no; U_ENABLE_TRACING=0 ;;
+ *) ;;
+ esac],
+)
+AC_MSG_RESULT($enabled)
+AC_SUBST(U_ENABLE_TRACING)
+
+dnl Check whether to use the evil rpath or not
+AC_ARG_ENABLE(rpath,
+ [ --enable-rpath use rpath when linking [default is only if necessary]],
+ [ case "${enableval}" in
+ yes|"") ENABLE_RPATH=YES ;;
+ no) ;;
+ *) ;;
+ esac],
+ [ENABLE_RPATH=NO]
+)
+AC_SUBST(ENABLE_RPATH)
+
+
+dnl set up U_INLINE.
+dnl Copy the definition of AC_C_INLINE, with slight mods.
+dnl
+AC_CACHE_CHECK([for definition of U_INLINE for C], ac_cv_c_inline,
+[ac_cv_c_inline=no
+for ac_kw in inline __inline__ __inline; do
+ AC_TRY_COMPILE(, [return 0;} $ac_kw int foo() {], [ac_cv_c_inline=$ac_kw; break])
+ done
+ ])
+case "$ac_cv_c_inline" in
+ yes) U_INLINE= "inline" ;;
+ no ) U_INLINE= ;;
+ *) U_INLINE=$ac_cv_c_inline ;;
+esac
+AC_SUBST(U_INLINE)
+
+threads=true
+
+dnl Enable/disable threads
+AC_ARG_ENABLE(threads,
+ [ --enable-threads build ICU with thread safety [default=yes]],
+ [case "${enableval}" in
+ yes) threads=true ;;
+ no) threads=false ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for --enable-threads) ;;
+ esac],
+ threads=true)
+ICU_CONDITIONAL(THREADS, test "$threads" = true)
+
+ICU_USE_THREADS=0
+OLD_LIBS=${LIBS}
+
+if test $threads = true; then
+ dnl For Compaq Tru64 (OSF1), we must look for pthread_attr_init
+ dnl and must do this before seaching for pthread_mutex_destroy, or
+ dnl we will pick up libpthreads.so not libpthread.so
+ dnl If this fails, then we must test for HPUX specials, before
+ dnl moving on to a more generic test
+
+ AC_CHECK_LIB(pthread, pthread_attr_init)
+ if test $ac_cv_lib_pthread_pthread_attr_init = yes; then
+ ICU_USE_THREADS=1
+ else
+ dnl Locate the right library for POSIX threads. We look for the
+ dnl symbols in the libraries first, because on Solaris libc provides
+ dnl pthread_create but libpthread has the real code :(
+ dnl AIX uses libpthreads instead of libpthread, and HP/UX uses libpthread
+ dnl FreeBSD users may need libpthread if they do not have libc_r.
+
+ AC_SEARCH_LIBS_FIRST(pthread_mutex_destroy, pthread pthreads c_r )
+
+ if test "$ac_cv_search_pthread_mutex_destroy" != no; then
+ ICU_USE_THREADS=1
+ else
+ dnl For HP 11
+ AC_CHECK_LIB(pthread, pthread_mutex_init)
+ if test $ac_cv_lib_pthread_pthread_mutex_init = yes; then
+ ICU_USE_THREADS=1
+ fi
+ fi
+
+ AC_CHECK_FUNC(pthread_mutex_lock)
+
+ if test $ac_cv_func_pthread_mutex_lock = yes; then
+ ICU_USE_THREADS=1
+ fi
+ fi
+ dnl Check to see if we are using CygWin with MSVC
+ case "${host}" in
+ *-pc-cygwin*|*-pc-mingw*)
+ dnl For gcc, the thread options are set by mh-mingw/mh-cygwin
+ ICU_USE_THREADS=1
+ if test "$ac_cv_prog_gcc" = no; then
+ dnl We're using normal windows compilers. Threading is available.
+ ICU_USE_THREADS=1
+ if test $ENABLE_DEBUG = 1; then
+ dnl /MDd means 'compiles and links a debugable multithreaded program with DLL'
+ CFLAGS="${CFLAGS} /MDd"
+ CXXFLAGS="${CXXFLAGS} /MDd"
+ else
+ dnl /MD means 'compiles and links a multithreaded program with DLL'
+ CFLAGS="${CFLAGS} /MD"
+ CXXFLAGS="${CXXFLAGS} /MD"
+ fi
+ fi ;;
+ *-*-hpux*)
+ dnl Add -mt because it does several nice things on newer compilers.
+ case "${icu_cv_host_frag}" in
+ mh-hpux-acc)
+ OLD_CXXFLAGS="${CXXFLAGS}"
+ CXXFLAGS="${CXXFLAGS} -mt"
+ if test x"`${CXX} ${CXXFLAGS} 2>&1`" != x""; then
+ CXXFLAGS="${OLD_CXXFLAGS}"
+ fi
+ ;;
+ esac
+ ;;
+ esac
+fi
+
+AC_SUBST(ICU_USE_THREADS)
+
+AC_ARG_ENABLE(weak-threads,
+ [ --enable-weak-threads weakly reference the threading library [default=no]],
+ [case "${enableval}" in
+ yes)
+ LIB_THREAD="${LIBS%${OLD_LIBS}}"
+ LIBS=${OLD_LIBS}
+ ;;
+ no) ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for --enable-weak-threads) ;;
+ esac])
+AC_SUBST(LIB_THREAD)
+
+dnl Check for mmap()
+
+# The AC_FUNC_MMAP macro doesn't work properly. It seems to be too specific.
+# Do this check instead.
+HAVE_MMAP=0
+AC_MSG_CHECKING([for mmap])
+AC_CACHE_VAL(ac_cv_func_mmap_ok,
+ [AC_TRY_LINK(
+ changequote(<<, >>)dnl
+ <<
+#include <unistd.h>
+#include <sys/mman.h>
+#include <sys/stat.h>
+#include <fcntl.h>
+ >>,
+ changequote([, ])dnl
+ [mmap((void *)0, 0, PROT_READ, 0, 0, 0);],
+ ac_cv_func_mmap_ok=yes,
+ ac_cv_func_mmap_ok=no)] )
+AC_MSG_RESULT($ac_cv_func_mmap_ok)
+if test $ac_cv_func_mmap_ok = yes
+then
+ HAVE_MMAP=1
+fi
+AC_SUBST(HAVE_MMAP)
+
+dnl Check to see if genccode can generate simple assembly.
+GENCCODE_ASSEMBLY=
+case "${host}" in
+i*86-*-linux*|x86_64-*-linux*|powerpc*-*-linux*|i*86-*-*bsd*|i*86-pc-gnu)
+ if test "$GCC" = yes; then
+ dnl We're using gcc, and the simple -a gcc command line works for genccode
+ GENCCODE_ASSEMBLY="-a gcc"
+ fi ;;
+i*86-*-solaris*)
+ if test "$GCC" = yes; then
+ dnl We're using gcc, and the simple -a gcc command line works for genccode
+ GENCCODE_ASSEMBLY="-a gcc"
+ else
+ GENCCODE_ASSEMBLY="-a sun-x86"
+ fi ;;
+sparc-*-solaris*)
+ GENCCODE_ASSEMBLY="-a sun"
+ ;;
+ia64-*-hpux*)
+ GENCCODE_ASSEMBLY="-a aCC-ia64"
+ ;;
+esac
+AC_SUBST(GENCCODE_ASSEMBLY)
+
+
+dnl Checks for header files
+AC_CHECK_HEADERS(inttypes.h)
+if test $ac_cv_header_inttypes_h = no; then
+ U_HAVE_INTTYPES_H=0
+else
+ U_HAVE_INTTYPES_H=1
+fi
+if test "$CC" = ccc; then
+ AC_MSG_RESULT("C compiler set to CCC ${CC}" )
+ case "${host}" in
+ alpha*-*-*) U_HAVE_INTTYPES_H=0;
+ esac
+fi
+
+AC_SUBST(U_HAVE_INTTYPES_H)
+
+AC_ARG_WITH(iostream,
+ [ --with-iostream=version specify the version of iostream to use (none, old, std, auto) [default=auto]],
+ [case "${withval}" in
+ none) streams=none ;;
+ old) streams=198506 ;;
+ std) streams=199711 ;;
+ auto) streams= ;;
+ *) AC_MSG_ERROR(bad value ${withval} for --with-iostream) ;;
+ esac],
+ [streams=])
+
+U_IOSTREAM_SOURCE=0
+if test x$streams != xnone
+then
+ AC_LANG_SAVE
+ AC_LANG_CPLUSPLUS
+ OLD_CXXFLAGS="${CXXFLAGS}"
+ case "${icu_cv_host_frag}" in
+ mh-hpux-acc)
+ CXXFLAGS="${CXXFLAGS} -AA"
+ ;;
+ esac
+ AC_MSG_CHECKING([for iostream usability])
+ AC_TRY_COMPILE([#include <iostream>],[],
+ [ac_cv_header_iostream=yes],[ac_cv_header_iostream=no])
+ if test $icu_cv_host_frag = mh-cygwin-msvc
+ then
+ dnl <iostream> is always there on Windows.
+ dnl We do this to prevent the C++ preprocessor from being used because
+ dnl autoconf can't deal with the Windows C++ preprocessor
+ ac_cv_header_iostream=yes
+ fi
+ AC_MSG_RESULT($ac_cv_header_iostream)
+ if test $ac_cv_header_iostream = yes
+ then
+ U_IOSTREAM_SOURCE=199711
+ else
+ CXXFLAGS="${OLD_CXXFLAGS}"
+ AC_MSG_CHECKING([whether ostream in iostream.h is really defined])
+ AC_CACHE_VAL(ac_cv_iostream_ok,
+ AC_TRY_LINK([#include <iostream.h>],[ostream &testout = cout; testout << "test" << endl;],ac_cv_iostream_ok=yes,ac_cv_iostream_ok=no))
+ AC_MSG_RESULT($ac_cv_iostream_ok)
+ if test $ac_cv_iostream_ok = yes
+ then
+ U_IOSTREAM_SOURCE=198506
+ fi
+ fi
+ if test x$streams != x
+ then
+ if test $U_IOSTREAM_SOURCE -ge $streams
+ then
+ U_IOSTREAM_SOURCE=$streams
+ case "${icu_cv_host_frag}" in
+ mh-hpux-acc)
+ if test $U_IOSTREAM_SOURCE -lt 199711; then
+ CXXFLAGS=${OLD_CXXFLAGS}
+ fi
+ ;;
+ esac
+ else
+ AC_MSG_ERROR(${withval} iostream is not available)
+ fi
+ fi
+fi
+AC_SUBST(U_IOSTREAM_SOURCE)
+AC_LANG_RESTORE
+
+dnl Check for endianness
+AC_C_BIGENDIAN()
+if test $ac_cv_c_bigendian = no; then
+U_IS_BIG_ENDIAN=0
+U_ENDIAN_CHAR="l"
+else
+U_IS_BIG_ENDIAN=1
+U_ENDIAN_CHAR="b"
+fi
+AC_SUBST(U_IS_BIG_ENDIAN)
+
+dnl Do various POSIX related checks
+U_HAVE_NL_LANGINFO_CODESET=0
+U_NL_LANGINFO_CODESET=-1
+AC_CHECK_FUNC(nl_langinfo,[U_HAVE_NL_LANGINFO=1],[U_HAVE_NL_LANGINFO=0])
+dnl AC_SUBST(U_HAVE_NL_LANGINFO)
+if test $U_HAVE_NL_LANGINFO -eq 1; then
+ AC_CACHE_CHECK([for nl_langinfo's argument to obtain the codeset],
+ ac_cv_nl_langinfo_codeset,
+ [ac_cv_nl_langinfo_codeset="unknown"
+ for a in CODESET _NL_CTYPE_CODESET_NAME; do
+ AC_TRY_LINK([#include <langinfo.h>],[nl_langinfo($a);],[ac_cv_nl_langinfo_codeset="$a"; break])]
+ done)
+ if test x$ac_cv_nl_langinfo_codeset != xunknown
+ then
+ U_HAVE_NL_LANGINFO_CODESET=1
+ U_NL_LANGINFO_CODESET=$ac_cv_nl_langinfo_codeset
+ fi
+fi
+AC_SUBST(U_HAVE_NL_LANGINFO_CODESET)
+AC_SUBST(U_NL_LANGINFO_CODESET)
+
+dnl Namespace support checks
+AC_LANG_CPLUSPLUS
+AC_MSG_CHECKING([for namespace support])
+AC_CACHE_VAL(ac_cv_namespace_ok,
+ [AC_TRY_LINK(
+ changequote(<<, >>)dnl
+ <<namespace x_version {void f(){}}
+ namespace x = x_version;
+ using namespace x_version;
+ >>,
+ changequote([, ])dnl
+ [f();], ac_cv_namespace_ok=yes, ac_cv_namespace_ok=no)] )
+AC_MSG_RESULT($ac_cv_namespace_ok)
+U_HAVE_NAMESPACE=1
+if test $ac_cv_namespace_ok = no
+then
+ U_HAVE_NAMESPACE=0
+fi
+AC_SUBST(U_HAVE_NAMESPACE)
+
+AC_MSG_CHECKING([for properly overriding new and delete])
+U_OVERRIDE_CXX_ALLOCATION=0
+U_HAVE_PLACEMENT_NEW=0
+AC_CACHE_VAL(ac_cv_override_cxx_allocation_ok,
+ [AC_TRY_LINK(
+ changequote(<<, >>)dnl
+ <<#include <stdlib.h>
+ class UMemory {
+ public:
+ void *operator new(size_t size) {return malloc(size);}
+ void *operator new[](size_t size) {return malloc(size);}
+ void operator delete(void *p) {free(p);}
+ void operator delete[](void *p) {free(p);}
+ };
+ >>,
+ changequote([, ])dnl
+ [], ac_cv_override_cxx_allocation_ok=yes, ac_cv_override_cxx_allocation_ok=no)] )
+AC_MSG_RESULT($ac_cv_override_cxx_allocation_ok)
+if test $ac_cv_override_cxx_allocation_ok = yes
+then
+ U_OVERRIDE_CXX_ALLOCATION=1
+ AC_MSG_CHECKING([for placement new and delete])
+ AC_CACHE_VAL(ac_cv_override_placement_new_ok,
+ [AC_TRY_LINK(
+ changequote(<<, >>)dnl
+ <<#include <stdlib.h>
+ class UMemory {
+ public:
+ void *operator new(size_t size) {return malloc(size);}
+ void *operator new[](size_t size) {return malloc(size);}
+ void operator delete(void *p) {free(p);}
+ void operator delete[](void *p) {free(p);}
+ void * operator new(size_t, void *ptr) { return ptr; }
+ void operator delete(void *, void *) {}
+ };
+ >>,
+ changequote([, ])dnl
+ [], ac_cv_override_placement_new_ok=yes, ac_cv_override_placement_new_ok=no)] )
+ AC_MSG_RESULT($ac_cv_override_placement_new_ok)
+ if test $ac_cv_override_placement_new_ok = yes
+ then
+ U_HAVE_PLACEMENT_NEW=1
+ fi
+fi
+AC_SUBST(U_OVERRIDE_CXX_ALLOCATION)
+AC_SUBST(U_HAVE_PLACEMENT_NEW)
+
+AC_LANG_C
+AC_CHECK_FUNC(popen)
+if test x$ac_cv_func_popen = xyes
+then
+ U_HAVE_POPEN=1
+else
+ U_HAVE_POPEN=0
+fi
+AC_SUBST(U_HAVE_POPEN)
+
+AC_CHECK_FUNC(tzset)
+U_HAVE_TZSET=0
+if test x$ac_cv_func_tzset = xyes
+then
+ U_TZSET=tzset
+ U_HAVE_TZSET=1
+else
+ AC_CHECK_FUNC(_tzset)
+ if test x$ac_cv_func__tzset = xyes
+ then
+ U_TZSET=_tzset
+ U_HAVE_TZSET=1
+ fi
+fi
+AC_SUBST(U_HAVE_TZSET)
+AC_SUBST(U_TZSET)
+
+U_HAVE_TZNAME=0
+AC_CACHE_CHECK(for tzname,ac_cv_var_tzname,
+[AC_TRY_LINK(
+changequote(<<, >>)dnl
+<<#ifndef __USE_POSIX
+#define __USE_POSIX
+#endif
+#include <stdlib.h>
+#include <time.h>
+#ifndef tzname /* For SGI. */
+extern char *tzname[]; /* RS6000 and others reject char **tzname. */
+#endif>>,
+changequote([, ])dnl
+[atoi(*tzname);], ac_cv_var_tzname=yes, ac_cv_var_tzname=no)])
+if test $ac_cv_var_tzname = yes; then
+ U_TZNAME=tzname
+ U_HAVE_TZNAME=1
+else
+ AC_CACHE_CHECK(for _tzname,ac_cv_var__tzname,
+ [AC_TRY_LINK(
+ changequote(<<, >>)dnl
+ <<#include <stdlib.h>
+ #include <time.h>
+ extern char *_tzname[];
+ >>,
+ changequote([, ])dnl
+ [atoi(*_tzname);], ac_cv_var__tzname=yes, ac_cv_var__tzname=no)])
+ if test $ac_cv_var__tzname = yes; then
+ U_TZNAME=_tzname
+ U_HAVE_TZNAME=1
+ fi
+fi
+AC_SUBST(U_HAVE_TZNAME)
+AC_SUBST(U_TZNAME)
+
+AC_CACHE_CHECK(for timezone,ac_cv_var_timezone,
+[AC_TRY_LINK(
+changequote(<<, >>)dnl
+<<#ifndef __USE_POSIX
+#define __USE_POSIX
+#endif
+#ifndef __USE_XOPEN
+#define __USE_XOPEN
+#endif
+#include <time.h>
+>>,
+changequote([, ])dnl
+[timezone = 1;], ac_cv_var_timezone=yes, ac_cv_var_timezone=no)])
+U_HAVE_TIMEZONE=0
+if test $ac_cv_var_timezone = yes; then
+ U_TIMEZONE=timezone
+ U_HAVE_TIMEZONE=1
+else
+ AC_CACHE_CHECK(for __timezone,ac_cv_var___timezone,
+ [AC_TRY_LINK([#include <time.h>],
+ [__timezone = 1;], ac_cv_var___timezone=yes, ac_cv_var___timezone=no)])
+ if test $ac_cv_var___timezone = yes; then
+ U_TIMEZONE=__timezone
+ U_HAVE_TIMEZONE=1
+ else
+ AC_CACHE_CHECK(for _timezone,ac_cv_var__timezone,
+ [AC_TRY_LINK([#include <time.h>],
+ [_timezone = 1;], ac_cv_var__timezone=yes, ac_cv_var__timezone=no)])
+ if test $ac_cv_var__timezone = yes; then
+ U_TIMEZONE=_timezone
+ U_HAVE_TIMEZONE=1
+ fi
+ fi
+fi
+AC_SUBST(U_HAVE_TIMEZONE)
+AC_SUBST(U_TIMEZONE)
+
+dnl Checks for typedefs
+AC_CHECK_TYPE(int8_t,signed char)
+AC_CHECK_TYPE(uint8_t,unsigned char)
+AC_CHECK_TYPE(int16_t,signed short)
+AC_CHECK_TYPE(uint16_t,unsigned short)
+AC_CHECK_TYPE(int32_t,signed long)
+AC_CHECK_TYPE(uint32_t,unsigned long)
+AC_CHECK_TYPE(int64_t,signed long long)
+AC_CHECK_TYPE(uint64_t,unsigned long long)
+
+if test $ac_cv_type_int8_t = no; then
+HAVE_INT8_T=0
+else
+HAVE_INT8_T=1
+fi
+AC_SUBST(HAVE_INT8_T)
+
+if test $ac_cv_type_uint8_t = no; then
+HAVE_UINT8_T=0
+else
+HAVE_UINT8_T=1
+fi
+AC_SUBST(HAVE_UINT8_T)
+
+if test $ac_cv_type_int16_t = no; then
+HAVE_INT16_T=0
+else
+HAVE_INT16_T=1
+fi
+AC_SUBST(HAVE_INT16_T)
+
+if test $ac_cv_type_uint16_t = no; then
+HAVE_UINT16_T=0
+else
+HAVE_UINT16_T=1
+fi
+AC_SUBST(HAVE_UINT16_T)
+
+if test $ac_cv_type_int32_t = no; then
+HAVE_INT32_T=0
+else
+HAVE_INT32_T=1
+fi
+AC_SUBST(HAVE_INT32_T)
+
+if test $ac_cv_type_uint32_t = no; then
+HAVE_UINT32_T=0
+else
+HAVE_UINT32_T=1
+fi
+AC_SUBST(HAVE_UINT32_T)
+
+if test $ac_cv_type_int64_t = no; then
+HAVE_INT64_T=0
+else
+HAVE_INT64_T=1
+fi
+AC_SUBST(HAVE_INT64_T)
+
+if test $ac_cv_type_uint64_t = no; then
+HAVE_UINT64_T=0
+else
+HAVE_UINT64_T=1
+fi
+AC_SUBST(HAVE_UINT64_T)
+
+dnl Do various wchar_t related checks
+AC_CHECK_HEADER(wchar.h)
+if test "$ac_cv_header_wchar_h" = no
+then
+ U_HAVE_WCHAR_H=0
+ U_HAVE_WCSCPY=0
+else
+ AC_DEFINE(HAVE_WCHAR_H)
+ U_HAVE_WCHAR_H=1
+ dnl Some broken systems have wchar.h but not some of its functions...
+ AC_SEARCH_LIBS(wcscpy, wcs w)
+ if test "$ac_cv_search_wcscpy" != no; then
+ U_HAVE_WCSCPY=1
+ else
+ U_HAVE_WCSCPY=0
+ fi
+fi
+AC_SUBST(U_HAVE_WCHAR_H)
+AC_SUBST(U_HAVE_WCSCPY)
+
+AC_CHECK_SIZEOF([wchar_t], 0, [
+#if STDC_HEADERS
+#include <stddef.h>
+#endif
+#include <stdlib.h>
+#if HAVE_WCHAR_H
+#include <string.h>
+#include <wchar.h>
+#endif])
+U_SIZEOF_WCHAR_T=$ac_cv_sizeof_wchar_t
+# We do this check to verify that everything is okay.
+if test $U_SIZEOF_WCHAR_T = 0; then
+ if test $U_HAVE_WCHAR_H=1; then
+ AC_MSG_ERROR(There is wchar.h but the size of wchar_t is 0)
+ fi
+fi
+AC_SUBST(U_SIZEOF_WCHAR_T)
+
+AC_MSG_CHECKING([for UTF-16 string literal support])
+U_CHECK_UTF16_STRING=1
+CHECK_UTF16_STRING_RESULT="unknown"
+case "${host}" in
+*-*-aix*|powerpc64-*-linux*)
+ if test "$ac_cv_prog_gcc" = no; then
+ OLD_CFLAGS="${CFLAGS}"
+ OLD_CXXFLAGS="${CXXFLAGS}"
+ CFLAGS="${CFLAGS} -qutf"
+ CXXFLAGS="${CXXFLAGS} -qutf"
+ AC_TRY_COMPILE([const unsigned short hello[] = u"hello";],[],
+ [U_CHECK_UTF16_STRING=1],[U_CHECK_UTF16_STRING=0])
+ if test "$U_CHECK_UTF16_STRING" = 0; then
+ CFLAGS="${OLD_CFLAGS}"
+ CXXFLAGS="${OLD_CXXFLAGS}"
+ else
+ CHECK_UTF16_STRING_RESULT="-qutf"
+ fi
+ fi
+ ;;
+*-*-solaris*)
+ if test "$ac_cv_prog_gcc" = no; then
+ OLD_CFLAGS="${CFLAGS}"
+ OLD_CXXFLAGS="${CXXFLAGS}"
+ CFLAGS="${CFLAGS} -xustr=ascii_utf16_ushort"
+ CXXFLAGS="${CXXFLAGS} -xustr=ascii_utf16_ushort"
+ AC_TRY_COMPILE([const unsigned short hello[] = U"hello";],[],
+ [U_CHECK_UTF16_STRING=1],[U_CHECK_UTF16_STRING=0])
+ if test "$U_CHECK_UTF16_STRING" = 0; then
+ CFLAGS="${OLD_CFLAGS}"
+ CXXFLAGS="${OLD_CXXFLAGS}"
+ else
+ CHECK_UTF16_STRING_RESULT="-xustr=ascii_utf16_ushort"
+
+ # Since we can't detect the availability of this UTF-16 syntax at compile time,
+ # we depend on configure telling us that we can use it.
+ # Since we can't ensure ICU users use -xustr=ascii_utf16_ushort,
+ # we only use this macro within ICU.
+ # If an ICU user uses icu-config, this feature will be enabled.
+ CPPFLAGS="${CPPFLAGS} -DU_CHECK_UTF16_STRING=1"
+ U_CHECK_UTF16_STRING=0
+ fi
+ fi
+ ;;
+*-*-hpux*)
+ if test "$ac_cv_prog_gcc" = no; then
+ dnl The option will be detected at compile time without additional compiler options.
+ CHECK_UTF16_STRING_RESULT="available"
+ fi
+ ;;
+*-*-cygwin)
+ dnl wchar_t can be used
+ CHECK_UTF16_STRING_RESULT="available"
+ ;;
+*)
+ ;;
+esac
+AC_MSG_RESULT($CHECK_UTF16_STRING_RESULT)
+AC_SUBST(U_CHECK_UTF16_STRING)
+
+dnl Enable/disable extras
+AC_ARG_ENABLE(extras,
+ [ --enable-extras build ICU extras [default=yes]],
+ [case "${enableval}" in
+ yes) extras=true ;;
+ no) extras=false ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for --enable-extras) ;;
+ esac],
+ extras=true)
+ICU_CONDITIONAL(EXTRAS, test "$extras" = true)
+AC_ARG_ENABLE(icuio,
+ [ --enable-icuio build ICU's icuio library [default=yes]],
+ [case "${enableval}" in
+ yes) icuio=true ;;
+ no) icuio=false ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for --enable-icuio) ;;
+ esac],
+ icuio=true)
+ICU_CONDITIONAL(ICUIO, test "$icuio" = true)
+
+dnl Enable/disable layout
+AC_ARG_ENABLE(layout,
+ [ --enable-layout build ICU's layout library [default=yes]],
+ [case "${enableval}" in
+ yes) layout=true ;;
+ no) layout=false ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for --enable-layout) ;;
+ esac],
+ layout=true)
+ICU_CONDITIONAL(LAYOUT, test "$layout" = true)
+
+AC_ARG_WITH(data-packaging,
+ [ --with-data-packaging=type specify how to package ICU data (files, archive, library, auto) [default=auto]],
+ [case "${withval}" in
+ files|archive|library) datapackaging=$withval ;;
+ auto) datapackaging=$withval ;;
+ common) datapackaging=archive ;;
+ dll) datapackaging=library ;;
+ static) datapackaging=static ;;
+ *) AC_MSG_ERROR(bad value ${withval} for --with-data-packaging) ;;
+ esac],
+ [datapackaging=])
+
+dnl Note: 'thesysconfdir' is an evaluated version, for Man pages, so also for thedatadir, thelibdir, etc..
+dnl thesysconfdir=`eval echo $sysconfdir`
+dnl AC_SUBST(thesysconfdir)
+dnl thelibdir=`test "x$exec_prefix" = xNONE && exec_prefix="$prefix"; eval echo $libdir`
+dnl AC_SUBST(thelibdir)
+thedatadir=`eval echo $datadir`
+dnl AC_SUBST(thedatadir)
+dnl 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}.
+pkgicudatadir=$datadir
+thepkgicudatadir=$thedatadir
+AC_SUBST(pkgicudatadir)
+AC_SUBST(thepkgicudatadir)
+
+dnl Shouldn't need the AC_SUBST
+
+if test x"$datapackaging" = x -o x"$datapackaging" = xauto; then
+ datapackaging=library
+fi
+
+case "$datapackaging" in
+ files)
+ DATA_PACKAGING_MODE=files
+ ;;
+ archive)
+ DATA_PACKAGING_MODE=common
+ ;;
+ library)
+ DATA_PACKAGING_MODE=dll
+ ;;
+esac
+AC_SUBST(DATA_PACKAGING_MODE)
+
+dnl Sets a library suffix
+AC_MSG_CHECKING([for a library suffix to use])
+AC_ARG_WITH(library-suffix,
+ [ --with-library-suffix=suffix tag a suffix to the library names [default=]],
+ [ICULIBSUFFIX="${withval}"],
+ [ICULIBSUFFIX=])
+msg=$ICULIBSUFFIX
+if test "$msg" = ""; then
+ msg=none
+fi
+AC_MSG_RESULT($msg)
+AC_SUBST(ICULIBSUFFIX)
+changequote(<<, >>)dnl
+if test "$ICULIBSUFFIX" != ""
+then
+ U_HAVE_LIB_SUFFIX=1
+ ICULIBSUFFIXCNAME=`echo _$ICULIBSUFFIX | sed 's/[^A-Za-z0-9_]/_/g'`
+else
+ U_HAVE_LIB_SUFFIX=0
+fi
+changequote([, ])dnl
+AC_SUBST(U_HAVE_LIB_SUFFIX)
+AC_SUBST(ICULIBSUFFIXCNAME)
+
+dnl Enable/disable tests
+AC_ARG_ENABLE(tests,
+ [ --enable-tests build ICU tests [default=yes]],
+ [case "${enableval}" in
+ yes) tests=true ;;
+ no) tests=false ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for --enable-tests) ;;
+ esac],
+ tests=true)
+ICU_CONDITIONAL(TESTS, test "$tests" = true)
+
+dnl Enable/disable samples
+AC_ARG_ENABLE(samples,
+ [ --enable-samples build ICU samples [default=yes]
+
+Additionally, the variable FORCE_LIBS may be set before calling configure.
+If set, it will REPLACE any automatic list of libraries.],
+ [case "${enableval}" in
+ yes) samples=true ;;
+ no) samples=false ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for --enable-samples) ;;
+ esac],
+ samples=true)
+ICU_CONDITIONAL(SAMPLES, test "$samples" = true)
+
+ICUDATA_CHAR=$U_ENDIAN_CHAR
+
+dnl Platform-specific Makefile setup
+dnl set ICUDATA_CHAR to 'e' for any EBCDIC (which should be big endian) platform.
+case "${host}" in
+ *-*-solaris*) platform=U_SOLARIS ;;
+ *-*-linux*) platform=U_LINUX ;;
+ *-pc-gnu) platform=U_HURD ;;
+ *-*-*bsd*|*-*-dragonfly*) platform=U_BSD ;;
+ *-*-aix*) platform=U_AIX ;;
+ *-*-hpux*) platform=U_HPUX ;;
+ *-apple-darwin*|*-apple-rhapsody*) platform=U_DARWIN ;;
+ *-*-cygwin*|*-*-mingw*) platform=U_CYGWIN ;;
+ *-*ibm-openedition*|*-*-os390*) platform=OS390
+ if test "${ICU_ENABLE_ASCII_STRINGS}" != "1"; then
+ ICUDATA_CHAR="e"
+ fi ;;
+ *-*-os400*) platform=OS400
+ if test "${ICU_ENABLE_ASCII_STRINGS}" != "1"; then
+ ICUDATA_CHAR="e"
+ fi ;;
+ *-*-nto*) platform=U_QNX ;;
+ *-dec-osf*) platform=U_OSF ;;
+ *-*-beos) platform=U_BEOS ;;
+ *-*-irix*) platform=U_IRIX ;;
+ *-ncr-*) platform=U_MPRAS ;;
+ *) platform=U_UNKNOWN_PLATFORM ;;
+esac
+AC_SUBST(ICUDATA_CHAR)
+AC_SUBST(platform)
+platform_make_fragment_name="$icu_cv_host_frag"
+platform_make_fragment='$(top_srcdir)/config/'"$platform_make_fragment_name"
+AC_SUBST(platform_make_fragment_name)
+AC_SUBST(platform_make_fragment)
+
+if test "${FORCE_LIBS}" != ""; then
+ echo " *** Overriding automatically chosen [LIBS=$LIBS], using instead [FORCE_LIBS=${FORCE_LIBS}]" 1>&6
+ LIBS=${FORCE_LIBS}
+fi
+
+
+dnl Now that we're done using CPPFLAGS etc. for tests, we can change it
+dnl for build.
+
+if test $ICU_USE_THREADS -ne 0
+then
+ CPPFLAGS="$CPPFLAGS \$(THREADSCPPFLAGS)"
+ CFLAGS="$CFLAGS \$(THREADSCFLAGS)"
+ CXXFLAGS="$CXXFLAGS \$(THREADSCXXFLAGS)"
+fi
+
+dnl output the Makefiles
+AC_OUTPUT([icudefs.mk \
+ Makefile \
+ data/icupkg.inc \
+ config/Makefile.inc \
+ data/Makefile \
+ stubdata/Makefile \
+ common/Makefile \
+ i18n/Makefile \
+ layout/Makefile \
+ layoutex/Makefile \
+ io/Makefile \
+ extra/Makefile \
+ extra/uconv/Makefile \
+ extra/scrptrun/Makefile \
+ tools/Makefile \
+ tools/ctestfw/Makefile \
+ tools/toolutil/Makefile \
+ tools/makeconv/Makefile \
+ tools/genrb/Makefile \
+ tools/genuca/Makefile \
+ tools/genccode/Makefile \
+ tools/gencmn/Makefile \
+ tools/gencnval/Makefile \
+ tools/genctd/Makefile \
+ tools/gennames/Makefile \
+ tools/gentest/Makefile \
+ tools/gennorm/Makefile \
+ tools/genprops/Makefile \
+ tools/gencase/Makefile \
+ tools/genbidi/Makefile \
+ tools/genpname/Makefile \
+ tools/genbrk/Makefile \
+ tools/gensprep/Makefile \
+ tools/icupkg/Makefile \
+ tools/icuswap/Makefile \
+ tools/pkgdata/Makefile \
+ tools/tzcode/Makefile \
+ test/Makefile \
+ test/compat/Makefile \
+ test/testdata/Makefile \
+ test/testdata/pkgdata.inc \
+ test/hdrtst/Makefile \
+ test/intltest/Makefile \
+ test/cintltst/Makefile \
+ test/iotest/Makefile \
+ test/letest/Makefile \
+ samples/Makefile samples/date/Makefile \
+ samples/cal/Makefile samples/layout/Makefile \
+ common/unicode/platform.h])
+
+if test $ICU_USE_THREADS = 0; then
+ echo " *** Note: configuring the ICU without pthread support or testing. If this isn't what you want, then run configure with --enable-threads=yes or check the messages [above] to see why we couldn't find pthread_create()" 1>&6
+fi
+
+if test -n "`$U_MAKE -v 2>&1 | grep '^GNU Make'`"; then
+echo "You must use $U_MAKE to build ICU."
+else
+echo "WARNING: $U_MAKE may not be GNU make."
+echo "This may cause ICU to fail to build. Please make sure that GNU make"
+echo "is in your PATH so that this configure script can detect its location."
+fi
+
+$as_unset _CXX_CXXSUFFIX