dnl ////////////////////////////////////////////////////////////////////////
dnl
dnl Top-level configure.in for wxWindows by Robert Roebling, Wolfram Gloger
dnl and Martin Sperl.
dnl
dnl This script is under the wxWindows licence.
dnl $Id$
dnl ////////////////////////////////////////////////////////////////////////


dnl AM_PATH_GTK([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
dnl Test for GTK, and define GTK_CFLAGS and GTK_LIBS
dnl
AC_DEFUN(AM_PATH_GTK,
[dnl
dnl Get the cflags and libraries from the gtk-config script
dnl
AC_ARG_WITH(gtk-prefix,[**--with-gtk-prefix=PFX       Prefix where GTK is installed],
            gtk_config_prefix="$withval", gtk_config_prefix="")
AC_ARG_WITH(gtk-exec-prefix,[**--with-gtk-exec-prefix=PFX  Exec prefix where GTK is installed],
            gtk_config_exec_prefix="$withval", gtk_config_exec_prefix="")

  if test x$gtk_config_exec_prefix != x ; then
     gtk_config_args="$gtk_config_args --exec-prefix=$gtk_config_exec_prefix"
     if test x${GTK_CONFIG+set} != xset ; then
        GTK_CONFIG=$gtk_config_exec_prefix/bin/gtk-config
     fi
  fi
  if test x$gtk_config_prefix != x ; then
     gtk_config_args="$gtk_config_args --prefix=$gtk_config_prefix"
     if test x${GTK_CONFIG+set} != xset ; then
        GTK_CONFIG=$gtk_config_prefix/bin/gtk-config
     fi
  fi

  AC_PATH_PROG(GTK_CONFIG, gtk-config, no)
  min_gtk_version=ifelse([$1], ,0.99.7,$1)
  AC_MSG_CHECKING(for GTK - version >= $min_gtk_version)
  no_gtk=""
  if test "$GTK_CONFIG" != "no" ; then
    GTK_CFLAGS=`$GTK_CONFIG --cflags`
    GTK_LIBS=`$GTK_CONFIG --libs`
    ac_save_CFLAGS="$CFLAGS"
    ac_save_LIBS="$LIBS"
    CFLAGS="$CFLAGS $GTK_CFLAGS"
    LIBS="$LIBS $GTK_LIBS"
dnl
dnl Now check if the installed GTK is sufficiently new. (Also sanity
dnl checks the results of gtk-config to some extent
dnl
    AC_TRY_RUN([
#include <gtk/gtk.h>
#include <stdio.h>

int
main ()
{
  int major, minor, micro;

  if (sscanf("$min_gtk_version", "%d.%d.%d", &major, &minor, &micro) != 3) {
     printf("%s, bad version string\n", "$min_gtk_version");
     exit(1);
   }

   if (gtk_minor_version == 1) return FALSE;

   return !((gtk_major_version > major) ||
	    ((gtk_major_version == major) && (gtk_minor_version > minor)) ||
	    ((gtk_major_version == major) && (gtk_minor_version == minor) && (gtk_micro_version >= micro)));
}
],, no_gtk=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
     CFLAGS="$ac_save_CFLAGS"
     LIBS="$ac_save_LIBS"
  else
     no_gtk=yes
  fi
  if test "x$no_gtk" = x ; then
     AC_MSG_RESULT(yes)
     ifelse([$2], , :, [$2])
  else
     AC_MSG_RESULT(no)
     GTK_CFLAGS=""
     GTK_LIBS=""
     ifelse([$3], , :, [$3])
  fi
  AC_SUBST(GTK_CFLAGS)
  AC_SUBST(GTK_LIBS)
])

dnl ------------------------------------------------------------------------
dnl custom macros
dnl ------------------------------------------------------------------------

AC_DEFUN(AC_OVERRIDES_PREPARE,
[
rm -f ${OSTYPE}.system.cache.tmp
touch ${OSTYPE}.system.cache.tmp
touch ${OSTYPE}.system.cache
])

AC_DEFUN(AC_OVERRIDES_DONE,
[
mv ${OSTYPE}.system.cache.tmp ${OSTYPE}.system.cache
])

dnl package,message,helpmessage,variable
AC_DEFUN(AC_OVERRIDES,
[
AC_MSG_CHECKING("for $2")
AC_ARG_WITH($1,$3,
[if test "x$with_$1" = xyes; then
  ac_cv_use_$1='$4="1"'
else
  ac_cv_use_$1='$4="0"'
fi],
[
  LINE=`grep "$4" ${OSTYPE}.system.cache`
  if test "x$LINE" != x ; then
    eval "DEFAULT_$LINE"
  fi
  ac_cv_use_$1='$4='$DEFAULT_$4
])
eval "$ac_cv_use_$1"
echo $ac_cv_use_$1 >> ${OSTYPE}.system.cache.tmp
if test "$$4" = 1; then
  AC_MSG_RESULT(yes)
else
  AC_MSG_RESULT(no)
fi
])

dnl package,message,helpmessage,variable
AC_DEFUN(AC_OVERRIDES_OLD,
[
AC_MSG_CHECKING("for $2")
AC_CACHE_VAL(ac_cv_use_$1,
[
AC_ARG_WITH($1,$3,
[if test "x$with_$1" = xyes; then
  ac_cv_use_$1='$4="1"'
else
  ac_cv_use_$1='$4="0"'
fi],[ac_cv_use_$1='$4=$DEFAULT_$4'])
])
eval "$ac_cv_use_$1"

if test "$$4" = 1; then
  AC_MSG_RESULT(yes)
else
  AC_MSG_RESULT(no)
fi
])

AC_DEFUN(AC_PATH_FIND_INCLUDES,
[
ac_find_includes=
for ac_dir in $1;
  do
    if test -f "$ac_dir/$2"; then
      ac_find_includes=$ac_dir
      break
    fi
  done
])

AC_DEFUN(AC_PATH_FIND_LIBRARIES,
[
ac_find_libraries=
for ac_dir in $1;
  do
    for ac_extension in a so sl; do
      if test -f "$ac_dir/lib$2.$ac_extension"; then
        ac_find_libraries=$ac_dir
        break 2
      fi
    done
  done
])

dnl Path to include, allready defined
AC_DEFUN(AC_INCLUDE_PATH_EXIST,
[
  ac_path_to_include=$1
  echo "$2" | grep "\-I$1" > /dev/null
  result=$?
  if test $result = 0; then
    ac_path_to_include=""
  else
    ac_path_to_include="-I$1"
  fi
])

dnl Path to link, allready defined
AC_DEFUN(AC_LINK_PATH_EXIST,
[
  echo "$2" | grep "\-L$1" > /dev/null
  result=$?
  if test $result = 0; then
    ac_path_to_link=""
  else
    ac_path_to_link="-L$1"
  fi
])

dnl ------------------------------------------------------------------------
dnl Process this file with autoconf to produce a configure script.
dnl ------------------------------------------------------------------------

AC_INIT(configure.in)

dnl ------------------------------------------------------------------------
dnl Check platform
dnl ------------------------------------------------------------------------

OS="${OSTYPE}"

if test "x$OS" = "x"; then
  UNAME=`uname`
  AC_MSG_ERROR("The system variable OS has not been set"
               "please set is everytime befor compiling on this system"
               "A good example for this system would be:"
               "setenv OSTYPE $UNAME        for csh as a SHELL"
               "EXPORT OSTYPE=$UNAME        for sh as SHELL"
               "please set this and restart again."
              )
fi

dnl ------------------------------------------------------------------------
dnl Set base directory
dnl ------------------------------------------------------------------------

WXBASEDIR=`pwd`
AC_SUBST(WXBASEDIR)

dnl ------------------------------------------------------------------------
dnl search path for includes and libraries
dnl ------------------------------------------------------------------------

dnl VZ: added standard locations for Xm.h for Irix, HP-UX and SunOS (19.02.99)
SEARCH_INCLUDE="\
    /usr/Motif-1.2/include    \
    /usr/Motif-2.1/include    \
                              \
    /usr/include/Motif1.2     \
    /opt/xpm/include/X11      \
                              \
    /usr/Motif1.2/include     \
    /usr/dt/include           \
    /usr/include/Xm           \
                              \
    /usr/X11R6/include        \
    /usr/X11R5/include        \
    /usr/X11R4/include        \
                              \
    /usr/X11R6/lib            \
    /usr/X11R5/lib            \
    /usr/X11R4/lib            \
                              \
    /usr/include/X11R6        \
    /usr/include/X11R5        \
    /usr/include/X11R4        \
                              \
    /usr/local/X11R6/include  \
    /usr/local/X11R5/include  \
    /usr/local/X11R4/include  \
                              \
    /usr/local/include/X11R6  \
    /usr/local/include/X11R5  \
    /usr/local/include/X11R4  \
                              \
    /usr/X11/include          \
    /usr/include/X11          \
    /usr/local/X11/include    \
    /usr/local/include/X11    \
                              \
    /usr/X386/include         \
    /usr/x386/include         \
    /usr/XFree86/include/X11  \
                              \
    /usr/include              \
    /usr/include/gtk          \
    /usr/include/gdk          \
    /usr/include/glib         \
    /usr/local/include        \
    /usr/unsupported/include  \
    /usr/athena/include       \
    /usr/local/x11r5/include  \
    /usr/lpp/Xamples/include  \
                              \
    /usr/local/include/gtk    \
    /usr/local/include/qt     \
    /usr/include/qt           \
                              \
    /usr/openwin/include      \
    /usr/openwin/share/include \
    "

SEARCH_LIB="`echo "$SEARCH_INCLUDE" | sed s/include/lib/g` "

dnl ------------------------------------------------------------------------
dnl standard checks
dnl ------------------------------------------------------------------------

dnl ###################
dnl # checks programs #
dnl ###################

dnl C-compiler checks
dnl =================
dnl use what compiler
AC_PROG_CC
dnl   defines CC with the compiler to use
dnl   defines GCC with yes if using gcc
dnl   defines GCC empty if not using gcc
dnl   defines CFLAGS

CFLAGS=`echo "$CFLAGS" | sed 's/-g//g'`

dnl does compiler support -c and -o simultaniously
AC_PROG_CC_C_O
dnl   defines NO_MINUS_C_MINUS_O if compiler does not accept
dnl                              both switches simultaniously
dnl what is the c-preprocessor
AC_PROG_CPP
dnl   defines CPP with the c-preprocessor
dnl is -traditional needed for correct compilations
AC_PROG_GCC_TRADITIONAL
dnl   adds -traditional for gcc if needed

AC_LANG_SAVE

dnl C++-compiler checks
dnl ===================
dnl use what compiler
AC_PROG_CXX
dnl   defines CXX with the compiler to use
dnl   defines GXX with yes if using gxx
dnl   defines GXX empty if not using gxx
dnl   defines CXXFLAGS
dnl what is the C++-preprocessor
AC_PROG_CXXCPP
dnl   defines CXXCPP with the C++-preprocessor

CXXFLAGS=`echo "$CXXFLAGS" | sed 's/-g//g'`

AC_LANG_RESTORE

dnl ranlib command
dnl ==============
AC_PROG_RANLIB
dnl   defines RANLIB with the appropriate command

dnl ar command
dnl ==========
AC_CHECK_PROG(AR, ar, ar, ar)
dnl   defines AR with the appropriate command

dnl install checks
dnl ==============
AC_PROG_INSTALL
dnl   defines INSTALL with the appropriate command

dnl does ln -s works
dnl ================
AC_PROG_LN_S
dnl   defines LN_S with the appropriate command

dnl awk command
dnl ===========
AC_PROG_AWK
dnl   defines AWK with the appropriate command

dnl strip command
dnl =============
AC_CHECK_PROG(STRIP, strip, strip, true)
dnl   defines STRIP as strip or nothing if not found

dnl ###############
dnl # make checks #
dnl ###############
dnl check if VPATH works
AC_MSG_CHECKING("make for VPATH support")
dnl create Makefile
cat - << EOF > confMake
check : file
	cp \$? \$@
	cp \$? final_file
EOF

if test ! -d sub ; then
  mkdir sub
fi
echo dummy > sub/file
${MAKE-make} -f confMake VPATH=sub 2> config.log > /dev/null
RESULT=$?
rm -f sub/file check final_file confMake
rmdir sub
if test "$RESULT" = 0; then
  AC_MSG_RESULT(yes)
else
  AC_MSG_RESULT(no)
  AC_MSG_ERROR(
You need a make-utility that is able to use the variable
VPATH correctly.
If your version of make does not support VPATH correctly,
please install GNU-make (possibly as gmake), and start
configure with the following command:
export MAKE=gmake; ./configure  for sh-type shells
setenv MAKE gmake; ./configure  for csh-type shells
Also please do remember to use gmake in this case every time
you are trying to compile.
)
fi

dnl ####################
dnl # checks libraries #
dnl ####################

dnl find the X11 include and library files
AC_PATH_XTRA
dnl   defines x_includes and x_libraries

dnl #######################
dnl # checks header files #
dnl #######################
AC_HEADER_DIRENT
dnl   defines DIR
dnl   defines MACRO HAVE_DIRENT_H if dirent.h exists
dnl   defines MACRO HAVE_SYS_NDIR_H if sys/ndir.h exists
dnl   defines MACRO HAVE_SYS_DIR_H if sys/dir.h exists
dnl   defines MACRO HAVE_NDIR_H if ndir.h exists
AC_HEADER_STDC
dnl   defines STDC_HEADERS if ANSI-C header
AC_HEADER_SYS_WAIT
dnl   defines HAVE_SYS_WAIT_H if sys/wait.h exist and is POSIX.1
AC_CHECK_HEADERS(fcntl.h)
dnl   defines HAVE_FCNTL_H
AC_CHECK_HEADERS(limits.h)
dnl   defines HAVE_LIMITS_h
AC_CHECK_HEADERS(sys/file.h)
dnl   defines HAVE_SYS_FILE_H
AC_CHECK_HEADERS(sys/time.h)
dnl   defines HAVE_SYS_TIME_H
AC_CHECK_HEADERS(unistd.h)
dnl   defines HAVE_UNISTD_H
AC_CHECK_HEADERS(fnmatch.h)
dnl   defines HAVE_FNMATCH_H
dnl As it needs Linux 2.1.x for the moment: check whether the file exists (GL).
AC_CHECK_HEADERS(linux/joystick.h)
GTK_JOYSTICK=""
if test "$ac_cv_header_linux_joystick_h" = "yes"; then
  GTK_JOYSTICK="gtk/joystick.cpp"
fi
AC_SUBST(GTK_JOYSTICK)

dnl some systems (AIX) define some of string function in strings.h
AC_CHECK_HEADERS(strings.h)

dnl #######################
dnl # check for functions #
dnl #######################

dnl check for vprintf/vsprintf() which are GNU extensions
AC_FUNC_VPRINTF

dnl check for vsnprintf() - a safe version of vsprintf()
AC_CHECK_FUNCS(vsnprintf,
               AC_DEFINE(HAVE_VSNPRINTF),
               AC_MSG_WARN(unsafe function sprintf will be used instead of snprintf)
              )

dnl check for vfork() (even if it's the same as fork() in modern Unices)
AC_CHECK_FUNCS(vfork)

POSIX4_LINK=
AC_CHECK_FUNCS(nanosleep, AC_DEFINE(HAVE_NANOSLEEP), [
    AC_CHECK_LIB(posix4, nanosleep, [
	    AC_DEFINE(HAVE_NANOSLEEP)
	    POSIX4_LINK="-lposix4"
    ], [
    AC_CHECK_FUNCS(usleep,
        AC_DEFINE(HAVE_USLEEP),
        AC_MSG_WARN(Sleep() function will not work))
    ])
])

dnl check for uname (POSIX) and gethostname (BSD)
AC_CHECK_FUNCS(uname gethostname, break)

dnl ###################
dnl # checks typedefs #
dnl ###################
AC_TYPE_GETGROUPS
dnl   defines GETGROUPS_T
AC_TYPE_MODE_T
dnl   defines mode_t if not already defined
AC_TYPE_OFF_T
dnl   defines off_t if not already defined
AC_TYPE_PID_T
dnl   defines pid_t if not already defined
AC_TYPE_SIGNAL
dnl   defines RETSIGTYPE for the correct return type of signal
AC_TYPE_SIZE_T
dnl   defines size_t if not already defined
AC_TYPE_UID_T
dnl   defines uid_t and gid_t if not already defined

dnl #####################
dnl # checks structures #
dnl #####################

AC_HEADER_STAT
dnl   defines STAT_MACROS_BROKEN if S_ISDIR and S_ISREG
dnl                              do not work properly
AC_HEADER_TIME
dnl   defines TIME_WITH_SYS_TIME if time.h and sys/time.h can
dnl                              both be included
AC_STRUCT_ST_BLKSIZE
dnl   defines HAVE_ST_BLKSIZE if struct stat contains st_blksize
AC_STRUCT_ST_BLOCKS
dnl   defines HAVE_ST_BLOCKS if struct stat contains st_blocks
AC_STRUCT_ST_RDEV
dnl   defines HAVE_ST_RDEV if struct stat contains st_rdev
AC_STRUCT_TM
dnl   defines TM_IN_SYS_TIME if struct tm is not in time.h
AC_STRUCT_TIMEZONE
dnl   defines HAVE_ST_BLKSIZE if struct tm contains tm_zone
dnl   otherwise
dnl   defines HAVE_TZNAME if external array tzname is found

dnl ###################################
dnl # checks compiler characteristics #
dnl ###################################

AC_C_CONST
dnl   defines const to be empty if c-compiler does not support const fully
AC_C_INLINE
dnl   defines inline to a sensible value for the c-compiler
AC_C_CHAR_UNSIGNED
dnl   defines __CHAR_UNSIGNED__ if char is unsigned
AC_C_LONG_DOUBLE
dnl   defines HAVE_LONGDOUBLE if compiler supports long double

AC_C_BIGENDIAN
dnl   defines WORDS_BIGENDIAN if system is big endian

dnl give some default values for cross-compiling
AC_CHECK_SIZEOF(int *, 4)
AC_CHECK_SIZEOF(int, 4)
AC_CHECK_SIZEOF(long, 4)
AC_CHECK_SIZEOF(long long, 0)
dnl   defines the size of certain types of variables in SIZEOF_<TYPE>

dnl ######################
dnl # check C++ features #
dnl ######################

AC_LANG_SAVE
AC_LANG_CPLUSPLUS

dnl check for iostream (as opposed to iostream.h) standard header
AC_CHECK_HEADERS(iostream)
if test "x$HAVE_IOSTREAM" = "x" ; then
  AC_DEFINE(wxUSE_IOSTREAMH)
fi

dnl Check for existence of builtin 'bool' data type
dnl
dnl do nothing for cross-compilation - assume bool is not defined 
AC_MSG_CHECKING(if C++ compiler supports bool)
AC_TRY_RUN([

int main()
{
    bool b = true;

    return 0;
}
       ],
	   AC_DEFINE(HAVE_BOOL) AC_MSG_RESULT(yes),
	   AC_MSG_RESULT(no),
	   AC_MSG_RESULT(no assumed for cross-compilation))

dnl Check whether overloading on size_t/int parameter works
AC_MSG_CHECKING(if size_t and int are different types)
AC_TRY_RUN([
#include <stdlib.h>

void wxFoo(int i) { }
void wxFoo(size_t n) { }

int main()
{
    int i;
    size_t n;
    wxFoo(0);
    wxFoo(1);
    wxFoo(0u);
    wxFoo(i);
    wxFoo(n);

    return 0;
}

    ],
    AC_DEFINE(wxUSE_SIZE_T_STRING_OPERATOR) AC_MSG_RESULT(yes),
    AC_MSG_RESULT(no),
    AC_MSG_RESULT(no assumed for cross-compilation))

AC_LANG_RESTORE

dnl ############################
dnl # checks library functions #
dnl ############################

dnl ##########################
dnl # checks system services #
dnl ##########################


AC_SYS_LONG_FILE_NAMES
dnl   defines HAVE_LONG_FILENAMES if filenames longer then
dnl                               14 chars are supported

dnl AC_SYS_RESTARTABLE_SYSCALLS
dnl   defines HAVE_RESTARTABLE_SYSCALLS if the system restarts a
dnl                                     system call that is interrupted
dnl                                     by a signal

dnl #################
dnl # checks PARSER #
dnl #################

dnl YACC checks
dnl ===========
AC_PROG_YACC
dnl   defines YACC with the appropriate command

dnl LEX checks
dnl ==========
AC_PROG_LEX
dnl   defines LEX with the appropriate command
dnl   defines LEXLIB with the appropriate library
dnl what type is yytext
AC_DECL_YYTEXT
dnl   defines YYTEXT_POINTER  if yytext is char*
dnl   defines LEX_OUTPUT_ROOT as to the base of the
dnl                           filename output by the lexer

dnl ###################################
dnl ##  Check for dynamic load module #
dnl ###################################

DL_LIBRARY=
AC_CHECK_FUNCS(dlopen, AC_DEFINE(HAVE_LIBDL),
[AC_CHECK_LIB(dl, dlopen, [AC_DEFINE(HAVE_LIBDL) DL_LIBRARY="-ldl"],
 [AC_CHECK_LIB(dld, dld_link, [AC_DEFINE(HAVE_DLD) DL_LIBRARY="-ldld"],
   [AC_CHECK_FUNCS(shl_load, AC_DEFINE(HAVE_SHL_LOAD) )]
  )]
 )]
)
AC_SUBST(DL_LIBRARY)

AC_CACHE_CHECK([for underscore before symbols], libltdl_cv_uscore, [
  echo "main(){int i=1;} fnord(){int i=23; int ltuae=42;}" > conftest.c
  ${CC} -c conftest.c > /dev/null
  if (nm conftest.o | grep _fnord) > /dev/null; then
    libltdl_cv_uscore=yes
  else
    libltdl_cv_uscore=no
  fi
  rm -f conftest*
])

if test x"$libltdl_cv_uscore" = xyes; then
  if test x"$ac_cv_func_dlopen" = xyes ||
     test x"$ac_cv_lib_dl_dlopen" = xyes ; then
	AC_CACHE_CHECK([whether we have to add an underscore for dlsym],
		libltdl_cv_need_uscore, [dnl
		AC_TRY_RUN([
#include <dlfcn.h>
#include <stdio.h>
fnord() { int i=42;}
main() { void *self, *ptr1, *ptr2; self=dlopen(NULL,RTLD_LAZY);
    if(self) { ptr1=dlsym(self,"fnord"); ptr2=dlsym(self,"_fnord");
    if(ptr1 && !ptr2) exit(0); } exit(1); }
],	libltdl_cv_need_uscore=no, libltdl_cv_need_uscore=yes,
	libltdl_cv_need_uscore=no
)])
  fi
fi

if test x"$libltdl_cv_need_uscore" = xyes; then
   AC_DEFINE(NEED_USCORE)
fi

dnl ##########################################
dnl ##  Check for specific library functions #
dnl ##########################################

dnl Checks for library functions.
AC_CHECK_FUNCS(strerror)

dnl ------------------------------------------------------------------------
dnl main includes
dnl ------------------------------------------------------------------------

CHECK_INCLUDE="-I/usr/include $X_CFLAGS"
CHECK_LIB="-L/lib -L/usr/lib $X_LIBS"

dnl ------------------------------------------------------------------------
dnl host system
dnl ------------------------------------------------------------------------

AC_CANONICAL_HOST
canonical=$host
configuration=$host_alias

dnl ------------------------------------------------------------------------
dnl system settings
dnl ------------------------------------------------------------------------

USE_UNIX=1

USE_LINUX=
USE_SGI=
USE_HPUX=
USE_SYSV=
USE_SVR4=
USE_AIX=
USE_SUN=
USE_SOLARIS=
USE_SUNOS=
USE_ALPHA=
USE_OSF=
USE_BSD=
USE_FREEBSD=
USE_VMS=
USE_ULTRIX=
USE_DATA_GENERAL=

AC_DEFINE(__UNIX__)
case "${canonical}" in
  *-hp-hpux* )
    USE_HPUX=1
    AC_DEFINE(__HPUX__)
  ;;
  *-*-linux* )
    USE_LINUX=1
    AC_DEFINE(__LINUX__)
    TMP=`uname -m`
    if test "x$TMP" = "xalpha"
    then
      USE_ALPHA=1
      AC_DEFINE(__ALPHA__)
    fi
  ;;
  *-*-irix5* | *-*-irix6* )
    USE_SGI=1
    USE_SVR4=1
    AC_DEFINE(__SGI__)
    AC_DEFINE(__SVR4__)
  ;;
  *-*-solaris2* )
    USE_SUN=1
    USE_SOLARIS=1
    USE_SVR4=1
    AC_DEFINE(__SUN__)
    AC_DEFINE(__SOLARIS__)
    AC_DEFINE(__SVR4__)
  ;;
  *-*-sunos4* )
    USE_SUN=1
    USE_SUNOS=1
    USE_BSD=1
    AC_DEFINE(__SUN__)
    AC_DEFINE(__SUNOS__)
    AC_DEFINE(__BSD__)
  ;;
  *-*-freebsd* | *-*-netbsd*)
    USE_BSD=1
    USE_FREEBSD=1
    AC_DEFINE(__FREEBSD__)
    AC_DEFINE(__BSD__)
  ;;
  *-*-osf* )
    USE_ALPHA=1
    USE_OSF=1
    AC_DEFINE(__ALPHA__)
    AC_DEFINE(__OSF__)
  ;;
  *-*-dgux5* )
    USE_ALPHA=1
    USE_SVR4=1
    AC_DEFINE(__ALPHA__)
    AC_DEFINE(__SVR4__)
  ;;
  *-*-sysv5* )
    USE_SYSV=1
    USE_SVR4=1
    AC_DEFINE(__SYSV__)
    AC_DEFINE(__SVR4__)
  ;;
  *-*-aix* )
    USE_AIX=1
    USE_SYSV=1
    USE_SVR4=1
    AC_DEFINE(__AIX__)
    AC_DEFINE(__SYSV__)
    AC_DEFINE(__SVR4__)
  ;;
  *)
    AC_MSG_ERROR(I don't know your system type.)
esac

dnl ------------------------------------------------------------------------
dnl defaults for command options
dnl ------------------------------------------------------------------------

AC_OVERRIDES_PREPARE

DEFAULT_wxUSE_GTK=1
DEFAULT_wxUSE_QT=0
DEFAULT_wxUSE_MOTIF=0

DEFAULT_wxUSE_THREADS=0

DEFAULT_wxUSE_SHARED=1
DEFAULT_wxUSE_OPTIMISE=1
DEFAULT_wxUSE_PROFILE=0
DEFAULT_wxUSE_DEBUG_FLAG=0
DEFAULT_wxUSE_DEBUG_INFO=0
DEFAULT_wxUSE_MEM_TRACING=0
DEFAULT_wxUSE_DMALLOC=0
DEFAULT_wxUSE_APPLE_IEEE=1
DEFAULT_wxUSE_IOSTREAMH=1

DEFAULT_wxUSE_ZLIB=1
DEFAULT_wxUSE_LIBPNG=1
DEFAULT_wxUSE_LIBJPEG=1
DEFAULT_wxUSE_ODBC=1

DEFAULT_wxUSE_TIMEDATE=1
DEFAULT_wxUSE_INTL=1
DEFAULT_wxUSE_CONFIG=1
DEFAULT_wxUSE_STREAMS=1
DEFAULT_wxUSE_SOCKETS=1
DEFAULT_wxUSE_SERIAL=1
DEFAULT_wxUSE_DYNLIB_CLASS=1

DEFAULT_wxUSE_AFM_FOR_POSTSCRIPT=1
DEFAULT_WX_NORMALIZED_PS_FONTS=1
DEFAULT_wxUSE_POSTSCRIPT=1

DEFAULT_wxUSE_IPC=1
DEFAULT_wxUSE_RESOURCES=1
DEFAULT_wxUSE_CLIPBOARD=1
DEFAULT_wxUSE_TOOLTIPS=1
DEFAULT_wxUSE_DRAG_AND_DROP=1

DEFAULT_wxUSE_MDI_ARCHITECTURE=1
DEFAULT_wxUSE_DOC_VIEW_ARCHITECTURE=1
DEFAULT_wxUSE_PRINTING_ARCHITECTURE=1

DEFAULT_wxUSE_PROLOGIO=1
DEFAULT_wxUSE_WX_RESOURCES=1
DEFAULT_wxUSE_RPC=0
DEFAULT_wxUSE_HELP=1

DEFAULT_wxUSE_UNICODE=0
DEFAULT_wxUSE_WCSRTOMBS=0

dnl ----------------------------------------------------------------
dnl toolkit options
dnl ----------------------------------------------------------------

AC_OVERRIDES(gtk,gtk,
**--with-gtk              use GTK,
wxUSE_GTK)

AC_OVERRIDES(qt,qt,
**--with-qt               use Qt,
wxUSE_QT)

AC_OVERRIDES(motif,motif,
**--with-motif            use Motif/Lesstif,
wxUSE_MOTIF)

dnl ----------------------------------------------------------------
dnl compile options
dnl ----------------------------------------------------------------

AC_OVERRIDES(shared,shared,
**--with-shared           create shared libraries,
wxUSE_SHARED)

AC_OVERRIDES(optimise,optimise,
**--with-optimise         create optimised code,
wxUSE_OPTIMISE)

AC_OVERRIDES(debug_flag,debug_flag,
**--with-debug_flag       create code with WXDEBUG define set to 1,
wxUSE_DEBUG_FLAG)

AC_OVERRIDES(debug_info,debug_info,
**--with-debug_info       create code with debuging information,
wxUSE_DEBUG_INFO)

AC_OVERRIDES(debug_gdb,debug_gdb,
**--with-debug_gdb        create code with extra GDB debuging information,
wxUSE_DEBUG_GDB)

AC_OVERRIDES(mem_tracing,mem_tracing,
**--with-mem_traing       create code with memory tracing,
wxUSE_MEM_TRACING)

AC_OVERRIDES(dmalloc,dmalloc,
**--with-dmalloc          use dmalloc memory debug library (www.letters.com/dmalloc/),
wxUSE_DMALLOC)

AC_OVERRIDES(profile,profile,
**--with-profile          create code with profiling information,
wxUSE_PROFILE)

AC_OVERRIDES(apple_ieee, apple_ieee,
**--with_apple_ieee	  use the Apple IEEE codec,
wxUSE_APPLE_IEEE)

AC_OVERRIDES(threads,threads,
**--with-threads          for enabling threads,
wxUSE_THREADS)

AC_OVERRIDES(dynlib,dynlib,
**--with-dynlib           to compile wxLibrary class,
wxUSE_DYNLIB_CLASS)

dnl ----------------------------------------------------------------
dnl user options for libraries
dnl ----------------------------------------------------------------

AC_OVERRIDES(zlib,zlib,
**--without-zlib             don't use zlib for LZW comression,
wxUSE_ZLIB)

AC_OVERRIDES(libpng,libpng,
**--without-libpng           don't use libpng (PNG image format),
wxUSE_LIBPNG)

AC_OVERRIDES(libjpeg,libjpeg,
**--without-libjpeg          don't use libjpeg (JPEG image format),
wxUSE_LIBJPEG)

AC_OVERRIDES(odbc,odbc,
**--with-odbc             use iODBC and wxODBC classes,
wxUSE_ODBC)

dnl ----------------------------------------------------------------
dnl user options for non-GUI classes
dnl ----------------------------------------------------------------

AC_OVERRIDES(timedate, timedate,
**--with-timedate         use wxTime and wxDate classes,
wxUSE_TIMEDATE)

AC_OVERRIDES(intl,intl,
**--with-intl             use internationalization system,
wxUSE_INTL)

AC_OVERRIDES(config,config,
**--with-config           use wxConfig class,
wxUSE_CONFIG)

AC_OVERRIDES(streams,streams,
**--with-streams          use wxStream etc classes,
wxUSE_STREAMS)

AC_OVERRIDES(serial,serial,
**--with-serial           use class serialization,
wxUSE_SERIAL)

AC_OVERRIDES(sockets,sockets,
**--with-sockets          use wxSocket etc classes,
wxUSE_SOCKETS)

dnl ----------------------------------------------------------------
dnl user options for PostScript
dnl ----------------------------------------------------------------

AC_OVERRIDES(afmfonts,afmfonts,
**--with-afmfonts         use Adobe Font Metric Font table,
wxUSE_AFM_FOR_POSTSCRIPT)

AC_OVERRIDES(normalized, normalized,
**--with-PS-normalized    use normalized PS fonts,
WX_NORMALIZED_PS_FONTS)

AC_OVERRIDES(postscript, postscript,
**--with-postscript       use wxPostscriptDC device context,
wxUSE_POSTSCRIPT)

dnl ----------------------------------------------------------------
dnl user options for wxString and Unicode
dnl ----------------------------------------------------------------

AC_OVERRIDES(unicode,unicode,
**--with-unicode          compile wxString with Unicode support,
wxUSE_UNICODE)

AC_OVERRIDES(wcsrtombs,wcsrtombs,
**--with-wcsrtombs        use wcsrtombs instead of (buggy in GNU libc5) wcstombs,
wxUSE_WCSRTOMBS)

dnl ----------------------------------------------------------------
dnl user options for Prolog and Resources
dnl ----------------------------------------------------------------

AC_OVERRIDES(wxresources,wxresources,
**--with-wxresources      use wxWindows's resources,
wxUSE_WX_RESOURCES)

AC_OVERRIDES(prologio,prologio,
**--with-prologio         use Prolog IO library,
wxUSE_PROLOGIO)

AC_OVERRIDES(rpc,RPC,
**--with-rpc              use Prolog's remote procedure calls,
wxUSE_RPC)

dnl ----------------------------------------------------------------
dnl user options for misc stuff
dnl ----------------------------------------------------------------

AC_OVERRIDES(ipc,IPC,
**--with-ipc              use interprocess communication (wxSocket etc.),
wxUSE_IPC)

AC_OVERRIDES(resources,resources,
**--with-resources        use X resources for saving information,
wxUSE_RESOURCES)

AC_OVERRIDES(clipboard,clipboard,
**--with-clipboard        use wxClipboard classes,
wxUSE_CLIPBOARD)

AC_OVERRIDES(tooltips,tooltips,
**--with-tooltips         use tooltips,
wxUSE_TOOLTIPS)

AC_OVERRIDES(dnd,dnd,
**--with-dnd              use Drag'n'Drop classes,
wxUSE_DRAG_AND_DROP)

dnl ----------------------------------------------------------------
dnl user options for architectures
dnl ----------------------------------------------------------------

AC_OVERRIDES(mdi,mdi,
**--with-mdi              use multiple document interface architecture,
wxUSE_MDI_ARCHITECTURE)

AC_OVERRIDES(docview,docview,
**--with-docview          use document view architecture,
wxUSE_DOC_VIEW_ARCHITECTURE)

AC_OVERRIDES(printarch,printarch,
**--with-printarch        use printing architecture,
wxUSE_PRINTING_ARCHITECTURE)

AC_OVERRIDES(help,help,
**--with-help             use help (using external browser at present),
wxUSE_HELP)

dnl ----------------------------------------------------------------
dnl Unix, obviously
dnl ----------------------------------------------------------------

if test "$wxUSE_UNIX" = 1 ; then
  AC_DEFINE(__UNIX__)
fi

dnl ----------------------------------------------------------------
dnl Linux: test for libc5/glibc2: glibc2 has gettext() included
dnl ----------------------------------------------------------------
if test "$USE_LINUX" = 1; then
  AC_CHECK_LIB(c,gettext,AC_DEFINE(wxHAVE_GLIBC2))
fi

dnl ----------------------------------------------------------------
dnl search for toolkit (widget sets)
dnl ----------------------------------------------------------------

TOOLKIT=
TOOLKIT_DEF=

GUI_TK_INCLUDE=
GUI_TK_LIBRARY=
GUI_TK_LINK=

WX_LINK=

MAKEINCLUDE=

if test "$wxUSE_GTK" = 1; then
  AM_PATH_GTK(1.0.0, [
       GUI_TK_INCLUDE="$GTK_CFLAGS"
       GUI_TK_LIBRARY="$GTK_LIBS"
  ], AC_MSG_ERROR(Is gtk-config in path and GTK+ is version 1.2.X or 1.0.X?))
  TOOLKIT=GTK
  TOOLKIT_DEF=__WXGTK__
  WX_LINK=-lwx_gtk2
  MAKEINCLUDE=../gtk.inc
fi

if test "$wxUSE_QT" = 1; then
   AC_MSG_CHECKING(for Qt includes)
   AC_PATH_FIND_INCLUDES($SEARCH_INCLUDE,qapp.h)
   if test "$ac_find_includes" != "" ; then
     AC_MSG_RESULT(found $ac_find_includes)
     AC_MSG_CHECKING(for Qt library)
     AC_PATH_FIND_LIBRARIES($SEARCH_LIB,qt)
     if test "$ac_find_libraries" != "" ; then
       AC_INCLUDE_PATH_EXIST($ac_find_includes,$CHECK_INCLUDE)
       AC_LINK_PATH_EXIST($ac_find_libraries,$CHECK_LIB)
       CHECK_LINK="$CHECK_INCLUDE $ac_path_to_link"
       CHECK_INCLUDE="$CHECK_INCLUDE $ac_path_to_include"
       AC_MSG_RESULT(found Qt at $ac_find_libraries)
     else
       AC_MSG_ERROR(no)
     fi
  else
     AC_MSG_ERROR(no)
  fi
  GUI_TK_LINK="-lX11 -lqt -lm"
  TOOLKIT=QT
  TOOLKIT_DEF=__WXQT__
  WX_LINK=-lwx_qt
  MAKEINCLUDE=../qt.inc
fi

if test "$wxUSE_MOTIF" = 1; then
    AC_MSG_CHECKING(for Motif/Lesstif includes)
    AC_PATH_FIND_INCLUDES($SEARCH_INCLUDE, Xm/Xm.h)
    if test "$ac_find_includes" != "" ; then
        AC_MSG_RESULT(found $ac_find_includes)
    else
        AC_MSG_RESULT(no)
        AC_MSG_ERROR(please set CFLAGS to contain the location of Xm/Xm.h)
    fi

    AC_MSG_CHECKING(for Motif/Lesstif library)
    AC_PATH_FIND_LIBRARIES($SEARCH_LIB, Xm)
    if test "$ac_find_libraries" != "" ; then
        AC_INCLUDE_PATH_EXIST($ac_find_includes, $CHECK_INCLUDE)
        AC_LINK_PATH_EXIST($ac_find_libraries, $CHECK_LIB)

        CHECK_LINK="$CHECK_LIB $ac_path_to_link"
        CHECK_INCLUDE="$CHECK_INCLUDE $ac_path_to_include"
        AC_MSG_RESULT(found at $ac_find_libraries)
    else
        AC_MSG_RESULT(no)
        AC_MSG_ERROR(please set LDFLAGS to contain the location of libXm)
    fi
	
    AC_MSG_CHECKING(for Xt library)
    AC_PATH_FIND_LIBRARIES($SEARCH_LIB,Xt)
    if test "$ac_find_libraries" != "" ; then
        AC_LINK_PATH_EXIST($ac_find_libraries,$CHECK_LIB)
        CHECK_LINK="$CHECK_LIB $ac_path_to_link"
        AC_MSG_RESULT(found at $ac_find_libraries)
    else
        AC_MSG_RESULT(no)
        AC_MSG_ERROR(please set LDFLAGS to contain the location of libXt)
    fi
        
    XPM_LINK=""
    AC_MSG_CHECKING(for Xpm library)
    AC_PATH_FIND_LIBRARIES($SEARCH_LIB,Xpm)
    if test "$ac_find_libraries" != "" ; then
        AC_LINK_PATH_EXIST($ac_find_libraries,$CHECK_LIB)
        CHECK_LINK="$CHECK_LIB $ac_path_to_link"
        XPM_LINK="-lXpm "
        AC_DEFINE(wxHAVE_LIB_XPM)
        AC_MSG_RESULT(found at $ac_find_libraries)
    else
        AC_MSG_RESULT(no)
        AC_MSG_WARN(library will be compiled without support for images in XPM format)
    fi

    GUI_TK_LINK="-lXm $(XPM_LINK)-lXmu -lXt -lX11 -lm"
    GUI_TK_LIBRARY="$CHECK_LIB $GUI_TK_LINK"
    TOOLKIT=MOTIF
    TOOLKIT_DEF=__WXMOTIF__
    WX_LINK=-lwx_motif2
    MAKEINCLUDE=../motif.inc
fi

if test "$TOOLKIT" = ""; then
  AC_MSG_ERROR(You must specify a toolkit: --with-gtk --with-qt --with-motif)
fi

AC_SUBST(GUI_TK_INCLUDE)
AC_SUBST(GUI_TK_LIBRARY)
AC_SUBST(GUI_TK_LINK)

AC_SUBST(WX_LINK)

AC_SUBST(TOOLKIT)
AC_SUBST(TOOLKIT_DEF)

AC_SUBST(MAKEINCLUDE)

dnl ----------------------------------------------------------------
dnl Register compile options for makefiles and setup.h
dnl ----------------------------------------------------------------

EXTRA_LINK=

WXDEBUG=
if test "$wxUSE_DEBUG_GDB" = 1 ; then
    wxUSE_DEBUG_INFO=1
    WXDEBUG="-ggdb"
fi

if test "$wxUSE_DEBUG_INFO" = 1 ; then
    WXDEBUG="-g"
    wxUSE_OPTIMISE=0
fi

AC_SUBST(WXDEBUG)

if test "$wxUSE_DEBUG_FLAG" = 1 ; then
  AC_DEFINE_UNQUOTED(WXDEBUG,$wxUSE_DEBUG_FLAG)
  WXDEBUG_DEFINE="-D__WXDEBUG__"
  AC_SUBST(WXDEBUG_DEFINE)
else
  WXDEBUG_DEFINE="-DGTK_NO_CHECK_CASTS"
  AC_SUBST(WXDEBUG_DEFINE)
fi

if test "$wxUSE_MEM_TRACING" = 1 ; then
  AC_DEFINE_UNQUOTED(wxUSE_MEMORY_TRACING,$wxUSE_MEM_TRACING)
  AC_DEFINE_UNQUOTED(wxUSE_GLOBAL_MEMORY_OPERATORS,$wxUSE_MEM_TRACING)
fi

if test "$wxUSE_DMALLOC" = 1 ; then
  EXTRA_LINK="$EXTRA_LINK -ldmalloc"
fi
AC_SUBST(EXTRA_LINK)

PROFILE=
if test "$wxUSE_PROFILE" = 1 ; then
  PROFILE="-pg"
fi
AC_SUBST(PROFILE)

CXXFLAGS=`echo "${CXXFLAGS}" | sed "s/\-O.//g" `
CFLAGS=`echo "${CFLAGS}" | sed "s/\-O.//g" `
if test "$wxUSE_OPTIMISE" = 0 ; then
  OPTIMISE=
else
  if test "$GCC" = yes ; then
    OPTIMISE="-O2"
    case "${canonical}" in
      i586-*-*|i686-*-* )
	OPTIMISE="${OPTIMISE} "
	;;
    esac
  else
    OPTIMISE="-O"
  fi
fi
AC_SUBST(OPTIMISE)

APPLE_IEEE=NONE
if test "$wxUSE_APPLE_IEEE" = 1 ; then
  APPLE_IEEE="APPLE_IEEE"
  AC_DEFINE_UNQUOTED(wxUSE_APPLE_IEEE,$wxUSE_APPLE_IEEE)
fi

wxUSE_IOSTREAMH=$DEFAULT_wxUSE_IOSTREAMH
AC_DEFINE_UNQUOTED(wxUSE_IOSTREAMH,$wxUSE_IOSTREAMH)

dnl ----------------------------------------------------------------
dnl Register library options for makefiles and setup.h
dnl ----------------------------------------------------------------

if test "$wxUSE_ZLIB" = 1 ; then
  AC_DEFINE_UNQUOTED(wxUSE_ZLIB,$wxUSE_ZLIB)
  Z_C_SRC="\$(Z_C_SRC)"
fi
AC_SUBST(Z_C_SRC)

if test "$wxUSE_LIBPNG" = 1 ; then
  AC_DEFINE_UNQUOTED(wxUSE_LIBPNG,$wxUSE_LIBPNG)
  PNG_C_SRC="\$(PNG_C_SRC)"
fi
AC_SUBST(PNG_C_SRC)

if test "$wxUSE_LIBJPEG" = 1 ; then
  AC_DEFINE_UNQUOTED(wxUSE_LIBJPEG,$wxUSE_LIBJPEG)
  JPEG_C_SRC="\$(JPEG_C_SRC)"
fi
AC_SUBST(JPEG_C_SRC)

JPEG_LINK=""
dnl if test "$wxUSE_LIBJPEG" = 1 ; then
dnl  AC_DEFINE_UNQUOTED(wxUSE_LIBJPEG,$wxUSE_LIBJPEG)
dnl  AC_CHECK_LIB(jpeg,main,,AC_MSG_ERROR("libjpeg is not available.")) 
dnl  JPEG_LINK="-ljpeg"
dnl fi
AC_SUBST(JPEG_LINK)

IODBC_C_SRC=""
if test "$wxUSE_ODBC" = 1 ; then
  AC_DEFINE_UNQUOTED(wxUSE_ODBC,$wxUSE_ODBC)
  IODBC_C_SRC="\$(IODBC_C_SRC)"
fi
AC_SUBST(IODBC_C_SRC)

dnl ----------------------------------------------------------------
dnl Register non-GUI class options for makefiles and setup.h
dnl ----------------------------------------------------------------

if test "$wxUSE_CONFIG" = 1 ; then
  AC_DEFINE_UNQUOTED(wxUSE_CONFIG,$wxUSE_CONFIG)
fi

if test "$wxUSE_TIMEDATE" = 1 ; then
  AC_DEFINE_UNQUOTED(wxUSE_TIMEDATE,$wxUSE_TIMEDATE)
fi

if test "$wxUSE_INTL" = 1 ; then
  AC_DEFINE_UNQUOTED(wxUSE_INTL,$wxUSE_INTL)
fi

if test "$wxUSE_STREAMS" = 1 ; then
  AC_DEFINE_UNQUOTED(wxUSE_STREAMS,$wxUSE_STREAMS)
fi

if test "$wxUSE_SOCKETS" = 1 ; then
  AC_DEFINE_UNQUOTED(wxUSE_SOCKETS,$wxUSE_SOCKETS)
fi

if test "$wxUSE_SERIAL" = 1 ; then
  AC_DEFINE_UNQUOTED(wxUSE_SERIAL,$wxUSE_SERIAL)
fi

dnl ------------------------------------------------------------------------
dnl wxSocket
dnl ------------------------------------------------------------------------

if test "$wxUSE_SOCKETS" = "1"; then
    dnl determine the type of third argument for getsockname
    AC_MSG_CHECKING(the type of the third argument of getsockname)
    AC_TRY_COMPILE(
        [#include <sys/socket.h>],
        [size_t len; getsockname(0, NULL, &len);],
        AC_DEFINE(SOCKLEN_T, size_t) AC_MSG_RESULT(size_t),
        AC_TRY_COMPILE(
            [#include <sys/socket.h>],
            [int len; getsockname(0, NULL, &len);],
            AC_DEFINE(SOCKLEN_T, int) AC_MSG_RESULT(int),
            AC_MSG_RESULT(unknown)
        )
    )
fi

dnl ------------------------------------------------------------------------
dnl wxLibrary class
dnl ------------------------------------------------------------------------

HAVE_DL_FUNCS=0
if test "$wxUSE_DYNLIB_CLASS" = "1"; then
    dnl the test is a bit complicated because we check for dlopen() both with
    dnl and without -ldl
    AC_CHECK_FUNCS(dlopen,
        [AC_DEFINE(HAVE_DLOPEN) HAVE_DL_FUNCS=1],
        [AC_CHECK_LIB(dl, dlopen,
            [AC_DEFINE(HAVE_DLOPEN) HAVE_DL_FUNCS=1])])
    AC_CHECK_FUNCS(shl_load, [AC_DEFINE(HAVE_SHL_LOAD) HAVE_DL_FUNCS=1])

    if test "$HAVE_DL_FUNCS" = 0; then
        AC_MSG_WARN("--with-dynlib will be disabled because no function was found to load a shared library on this platform")

        wxUSE_DYNLIB_CLASS=0
    fi
fi

if test "$wxUSE_DYNLIB_CLASS" = 1 ; then
  AC_DEFINE_UNQUOTED(wxUSE_DYNLIB_CLASS,$wxUSE_DYNLIB_CLASS)
fi

dnl ----------------------------------------------------------------
dnl Register Prolog and Resources options for makefiles and setup.h
dnl ----------------------------------------------------------------

if test "$wxUSE_RPC" = 1 ; then
  AC_DEFINE_UNQUOTED(wxUSE_RPC,$wxUSE_RPC)
fi

if test "$wxUSE_WX_RESOURCES" = 1 ; then
  AC_DEFINE_UNQUOTED(wxUSE_WX_RESOURCES,$wxUSE_WX_RESOURCES)
fi

if test "$wxUSE_PROLOGIO" = 1 ; then
  AC_DEFINE_UNQUOTED(wxUSE_PROLOGIO)
fi

dnl ----------------------------------------------------------------
dnl Register PostScript options for makefiles and setup.h
dnl ----------------------------------------------------------------

if test "$wxUSE_POSTSCRIPT" = 1 ; then
  AC_DEFINE_UNQUOTED(wxUSE_POSTSCRIPT)
fi

AC_DEFINE_UNQUOTED(wxUSE_AFM_FOR_POSTSCRIPT,$wxUSE_AFM_FOR_POSTSCRIPT)

AC_DEFINE_UNQUOTED(WX_NORMALIZED_PS_FONTS,$WX_NORMALIZED_PS_FONTS)

dnl ----------------------------------------------------------------
dnl Register architecture options for makefiles and setup.h
dnl ----------------------------------------------------------------

if test "$wxUSE_MDI_ARCHITECTURE" = 1 ; then
  AC_DEFINE_UNQUOTED(wxUSE_MDI_ARCHITECTURE,$wxUSE_MDI_ARCHITECTURE)
fi

if test "$wxUSE_DOC_VIEW_ARCHITECTURE" = 1 ; then
  AC_DEFINE_UNQUOTED(wxUSE_DOC_VIEW_ARCHITECTURE,$wxUSE_DOC_VIEW_ARCHITECTURE)
fi

if test "$wxUSE_PRINTING_ARCHITECTURE" = 1 ; then
  AC_DEFINE_UNQUOTED(wxUSE_PRINTING_ARCHITECTURE,$wxUSE_PRINTING_ARCHITECTURE)
fi

dnl ----------------------------------------------------------------
dnl Register wxString options for makefiles and setup.h
dnl ----------------------------------------------------------------

if test "$wxUSE_UNICODE" = 1 ; then
  AC_DEFINE_UNQUOTED(wxUSE_UNICODE)
fi

if test "$wxUSE_WCSRTOMBS" = 1 ; then
  AC_DEFINE_UNQUOTED(wxUSE_WCSRTOMBS)
fi

dnl ----------------------------------------------------------------
dnl Register misc options for makefiles and setup.h
dnl ----------------------------------------------------------------

if test "$wxUSE_IPC" = 1 ; then
  AC_DEFINE_UNQUOTED(wxUSE_IPC)
fi

if test "$wxUSE_RESOURCES" = 1 ; then
  AC_DEFINE_UNQUOTED(wxUSE_RESOURCES,$wxUSE_RESOURCES)
fi

if test "$wxUSE_CLIPBOARD" = 1 ; then
  AC_DEFINE_UNQUOTED(wxUSE_CLIPBOARD,$wxUSE_CLIPBOARD)
fi

if test "$wxUSE_TOOLTIPS" = 1 ; then
    if test "$wxUSE_MOTIF" = 1; then
        AC_MSG_WARN(tooltips are not supported yet under Motif, sorry)
        wxUSE_TOOLTIPS=0
    fi

    AC_DEFINE_UNQUOTED(wxUSE_TOOLTIPS,$wxUSE_TOOLTIPS)
fi

if test "$wxUSE_DRAG_AND_DROP" = 1 ; then
  AC_DEFINE_UNQUOTED(wxUSE_DRAG_AND_DROP,$wxUSE_DRAG_AND_DROP)
fi

dnl ----------------------------------------------------------------
dnl No effect yet
dnl ----------------------------------------------------------------

HELP=NONE
if test "$wxUSE_HELP" = 1 ; then
  HELP="HELP"
  AC_DEFINE_UNQUOTED(wxUSE_HELP,$wxUSE_HELP)
fi
AC_SUBST(HELP)

dnl ----------------------------------------------------------------
dnl thread support
dnl ----------------------------------------------------------------

dnl   defines UNIX_THREAD it contains the source file to use for threads. (GL)
dnl   defines THREADS_LINK it contains the thread library to link with. (GL)
dnl   defines wxUSE_THREADS if thread support is activated. (GL)

THREADS_LINK=""
UNIX_THREAD=""

if test "$wxUSE_THREADS" = "1"; then
    dnl find if POSIX threads are available

    dnl standard lib name is pthread
    dnl We no longer test for pthread-0.7 as it breaks compilation on some
    dnl glibc2 systems, especially for static linkage.
    AC_CHECK_LIB(pthread, pthread_create, [
            UNIX_THREAD="unix/threadpsx.cpp"
            THREADS_LINK="pthread"
        ], [
            dnl thread functions are in libc_r under FreeBSD
            AC_CHECK_LIB(c_r, pthread_create, [
                UNIX_THREAD="unix/threadpsx.cpp"
                THREADS_LINK="c_r"
            ], [
                dnl VZ: SGI threads are not supported currently
                AC_CHECK_HEADER(sys/prctl.h, [
                    UNIX_THREAD="gtk/threadsgi.cpp"
                ])
            ])
        ])
    if test "$THREADS_LINK" != ""; then
        AC_DEFINE(wxUSE_THREADS)
    else
        AC_MSG_WARN(No thread support on this system)
    fi
fi

if test -z "$UNIX_THREAD"; then
  wxUSE_THREADS=0
fi

dnl do other tests only if we are using threads
if test "$wxUSE_THREADS" = "1"; then

    dnl define autoconf macro to check for given function in both pthread and
    dnl posix4 libraries
    dnl usage: AC_FUNC_THREAD(FUNCTION_NAME)
    dnl VZ: TODO
    dnl AC_DEFUN(AC_FUNC_THREAD,
    dnl [
    dnl     AC_CHECK_LIB($THREADS_LINK, $1,
    dnl            AC_DEFINE(HAVE_`'translit($1, `A-Z', 'a-z'),
    dnl            [AC_CHECK_LIB("posix4", $1,
    dnl                [AC_DEFINE(HAVE_`'translit($1, `A-Z', 'a-z'))
    dnl                 POSIX4_LINK="-lposix4"
    dnl             ])
    dnl            ])
    dnl ])

  AC_CHECK_HEADERS(sched.h)

  AC_CHECK_LIB($THREADS_LINK, sched_yield,
               AC_DEFINE(HAVE_SCHED_YIELD),
               [AC_CHECK_LIB("posix4", sched_yield,
                   [AC_DEFINE(HAVE_SCHED_YIELD) POSIX4_LINK="-lposix4"],
                   AC_MSG_WARN(wxThread::Yield() will not work properly)
                )]
               )

  dnl VZ: we should be checking for all of the following functions instead:
  dnl   1. pthread_attr_getschedpolicy
  dnl   2. sched_get_priority_min and sched_get_priority_max
  dnl   3. pthread_attr_getschedparam and pthread_attr_setschedparam
  dnl but it seems that if the first one is there, the other ones are too (of
  dnl course the proper solution would be to implement AC_FUNC_THREAD above
  dnl and do test for them all - anyone?)
  AC_CHECK_LIB($THREADS_LINK, pthread_attr_getschedpolicy,
               AC_DEFINE(HAVE_THREAD_PRIORITY_FUNCTIONS),
               [AC_CHECK_LIB("posix4", pthread_attr_getschedpolicy,
                   [AC_DEFINE(HAVE_THREAD_PRIORITY_FUNCTIONS) POSIX4_LINK="-lposix4"],
                   AC_MSG_WARN(Setting thread priority will not work)
                )]
               )

  AC_CHECK_LIB($THREADS_LINK, pthread_cancel,
               AC_DEFINE(HAVE_PTHREAD_CANCEL),
               AC_MSG_WARN(wxThread::Kill() will not work properly))

  THREADS_LINK="-l$THREADS_LINK"
fi

AC_SUBST(UNIX_THREAD)
AC_SUBST(THREADS_LINK)
AC_SUBST(POSIX4_LINK)

dnl ------------------------------------------------------------------------
dnl compiler options for shared libs
dnl ------------------------------------------------------------------------

PICFLAGS=
CREATE_SHARED=
case "${canonical}" in
  *-hp-hpux* )
    if test "$GCC" != "yes" ; then
      CXXFLAGS="${CXXFLAGS} +a1 -z -Aa -D_HPUX_SOURCE"
      CFLAGS="${CFLAGS} -z -D_HPUX_SOURCE"
      PICFLAGS="+z"
    else
      PICFLAGS="-fPIC"
    fi
    LDFLAGS="-Wl,+s"
    CREATE_SHARED=sharedHpux
  ;;

  *-*-linux* )
    PICFLAGS=-fPIC
    CREATE_SHARED=sharedLinux
  ;;

  *-*-irix5* | *-*-irix6* )
    # PICFLAGS can remain empty, as pic is the default
    LDFLAGS="-Wl,+s"
    CREATE_SHARED=sharedIrix
    AC_DEFINE(SVR4)
  ;;

  *-*-solaris2* )
    if test "$GCC" != "yes" ; then
      PICFLAGS="-KPIC"
    else
      PICFLAGS="-fPIC"
    fi
    CREATE_SHARED=sharedSolaris2
    AC_DEFINE(SVR4)
  ;;

  *-*-sunos4* )
    if test "$GCC" != "yes" ; then
      PICFLAGS="-PIC"
    else
      PICFLAGS="-fPIC"
    fi
    LDFLAGS="-Wl,+s"
    CREATE_SHARED=sharedSunos4
    AC_DEFINE(BSD)
  ;;

  *-*-freebsd* | *-*-netbsd*)
    PICFLAGS=-fPIC
    CREATE_SHARED=sharedBsd
    AC_DEFINE(BSD)
  ;;

  *-*-osf* )
    PICFLAGS="-fPIC"
    CREATE_SHARED=sharedOSF
  ;;

  *-*-dgux5* )
    if test "$GCC" != "yes" ; then
      PICFLAGS="-K PIC"
    else
      PICFLAGS="-fPIC"
    fi
    CREATE_SHARED=sharedDgux
    AC_DEFINE(SVR4)
  ;;

  *-*-sysv5* )
    if test "$GCC" != "yes" ; then
      PICFLAGS="-K PIC"
    else
      PICFLAGS="-fPIC"
    fi
    CREATE_SHARED=sharedSysV
    AC_DEFINE(SVR4)
  ;;

  *-*-aix* )
    if test "$GCC" != "yes" ; then
      PICFLAGS="-bM\:SRE"
    else
      PICFLAGS="-fPIC -D__SYSV__"
    fi
    CREATE_SHARED=sharedAIX
    AC_DEFINE(SYSV)
  ;;

  *)
    CREATE_SHARED=
    PICFLAGS=
esac

if test "x$GCC" = xyes; then
  CFLAGS="${CFLAGS} -Wall -Wno-unused -Wno-uninitialized -D_REENTRANT -DLEX_SCANNER -DHAVE_LIBDL"
fi

if test "x$GXX" = xyes; then
  if test "$wxUSE_MOTIF" = 1; then
    CXXFLAGS="${CXXFLAGS} -Wall -Wno-unused -D_REENTRANT"
  else
    CXXFLAGS="${CXXFLAGS} -Wall -D_REENTRANT"
  fi
fi

if test "$wxUSE_SHARED" != 1; then
    CREATE_SHARED=
    PICFLAGS=
fi

AC_SUBST(OS)
AC_SUBST(PICFLAGS)
AC_SUBST(CREATE_SHARED)

dnl ------------------------------------------------------------------------
dnl finish and clean-up
dnl ------------------------------------------------------------------------

dnl add OS to list of configured
echo $OS >> system.list

TOOLKIT_DIR=`echo ${TOOLKIT} | tr "A-Z" "a-z"`
AC_CONFIG_HEADER(./include/wx/${TOOLKIT_DIR}/setup.h:./setup/setup.hin)

AC_OUTPUT(./setup/substit ./wx-config:./wx-config.in,./setup/general/createall)

AC_OVERRIDES_DONE