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
exit(1);
}
- if (gtk_minor_version > 0) return FALSE;
+ if (gtk_minor_version == 1) return FALSE;
return !((gtk_major_version > major) ||
((gtk_major_version == major) && (gtk_minor_version > minor)) ||
dnl defines HAVE_SYS_TIME_H
AC_CHECK_HEADERS(unistd.h)
dnl defines HAVE_UNISTD_H
+AC_CHECK_HEADERS(wchar.h)
+dnl defines HAVE_WCHAR_H
+AC_CHECK_HEADERS(wcstr.h)
+dnl defines HAVE_WCSTR_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).
dnl # check for functions #
dnl #######################
+dnl check for wcslen
+AC_CHECK_LIB(c, wcslen, [
+ AC_DEFINE(HAVE_WCSLEN)
+ WCHAR_LINK=""
+ ], [
+ AC_CHECK_LIB(w, wcslen, [
+ AC_DEFINE(HAVE_WCSLEN)
+ WCHAR_LINK="-lw"
+ ])
+ ])
+AC_SUBST(WCHAR_LINK)
+
dnl check for vprintf/vsprintf() which are GNU extensions
AC_FUNC_VPRINTF
DEFAULT_wxUSE_ZLIB=1
DEFAULT_wxUSE_LIBPNG=1
-DEFAULT_wxUSE_LIBJPEG=0
+DEFAULT_wxUSE_LIBJPEG=1
DEFAULT_wxUSE_ODBC=1
DEFAULT_wxUSE_TIMEDATE=1
DEFAULT_wxUSE_RPC=0
DEFAULT_wxUSE_HELP=1
-DEFAULT_wxUSE_UNICODE=1
+DEFAULT_wxUSE_UNICODE=0
DEFAULT_wxUSE_WCSRTOMBS=0
dnl ----------------------------------------------------------------
dnl ----------------------------------------------------------------
AC_OVERRIDES(zlib,zlib,
-**--with-zlib use zlib for LZW comression,
+**--without-zlib don't use zlib for LZW comression,
wxUSE_ZLIB)
AC_OVERRIDES(libpng,libpng,
-**--with-libpng use libpng (PNG image format),
+**--without-libpng don't use libpng (PNG image format),
wxUSE_LIBPNG)
AC_OVERRIDES(libjpeg,libjpeg,
-**--with-libjpeg use libjpeg (JPEG image format),
+**--without-libjpeg don't use libjpeg (JPEG image format),
wxUSE_LIBJPEG)
AC_OVERRIDES(odbc,odbc,
MAKEINCLUDE=
+WXGTK12=
+
if test "$wxUSE_GTK" = 1; then
- AM_PATH_GTK(1.0.4, [
+ 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.0.4 up-to 1.0.6?))
+ ], 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
+ AM_PATH_GTK(1.2.0, [
+ WXGTK12=1
+ ])
fi
if test "$wxUSE_QT" = 1; then
dnl Register compile options for makefiles and setup.h
dnl ----------------------------------------------------------------
+if test "$WXGTK12" = 1 ; then
+ AC_DEFINE_UNQUOTED(__WXGTK12__,$WXGTK12)
+fi
+
EXTRA_LINK=
WXDEBUG=
fi
AC_SUBST(PNG_C_SRC)
-JPEG_LINK=""
if test "$wxUSE_LIBJPEG" = 1 ; then
AC_DEFINE_UNQUOTED(wxUSE_LIBJPEG,$wxUSE_LIBJPEG)
- AC_CHECK_LIB(jpeg,main,,AC_MSG_ERROR("libjpeg is not available."))
- JPEG_LINK="-ljpeg"
+ 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=""
fi
AC_SUBST(IODBC_C_SRC)
+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 Register non-GUI class options for makefiles and setup.h
dnl ----------------------------------------------------------------
fi
if test "$wxUSE_SOCKETS" = 1 ; then
- AC_DEFINE_UNQUOTED(wxUSE_SOCKETS,$wxUSE_SOCKETS)
+ if test "$wxUSE_THREADS" = 1 ; then
+ AC_DEFINE_UNQUOTED(wxUSE_SOCKETS,$wxUSE_SOCKETS)
+ else
+ AC_MSG_WARN(sockets or only supported with threads)
+ wxUSE_SOCKETS=0
+ fi
fi
if test "$wxUSE_SERIAL" = 1 ; then
dnl ------------------------------------------------------------------------
if test "$wxUSE_SOCKETS" = "1"; then
+ AC_LANG_SAVE
+ AC_LANG_CPLUSPLUS
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)
+ [socklen_t len; getsockname(0, NULL, &len);],
+ AC_DEFINE(SOCKLEN_T, socklen_t) AC_MSG_RESULT(socklen_t),
+ 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)
+ )
)
)
+ AC_LANG_RESTORE
fi
dnl ------------------------------------------------------------------------
fi
if test "$wxUSE_TOOLTIPS" = 1 ; then
- AC_DEFINE_UNQUOTED(wxUSE_TOOLTIPS,$wxUSE_TOOLTIPS)
+ if test "$wxUSE_MOTIF" = 1; then
+ AC_MSG_WARN(tooltips are not supported yet under Motif)
+ 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)
+ if test "$WXGTK12" = 1 ; then
+ AC_DEFINE_UNQUOTED(wxUSE_DRAG_AND_DROP,$wxUSE_DRAG_AND_DROP)
+ else
+ AC_MSG_WARN(drag and drop is only supported under GTK 1.2)
+ wxUSE_DRAG_AND_DROP=0
+ fi
fi
dnl ----------------------------------------------------------------
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 For glibc 2 users who have the old libc 5 too check pthread-0.7 first
- AC_CHECK_LIB(pthread-0.7, pthread_create, [
- UNIX_THREAD="unix/threadpsx.cpp"
- THREADS_LINK="pthread-0.7"
- ],[
- dnl standard lib name is pthread
- 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 ------------------------------------------------------------------------
dnl add OS to list of configured
echo $OS >> system.list
-AC_CONFIG_HEADER(./include/wx/gtk/setup.h:./setup/setup.hin)
+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