blob: cee28a92e785d4f7c0605c61212f88997c2090da [file] [log] [blame]
dnl Process this file with autoconf to produce a configure script
AC_INIT(src/xalanc/PlatformSupport/PlatformSupportDefinitions.hpp)
dnl Checks for programs
AC_PROG_CC
AC_PROG_CXX
AC_PROG_INSTALL
AC_CHECK_PROG(AUTOCONF, autoconf, autoconf, true)
dnl Check for gcc problems
if test "$CXX" = "g++" -o "$CXX" = "c++"; then
AC_MSG_CHECKING([whether -fno-elide-constructors works correctly])
old_cxxflags=$CXXFLAGS
CXXFLAGS="$CXXFLAGS -fno-elide-constructors"
AC_LANG_CPLUSPLUS
AC_TRY_COMPILE([#include <vector>],
[],
[AC_MSG_RESULT([yes])],
CXXFLAGS=$old_cxxflags
[AC_MSG_RESULT([no])]);
fi
dnl
dnl Do not know how to use this macro, so comment it out.
dnl
dnl special pthread handling (AIX uses pthreads instead of pthread)
dnl AC_CHECK_LIB(pthread, pthread_create)
dnl if test $ac_cv_lib_pthread_pthread_create = no; then
dnl AC_CHECK_LIB(pthreads, pthread_create)
dnl fi
dnl
dnl Determine the host system and Makefile fragment
AC_CANONICAL_HOST
dnl Platform-specific Makefile setup
case "${host}" in
*-*-solaris*) platform=SOLARIS ;;
*-*-linux*) platform=LINUX ;;
*-*-freebsd*) platform=FREEBSD ;;
*-*-netbsd*) platform=NETBSD ;;
*-*-irix*) platform=IRIX ;;
*-*-aix*) platform=AIX ;;
ia64-hp*) platform=HPUX ; osver=HPUX11 ; osvariant=IA64;;
*-*-hp*) platform=HPUX ;
case "${host}" in
*-*-hpux11*) osver=HPUX11;;
*-*-hpux10*) osver=HPUX10;;
*) osver=HPUX11;;
esac;;
*-*-mvs*) platform=OS390 ;;
*-*-osf*) platform=TRU64 ;;
*-apple-darwin*) platform=MACOSX ;;
*-*-os400*) platform=OS400 ;;
*-*-OS400*) platform=OS400 ;;
*-*-cygwin*) platform=CYGWIN ;;
*) platform=UNKNOWN ;;
esac
dnl Checks for libraries
if test "$platform" != "OS400"; then
AC_CHECK_LIB(m, floor)
fi
dnl check if mbstowcs is available and can correctly count only
AC_HEADER_STDC
AC_CHECK_FUNCS([mbstowcs],,,)
if test x"$ac_cv_func_mbstowcs" = x"no"; then
WCSTOMBS="-DXALAN_USE_XERCES_LOCAL_CODEPAGE_TRANSCODERS"
else
AC_MSG_CHECKING(if mbstowcs can count only)
AC_TRY_RUN([
#if STDC_HEADERS
#include <stdlib.h>
#endif
int main(int argc, char *argv[])
{
wchar_t in[5] = { 0x74, 0x65, 0x73, 0x74, 0x00 };
if (wcstombs(0, in, 0) == -1) {
exit(1);
}
exit(0);
}], [AC_MSG_RESULT(yes)],
[WCSTOMBS="-DXALAN_USE_XERCES_LOCAL_CODEPAGE_TRANSCODERS";
AC_MSG_RESULT(no)],
[WCSTOMBS="-DXALAN_USE_XERCES_LOCAL_CODEPAGE_TRANSCODERS";
AC_MSG_RESULT(cross-compiling default)])
fi
AC_SUBST(platform)
cxx=${CXX}
AC_SUBST(cxx)
cc=${CC}
AC_SUBST(cc)
AC_SUBST(prefix)
dnl Not used:
AC_SUBST(osver)
AC_SUBST(osvariant)
cxxflags=${CXXFLAGS}
AC_SUBST(cxxflags)
dnl Not used:
cppflags=${CPPFLAGS}
AC_SUBST(cppflags)
cflags=${CFLAGS}
AC_SUBST(cflags)
ldflags=${LDFLAGS}
AC_SUBST(ldflags)
libs=${LIBS}
AC_SUBST(libs)
transcoder=${TRANSCODER}
AC_SUBST(transcoder)
xalan_locale_system=${XALAN_LOCALE_SYSTEM}
AC_SUBST(xalan_locale_system)
xalan_locale=${XALAN_LOCALE}
AC_SUBST(xalan_locale)
wcstombs=${WCSTOMBS}
AC_SUBST(wcstombs)
dnl Not used:
threads=${THREADS}
AC_SUBST(threads)
bitstobuild=${BITSTOBUILD}
AC_SUBST(bitstobuild)
dnl output the Makefiles
if test ! -d src; then
mkdir src
fi
AC_OUTPUT([Makefile.incl \
Makefile \
src/xalanc/Makefile \
src/xalanc/Utils/Makefile \
src/xalanc/Utils/MsgCreator/Makefile \
src/xalanc/Utils/XalanMsgLib/Makefile \
samples/Makefile \
Tests/Makefile])