Blame configure.in.multilib

Packit b448f0
AC_REVISION([$Id: configure.in,v 1.29.2.41 2005/12/16 08:12:19 tbe Exp $])
Packit b448f0
dnl
Packit b448f0
dnl  Process this file with autoconf to produce a configure script.
Packit b448f0
dnl
Packit b448f0
dnl  Copyright (C) 1998 Cees A. de Groot
Packit b448f0
dnl
Packit b448f0
Packit b448f0
dnl
Packit b448f0
dnl  Credits: this autoconf script was largely "inspired" <g> by the
Packit b448f0
dnl  autoconf script around SP made by Henry Thompson.
Packit b448f0
dnl
Packit b448f0
Packit b448f0
dnl Initialization.
Packit b448f0
AC_INIT
Packit b448f0
AC_CONFIG_SRCDIR([pubtext])
Packit b448f0
AM_INIT_AUTOMAKE(OpenSP, 1.5.2, no-define)
Packit b448f0
AM_MAINTAINER_MODE
Packit b448f0
AC_PREREQ(2.53)
Packit b448f0
AM_CONFIG_HEADER(config.h)
Packit b448f0
AM_SANITY_CHECK
Packit b448f0
Packit b448f0
dnl Autoheader definitions
Packit b448f0
Packit b448f0
AH_TEMPLATE([HAVE_CATGETS],[Define if you have the gettext() function])
Packit b448f0
AH_TEMPLATE([SGML_CATALOG_FILES_DEFAULT],[set this to the default catalog files list])
Packit b448f0
AH_TEMPLATE([SGML_SEARCH_PATH_DEFAULT],[set this to the default SGML search path])
Packit b448f0
AH_TEMPLATE([SP_DECLARE_H_ERRNO],[define this if h_errno should be declared extern int])
Packit b448f0
AH_TEMPLATE([DECLARE_MEMMOVE],[define this if memmove  should be declared extern "C"])
Packit b448f0
AH_TEMPLATE([DECLARE_STRERROR],[define this if strerror should be declared extern "C"])
Packit b448f0
AH_TEMPLATE([SP_HAVE_SOCKET],[define this if sockets are available])
Packit b448f0
AH_TEMPLATE([sig_atomic_t],[define this appropriately if the type sig_atomic_t is not available])
Packit b448f0
AH_TEMPLATE([SP_NEW_H_MISSING],[define this if your system misses new.h])
Packit b448f0
AH_TEMPLATE([SP_SET_NEW_HANDLER_EXTERN_C],[define this if  set_new_handler() has to be declared extern "C"])
Packit b448f0
AC_DEFINE(SP_MULTI_BYTE,[1],[define this to build a multi-byte version])
Packit b448f0
AH_TEMPLATE([SP_DEFINE_TEMPLATES],[define this to include template definitions in the headers])
Packit b448f0
AH_TEMPLATE([SP_MANUAL_INST],[define this to compile explicit template instantiations])
Packit b448f0
AH_TEMPLATE([SP_FANCY_NEW_HANDLER],[define this if the new handler takes size_t and returns int.])
Packit b448f0
AH_TEMPLATE([PATH_SEPARATOR],[set this to the path separator])
Packit b448f0
AH_TEMPLATE([DEFAULT_ERROR_LIMIT],[if this is not set it defaults to 200 ])
Packit b448f0
AH_TEMPLATE([SP_USE_OWN_ASSERT],[define this if you can't or don't want to use the builtin assert() macro])
Packit b448f0
AH_TEMPLATE([SP_LINE_TERM1],[set this to the first line term character])
Packit b448f0
AH_TEMPLATE([SP_LINE_TERM2],[set this to the second line term character])
Packit b448f0
Packit b448f0
dnl These are really windows only
Packit b448f0
Packit b448f0
AH_TEMPLATE([SP_MUTEX_WIN32],[define this to use win32 mutex mechanisms])
Packit b448f0
AH_TEMPLATE([SP_HAVE_SETMODE],[define this if _setmode is supported])
Packit b448f0
AH_TEMPLATE([SP_NO_MESSAGE_TEXT],[define this to not compile message texts in])
Packit b448f0
AH_TEMPLATE([SP_USE_DLL],[define this to build a dll])
Packit b448f0
AH_TEMPLATE([SP_DLLEXPORT],[define this to build a dll])
Packit b448f0
AH_TEMPLATE([SP_DLLIMPORT],[define this tobuild a dll])
Packit b448f0
AH_TEMPLATE([SP_WIDE_SYSTEM],[define this if the OS provides wide character interfaces])
Packit b448f0
AH_TEMPLATE([SP_PCH],[define this to enable precompiled header support])
Packit b448f0
AH_TEMPLATE([SP_LOCALE_DIR],[the location we install our messages])
Packit b448f0
Packit b448f0
AH_TEMPLATE([SIZEOF_WCHAR_T],[size of wchar_t])
Packit b448f0
Packit b448f0
AH_BOTTOM([
Packit b448f0
#ifdef HAVE_UNISTD_H
Packit b448f0
#define SP_INCLUDE_UNISTD_H
Packit b448f0
#endif
Packit b448f0
Packit b448f0
#ifdef HAVE_IO_H
Packit b448f0
#undef SP_INCLUDE_IO_H
Packit b448f0
#endif
Packit b448f0
Packit b448f0
#ifdef HAVE_OSFCN_H
Packit b448f0
#undef SP_INCLUDE_OSFCN_H
Packit b448f0
#endif
Packit b448f0
Packit b448f0
#ifndef SP_MSDOS_FILENAMES
Packit b448f0
#define SP_POSIX_FILENAMES
Packit b448f0
#endif
Packit b448f0
Packit b448f0
#ifdef HAVE_ST_BLKSIZE
Packit b448f0
#define SP_STAT_BLKSIZE
Packit b448f0
#endif
Packit b448f0
Packit b448f0
#ifdef HAVE_BOOL
Packit b448f0
#ifndef SP_HAVE_BOOL
Packit b448f0
#define SP_HAVE_BOOL
Packit b448f0
#endif
Packit b448f0
#endif /* HAVE_BOOL */
Packit b448f0
Packit b448f0
#ifdef HAVE_TYPENAME
Packit b448f0
#define SP_HAVE_TYPENAME
Packit b448f0
#endif /* HAVE_TYPENAME */
Packit b448f0
Packit b448f0
#if (SIZEOF_BOOL == 1)
Packit b448f0
#define SP_SIZEOF_BOOL_1
Packit b448f0
#endif
Packit b448f0
Packit b448f0
#if (SIZEOF_WCHAR_T == SIZEOF_UNSIGNED_SHORT)
Packit b448f0
#define SP_WCHAR_T_USHORT
Packit b448f0
#endif
Packit b448f0
Packit b448f0
#ifdef SP_HAVE_SETMODE
Packit b448f0
#ifndef SP_LINE_TERM1
Packit b448f0
#define SP_LINE_TERM1 '\r'
Packit b448f0
#define SP_LINE_TERM2 '\n'
Packit b448f0
#endif
Packit b448f0
#endif /* not SP_HAVE_SETMODE */
Packit b448f0
Packit b448f0
#ifndef SP_LINE_TERM1
Packit b448f0
#define SP_LINE_TERM1 '\n'
Packit b448f0
#endif
Packit b448f0
Packit b448f0
#ifndef HAVE_NEW_FOR_SCOPING
Packit b448f0
// This simulates the new ANSI "for" scope rules
Packit b448f0
#define for if (0); else for
Packit b448f0
#endif /* HAVE_NEW_FOR_SCOPING */
Packit b448f0
Packit b448f0
#ifndef SP_HAVE_TYPENAME
Packit b448f0
#define typename /* as nothing */
Packit b448f0
#endif
Packit b448f0
Packit b448f0
#ifndef SP_DLLEXPORT
Packit b448f0
#define SP_DLLEXPORT /* as nothing */
Packit b448f0
#endif
Packit b448f0
Packit b448f0
#ifndef SP_DLLIMPORT
Packit b448f0
#define SP_DLLIMPORT /* as nothing */
Packit b448f0
#endif
Packit b448f0
Packit b448f0
#ifdef SP_USE_DLL
Packit b448f0
Packit b448f0
#ifdef BUILD_LIBSP
Packit b448f0
#define SP_API SP_DLLEXPORT
Packit b448f0
#else
Packit b448f0
#define SP_API SP_DLLIMPORT
Packit b448f0
#endif
Packit b448f0
Packit b448f0
#else /* not SP_USE_DLL */
Packit b448f0
Packit b448f0
#define SP_API /* as nothing */
Packit b448f0
Packit b448f0
#endif /* not SP_USE_DLL */
Packit b448f0
Packit b448f0
#ifdef SP_WIDE_SYSTEM
Packit b448f0
#ifndef SP_MULTI_BYTE
Packit b448f0
#define SP_MULTI_BYTE
Packit b448f0
#endif
Packit b448f0
#endif
Packit b448f0
Packit b448f0
#ifdef HAVE_NAMESPACES
Packit b448f0
#define SP_NAMESPACE OpenSP
Packit b448f0
#endif /* HAVE_NAMESPACES */
Packit b448f0
Packit b448f0
#ifdef SP_NAMESPACE
Packit b448f0
#define SP_NAMESPACE_SCOPE SP_NAMESPACE::
Packit b448f0
#else
Packit b448f0
#define SP_NAMESPACE_SCOPE
Packit b448f0
#endif /* SP_NAMESPACE */
Packit b448f0
Packit b448f0
#ifdef HAVE_DYNAMIC_CAST
Packit b448f0
#define SP_HAVE_RTTI
Packit b448f0
#endif /* HAVE_DYNAMIC_CAST */
Packit b448f0
Packit b448f0
#ifdef HAVE_PATHNAME_STYLE_DOS
Packit b448f0
#define SP_MSDOS_FILENAMES
Packit b448f0
#else
Packit b448f0
#define SP_POSIX_FILENAMES
Packit b448f0
#endif /* HAVE_PATHNAME_STYLE_DOS */
Packit b448f0
Packit b448f0
#ifdef HAVE_INSTANTIATIONS
Packit b448f0
#ifndef SP_ANSI_CLASS_INST
Packit b448f0
#define SP_ANSI_CLASS_INST
Packit b448f0
#endif
Packit b448f0
#endif /* HAVE_INSTANTIATIONS */
Packit b448f0
Packit b448f0
#ifdef HAVE_SETLOCALE
Packit b448f0
#ifndef SP_HAVE_LOCALE
Packit b448f0
#define SP_HAVE_LOCALE
Packit b448f0
#endif
Packit b448f0
#endif /* HAVE_SETLOCALE */
Packit b448f0
Packit b448f0
#if defined(HAVE_GETTEXT) && defined(ENABLE_NLS)
Packit b448f0
#ifndef SP_HAVE_GETTEXT
Packit b448f0
#define SP_HAVE_GETTEXT
Packit b448f0
#endif
Packit b448f0
#endif /* HAVE_GETTEXT && ENABLE_NLS */
Packit b448f0
Packit b448f0
#ifdef WORDS_BIGENDIAN
Packit b448f0
#define SP_BIG_ENDIAN
Packit b448f0
#endif /* WORDS_BIGENDIAN */
Packit b448f0
Packit b448f0
#ifdef HAVE_LIBTHREADS
Packit b448f0
#define SP_MUTEX_MACH
Packit b448f0
#endif /* HAVE_LIBTHREADS */
Packit b448f0
Packit b448f0
#ifdef HAVE_LIBPTHREAD
Packit b448f0
#define SP_MUTEX_PTHREADS
Packit b448f0
#endif /* HAVE_LIBPTHREAD */
Packit b448f0
Packit b448f0
#ifdef HAVE_PLACEMENT_OPERATOR_DELETE
Packit b448f0
#define SP_HAVE_PLACEMENT_OPERATOR_DELETE
Packit b448f0
#endif /* HAVE_PLACEMENT_OPERATOR_DELETE */
Packit b448f0
Packit b448f0
#ifndef HAVE_PLACEMENT_OPERATOR_NEW
Packit b448f0
#define SP_DECLARE_PLACEMENT_OPERATOR_NEW
Packit b448f0
#endif /* HAVE_PLACEMENT_OPERATOR_NEW */
Packit b448f0
Packit b448f0
#ifndef HAVE_NAMESPACE_STD
Packit b448f0
#define SP_NO_STD_NAMESPACE
Packit b448f0
#endif /* HAVE_NAMESPACE_STD */
Packit b448f0
Packit b448f0
#if defined(HAVE_NEW) && defined(HAVE_CASSERT)
Packit b448f0
#define SP_ANSI_LIB 1
Packit b448f0
#endif /* HAVE_NEW && HAVE_CASSERT */
Packit b448f0
Packit b448f0
#ifndef HAVE_MUTABLE
Packit b448f0
#define mutable
Packit b448f0
#endif /* HAVE_MUTABLE */
Packit b448f0
])
Packit b448f0
Packit b448f0
dnl Since config.h gets included by user programs, we use special names
Packit b448f0
dnl for PACKAGE and VERSION.
Packit b448f0
AC_DEFINE_UNQUOTED(SP_PACKAGE, "$PACKAGE", [Package name])
Packit b448f0
AC_DEFINE_UNQUOTED(SP_VERSION, "$VERSION", [Package version])
Packit b448f0
Packit b448f0
dnl libosp current:revision:age
Packit b448f0
SP_LIBOSP_CUR=5
Packit b448f0
dnl AC_DEFINE_UNQUOTED(SP_LIBOSP_CUR, "$SP_LIBOSP_CUR", [libosp current])
Packit b448f0
AC_SUBST(SP_LIBOSP_CUR)
Packit b448f0
AC_SUBST(SP_LIBOSP_REV, 0)
Packit b448f0
AC_SUBST(SP_LIBOSP_AGE, 0)
Packit b448f0
Packit b448f0
dnl Check for programs.
Packit b448f0
AC_PROG_CC
Packit b448f0
AC_PROG_CPP
Packit b448f0
AC_PROG_CXX
Packit b448f0
AC_PROG_CXXCPP
Packit b448f0
AC_PROG_INSTALL
Packit b448f0
AC_PROG_LN_S
Packit b448f0
AC_PROG_MAKE_SET
Packit b448f0
AC_PATH_PROGS(PERL, perl, perl)
Packit b448f0
AC_PROG_LIBTOOL
Packit b448f0
dnl Checks for libraries.
Packit b448f0
AC_CHECK_LIB(pthread,pthread_create,,AC_CHECK_LIB(threads,cthread_fork))
Packit b448f0
Packit b448f0
AM_GNU_GETTEXT
Packit b448f0
AM_GNU_GETTEXT_VERSION([0.14.5])
Packit b448f0
AC_CHECK_HEADERS(locale.h)
Packit b448f0
AC_DEFINE_DIR(SP_LOCALE_DIR, datadir/locale, [location of message catalogs])
Packit b448f0
SP_MESSAGE_DOMAIN="sp$SP_LIBOSP_CUR"
Packit b448f0
AC_DEFINE_UNQUOTED(SP_MESSAGE_DOMAIN, "$SP_MESSAGE_DOMAIN", [message domain])
Packit b448f0
AC_SUBST(SP_MESSAGE_DOMAIN)
Packit b448f0
Packit b448f0
dnl Checks for header files.
Packit b448f0
AC_HEADER_STDC
Packit b448f0
AC_CHECK_HEADERS(limits.h unistd.h io.h osfcn.h)
Packit b448f0
AC_LANG([C++])
Packit b448f0
AC_CHECK_HEADERS(new cassert)
Packit b448f0
Packit b448f0
dnl Checks for typedefs, structures, and compiler characteristics.
Packit b448f0
AC_C_BIGENDIAN
Packit b448f0
AC_TYPE_SIZE_T
Packit b448f0
AC_DIAGNOSE([obsolete],[AC_DIAGNOSE([obsolete],[AC_STRUCT_ST_BLKSIZE:
Packit b448f0
        your code should no longer depend upon `HAVE_ST_BLKSIZE', but
Packit b448f0
        `HAVE_STRUCT_STAT_ST_BLKSIZE'.  Remove this warning and
Packit b448f0
        the `AC_DEFINE' when you adjust the code.])
Packit b448f0
AC_CHECK_MEMBERS([struct stat.st_blksize],[AC_DEFINE(HAVE_ST_BLKSIZE, 1,
Packit b448f0
                            [Define to 1 if your `struct stat' has
Packit b448f0
                             `st_blksize'.  Deprecated, use
Packit b448f0
                             `HAVE_STRUCT_STAT_ST_BLKSIZE' instead.])])
Packit b448f0
:
Packit b448f0
        your code should no longer depend upon `HAVE_ST_BLKSIZE', but
Packit b448f0
        `HAVE_STRUCT_STAT_ST_BLKSIZE'.  Remove this warning and
Packit b448f0
        the `AC_DEFINE' when you adjust the code.])
Packit b448f0
AC_CHECK_MEMBERS([struct stat.st_blksize],[AC_DEFINE(HAVE_ST_BLKSIZE, 1,
Packit b448f0
                            [Define if your `struct stat' has
Packit b448f0
                             `st_blksize'.  Deprecated, use
Packit b448f0
                             `HAVE_STRUCT_STAT_ST_BLKSIZE' instead.])])
Packit b448f0
Packit b448f0
AC_CACHE_CHECK(for sig_atomic_t in signal.h,
Packit b448f0
    ac_cv_have_sig_atomic_t,
Packit b448f0
    AC_TRY_LINK([#include <signal.h>],sig_atomic_t x;,
Packit b448f0
	ac_cv_have_sig_atomic_t=yes,
Packit b448f0
	ac_cv_have_sig_atomic_t=no))
Packit b448f0
if test "$ac_cv_have_sig_atomic_t" = "no"
Packit b448f0
then
Packit b448f0
    AC_CHECK_TYPE(sig_atomic_t,int)
Packit b448f0
fi
Packit b448f0
AC_CHECK_SIZEOF(size_t)
Packit b448f0
AC_CHECK_SIZEOF(unsigned int)
Packit b448f0
AC_CHECK_SIZEOF(unsigned short)
Packit b448f0
AC_CHECK_SIZEOF(wchar_t,,[
Packit b448f0
  #include <stdio.h>
Packit b448f0
  #include <wchar.h>])
Packit b448f0
AC_CXX_BOOL
Packit b448f0
if test "$ac_cv_cxx_bool" = yes; then
Packit b448f0
  AC_CHECK_SIZEOF(bool)
Packit b448f0
fi
Packit b448f0
AC_CXX_MUTABLE
Packit b448f0
AC_CXX_TYPENAME
Packit b448f0
AC_CXX_NEW_FOR_SCOPING
Packit b448f0
AC_CXX_PLACEMENT_OPERATOR_DELETE
Packit b448f0
AC_CXX_DYNAMIC_CAST
Packit b448f0
AC_CXX_NAMESPACES
Packit b448f0
AC_CXX_EXPLICIT_INSTANTIATIONS
Packit b448f0
AC_CACHE_CHECK(for placement operator new,
Packit b448f0
ac_cv_cxx_placement_operator_new,
Packit b448f0
[AC_TRY_COMPILE([#include <stddef.h>
Packit b448f0
#ifdef HAVE_NEW
Packit b448f0
#include <new>
Packit b448f0
#else
Packit b448f0
#include <new.h>
Packit b448f0
#endif
Packit b448f0
class A {
Packit b448f0
public:
Packit b448f0
  A() {};
Packit b448f0
};
Packit b448f0
A* foo()
Packit b448f0
{
Packit b448f0
  void *x;
Packit b448f0
  A *bar = new (x) A;
Packit b448f0
  return bar;
Packit b448f0
};],,
Packit b448f0
   ac_cv_cxx_placement_operator_new=yes,
Packit b448f0
   ac_cv_cxx_placement_operator_new=no)
Packit b448f0
])
Packit b448f0
if test "$ac_cv_cxx_placement_operator_new" = yes; then
Packit b448f0
  AC_DEFINE(HAVE_PLACEMENT_OPERATOR_NEW,1,
Packit b448f0
            [define if placement operator new is declared])
Packit b448f0
fi
Packit b448f0
AC_CACHE_CHECK(whether the C++ compiler supports the std namespace,
Packit b448f0
ac_cv_cxx_namespace_std,
Packit b448f0
[AC_TRY_COMPILE([
Packit b448f0
#ifdef HAVE_NEW
Packit b448f0
#include <new>
Packit b448f0
#else
Packit b448f0
#include <new.h>
Packit b448f0
#endif],[
Packit b448f0
std::set_new_handler(0);],
Packit b448f0
   ac_cv_cxx_namespace_std=yes,
Packit b448f0
   ac_cv_cxx_namespace_std=no)
Packit b448f0
])
Packit b448f0
if test "$ac_cv_cxx_namespace_std" = yes; then
Packit b448f0
  AC_DEFINE(HAVE_NAMESPACE_STD,1,
Packit b448f0
            [define if the C++ compiler supports the std namespace])
Packit b448f0
fi
Packit b448f0
if test "$GXX"; then
Packit b448f0
dnl FIXME these need tests for non-GNU compilers
Packit b448f0
  AC_CACHE_CHECK(whether GNU C++ supports automatic template instantiation,
Packit b448f0
	         ac_cv_c_gnu_automatic_templates,
Packit b448f0
                  [AC_EGREP_CPP(yes,[
Packit b448f0
#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ > 8)
Packit b448f0
  yes
Packit b448f0
#endif
Packit b448f0
	            ],
Packit b448f0
                    ac_cv_c_gnu_automatic_templates=yes,
Packit b448f0
                    ac_cv_c_gnu_automatic_templates=no)
Packit b448f0
                  ])
Packit b448f0
  if test "$ac_cv_c_gnu_automatic_templates" = yes; then
Packit b448f0
    AC_DEFINE(SP_DEFINE_TEMPLATES,1,
Packit b448f0
              [define this to include template definitions in the headers])
Packit b448f0
  else
Packit b448f0
    AC_DEFINE(SP_MANUAL_INST,1,
Packit b448f0
              [define this to compile explicit template instantiations])
Packit b448f0
    CXXFLAGS="$CXXFLAGS -fno-implicit-templates"
Packit b448f0
  fi
Packit b448f0
  AC_CACHE_CHECK(whether GNU C++ links with libg++ if we include new.h,
Packit b448f0
	         ac_cv_cxx_gnu_avoid_new_h,
Packit b448f0
                 [AC_EGREP_CPP(yes,[
Packit b448f0
#if (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
Packit b448f0
  yes
Packit b448f0
#endif
Packit b448f0
	            ],
Packit b448f0
	            ac_cv_cxx_gnu_avoid_new_h=yes,
Packit b448f0
	            ac_cv_cxx_gnu_avoid_new_h=no)
Packit b448f0
                  ])
Packit b448f0
  if test "$ac_cv_cxx_gnu_avoid_new_h" = yes; then
Packit b448f0
    AC_DEFINE(SP_NEW_H_MISSING,1,
Packit b448f0
              [define this if your system misses new.h])
Packit b448f0
    AC_CACHE_CHECK(whether to declare set_new_handler extern "C",
Packit b448f0
                    ac_cv_cxx_new_handler_extern_c,
Packit b448f0
                    [AC_TRY_LINK([
Packit b448f0
typedef void (*new_handler)();
Packit b448f0
new_handler set_new_handler(new_handler);],[
Packit b448f0
set_new_handler(0);],
Packit b448f0
                      ac_cv_cxx_new_handler_extern_c=no,
Packit b448f0
                      ac_cv_cxx_new_handler_extern_c=yes)
Packit b448f0
                     ])
Packit b448f0
    if test "$ac_cv_cxx_new_handler_extern_c" = yes; then
Packit b448f0
      AC_DEFINE(SP_SET_NEW_HANDLER_EXTERN_C,1,
Packit b448f0
                [define this if  set_new_handler() has to be declared extern "C"])
Packit b448f0
    fi
Packit b448f0
  fi
Packit b448f0
fi
Packit b448f0
AC_CACHE_CHECK(whether new_handler accepts size_t and returns int,
Packit b448f0
ac_cv_cxx_fancy_new_handler,
Packit b448f0
[AC_TRY_COMPILE([
Packit b448f0
#include <stddef.h>
Packit b448f0
#include <new.h>
Packit b448f0
int oom(size_t) { }],[set_new_handler(oom);],
Packit b448f0
   ac_cv_cxx_fancy_new_handler=yes,
Packit b448f0
   ac_cv_cxx_fancy_new_handler=no)
Packit b448f0
 ])
Packit b448f0
if test "$ac_cv_cxx_fancy_new_handler" = yes; then
Packit b448f0
  AC_DEFINE(SP_FANCY_NEW_HANDLER,1,
Packit b448f0
            [define this if the new handler takes size_t and returns int])
Packit b448f0
fi
Packit b448f0
Packit b448f0
dnl Checks for library functions.
Packit b448f0
AC_REPLACE_FUNCS(memmove memcmp strerror strtoul)
Packit b448f0
AC_CHECK_FUNCS(setlocale)
Packit b448f0
Packit b448f0
dnl Checks for system services.
Packit b448f0
ACX_CHECK_PATHNAME_STYLE_DOS
Packit b448f0
Packit b448f0
AC_MSG_CHECKING(whether to include support for http)
Packit b448f0
AC_ARG_ENABLE(http,
Packit b448f0
[  --enable-http           include support for http],
Packit b448f0
    if test $enableval
Packit b448f0
    then
Packit b448f0
        AC_MSG_RESULT(yes)
Packit b448f0
	AC_DEFINE(SP_HAVE_SOCKET,1,
Packit b448f0
                  [define this if sockets are available])
Packit b448f0
	AC_CHECK_LIB(nsl,main,LIBS="$LIBS -lnsl")
Packit b448f0
	AC_CHECK_LIB(socket,main,LIBS="$LIBS -lsocket")
Packit b448f0
	AC_MSG_CHECKING(h_errno in netdb.h)
Packit b448f0
	AC_EGREP_HEADER(h_errno,netdb.h,
Packit b448f0
	    AC_MSG_RESULT(yes),
Packit b448f0
	    AC_DEFINE(SP_DECLARE_H_ERRNO,1,
Packit b448f0
                      [define this if h_errno should be declared extern int])
Packit b448f0
	    AC_MSG_RESULT(no))
Packit b448f0
    else
Packit b448f0
        AC_MSG_RESULT(no)
Packit b448f0
    fi,
Packit b448f0
    AC_MSG_RESULT(no))
Packit b448f0
AC_MSG_CHECKING(for default catalog)
Packit b448f0
AC_ARG_ENABLE(default-catalog,
Packit b448f0
[  --enable-default-catalog=pathlist
Packit b448f0
                          provide one or more default catalog files or
Packit b448f0
                          sysids, e.g. /usr/local/lib/sgml/catalog],
Packit b448f0
              if test $enableval
Packit b448f0
               then
Packit b448f0
                AC_MSG_RESULT($enableval)
Packit b448f0
                AC_DEFINE_UNQUOTED(SGML_CATALOG_FILES_DEFAULT,"$enableval",
Packit b448f0
                              [set this to the default catalog files list])
Packit b448f0
               else
Packit b448f0
                AC_MSG_RESULT(none)
Packit b448f0
              fi,
Packit b448f0
              AC_MSG_RESULT(none))
Packit b448f0
AC_MSG_CHECKING(for default search path)
Packit b448f0
AC_ARG_ENABLE(default-search-path,
Packit b448f0
[  --enable-default-search-path=pathlist
Packit b448f0
                          provide a default value for SGML_SEARCH_PATH],
Packit b448f0
    if test $enableval
Packit b448f0
    then
Packit b448f0
        AC_MSG_RESULT($enableval)
Packit b448f0
	AC_DEFINE_UNQUOTED(SGML_SEARCH_PATH_DEFAULT,"$enableval",
Packit b448f0
                       [set this to the default SGML search path])
Packit b448f0
    else
Packit b448f0
        AC_MSG_RESULT(none)
Packit b448f0
    fi,
Packit b448f0
    AC_MSG_RESULT(none))
Packit b448f0
AC_MSG_CHECKING(whether to include support for XML Formatted Messages)
Packit b448f0
AC_ARG_ENABLE(xml-messages,
Packit b448f0
[  --enable-xml-messages   include support for XML Formatted Messages],
Packit b448f0
        if test $enableval
Packit b448f0
           then
Packit b448f0
              AC_MSG_RESULT(yes)
Packit b448f0
              AC_DEFINE(SP_XML,1,[set this to enable XML Formatted Messages])
Packit b448f0
           else
Packit b448f0
                AC_MSG_RESULT(no)
Packit b448f0
         fi,
Packit b448f0
      AC_MSG_RESULT(no))
Packit b448f0
DTDDECL=yes
Packit b448f0
AC_MSG_CHECKING(whether to include DTDDECL support)
Packit b448f0
AC_ARG_ENABLE(dtddecl,
Packit b448f0
[  --disable-dtddecl       disable support for DTDDECL catalog entries],
Packit b448f0
    if test "$enableval" = "no"
Packit b448f0
    then
Packit b448f0
        AC_MSG_RESULT(no)
Packit b448f0
	DTDDECL=no
Packit b448f0
    else
Packit b448f0
        AC_MSG_RESULT(yes)
Packit b448f0
    fi,
Packit b448f0
    AC_MSG_RESULT(yes))
Packit b448f0
if test "$DTDDECL" = "yes"
Packit b448f0
then
Packit b448f0
    AC_DEFINE(SP_DTDDECL,1,[set this to enable DTDDECL support])
Packit b448f0
    AM_CONDITIONAL(DTDDECL,true)
Packit b448f0
else
Packit b448f0
    AM_CONDITIONAL(DTDDECL,false)
Packit b448f0
fi
Packit b448f0
Packit b448f0
dnl Output.
Packit b448f0
AC_CONFIG_FILES([${PACKAGE}-${VERSION}.spec:spec.in Makefile msggen.pl
Packit b448f0
	lib/Makefile nsgmls/Makefile spent/Makefile
Packit b448f0
	spam/Makefile sgmlnorm/Makefile sx/Makefile spcat/Makefile
Packit b448f0
	include/Makefile include/config.h.old generic/Makefile doc/Makefile
Packit b448f0
	pubtext/Makefile tests/Makefile unicode/Makefile intl/Makefile
Packit b448f0
	po/Makefile.in])
Packit b448f0
Packit b448f0
BUILDDOCS=yes
Packit b448f0
AC_MSG_CHECKING([whether to build docs (man and html)])
Packit b448f0
AC_ARG_ENABLE(doc-build,
Packit b448f0
    [  --disable-doc-build     do not build docs from source],
Packit b448f0
    if test "$enableval" = "no"
Packit b448f0
    then
Packit b448f0
        AC_MSG_RESULT(no)
Packit b448f0
        BUILDDOCS=no
Packit b448f0
    else
Packit b448f0
	AC_MSG_RESULT(yes)
Packit b448f0
    fi,
Packit b448f0
    AC_MSG_RESULT(yes))
Packit b448f0
Packit b448f0
if test "$BUILDDOCS" = "yes"
Packit b448f0
then
Packit b448f0
    AC_PATH_PROG(XMLTO, xmlto)
Packit b448f0
    if test -z "$XMLTO"
Packit b448f0
    then AC_MSG_ERROR(
Packit b448f0
[could not find xmlto; set XMLTO or consider --disable-doc-build])
Packit b448f0
    fi
Packit b448f0
    AC_SUBST(DOCSRC, docsrc)
Packit b448f0
    AC_CONFIG_FILES(docsrc/Makefile)
Packit b448f0
fi
Packit b448f0
Packit b448f0
BUILDFULLDOCS=no
Packit b448f0
AC_MSG_CHECKING([whether to build all docs (man, html, pdf, ps)])
Packit b448f0
AC_ARG_ENABLE(full-doc-build,
Packit b448f0
    [  --enable-full-doc-build build all docs from source],
Packit b448f0
    if test "$enableval" = "yes"
Packit b448f0
    then
Packit b448f0
        AC_MSG_RESULT(yes)
Packit b448f0
        BUILDFULLDOCS=yes
Packit b448f0
    else
Packit b448f0
	AC_MSG_RESULT(no)
Packit b448f0
    fi,
Packit b448f0
    AC_MSG_RESULT(no))
Packit b448f0
Packit b448f0
if test "$BUILDFULLDOCS" = "yes"
Packit b448f0
then
Packit b448f0
    AC_PATH_PROG(PDF2PS, pdf2ps)
Packit b448f0
    if test -z "$PDF2PS"
Packit b448f0
    then AC_MSG_ERROR(
Packit b448f0
[could not find pdf2ps; set PDF2PS or consider --disable-doc-build])
Packit b448f0
    fi
Packit b448f0
    AC_PATH_PROG(JADE, openjade jade)
Packit b448f0
    if test -z "$JADE"
Packit b448f0
    then
Packit b448f0
	AC_MSG_ERROR(
Packit b448f0
[could not find openjade or jade; set JADE or consider --disable-doc-build])
Packit b448f0
    fi
Packit b448f0
    AC_PATH_PROG(JADETEX, jadetex)
Packit b448f0
    if test -z "$JADETEX"
Packit b448f0
    then
Packit b448f0
	AC_MSG_ERROR(
Packit b448f0
[could not find jadetex; set JADETEX or consider --disable-doc-build])
Packit b448f0
    fi
Packit b448f0
    AC_PATH_PROG(PDFJADETEX, pdfjadetex)
Packit b448f0
    if test -z "$PDFJADETEX"
Packit b448f0
    then
Packit b448f0
	AC_MSG_ERROR(
Packit b448f0
[could not find pdfjadetex; set PDFJADETEX or consider --disable-doc-build])
Packit b448f0
    fi
Packit b448f0
    AC_SUBST(EXTRADOCS,["releasenotes.pdf releasenotes.ps"])
Packit b448f0
fi
Packit b448f0
Packit b448f0
AC_OUTPUT