]> git.saurik.com Git - wxWidgets.git/blobdiff - configure.in
highlighting fixes
[wxWidgets.git] / configure.in
index 8fc21ef771de8e871598ce39ff0a6d54a5f5cb02..1bbbe16d094ec7b5a3bf3471faa633d637b3bbd2 100644 (file)
@@ -7,6 +7,7 @@ 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
@@ -61,7 +62,7 @@ main ()
      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)) ||
@@ -369,6 +370,11 @@ 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 ###############
@@ -437,6 +443,10 @@ 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(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).
@@ -447,40 +457,52 @@ if test "$ac_cv_header_linux_joystick_h" = "yes"; then
 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 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
 
-dnl check for several standard functions we use if they are available
-AC_CHECK_FUNCS(vsnprintf vfork)
-
-dnl check for usleep() and nanosleep() which is better in MT programs
-dnl AC_CHECK_FUNCS(nanosleep, AC_DEFINE(HAVE_NANOSLEEP),
-dnl                [
-dnl                 AC_CHECK_LIB(posix4, nanosleep,
-dnl                    AC_DEFINE(HAVE_NANOSLEEP),
-dnl                    AC_CHECK_FUNCS(usleep))
-dnl                ]
-dnl               )
-AC_CHECK_FUNCS(nanosleep, AC_DEFINE(HAVE_NANOSLEEP),
-[AC_CHECK_LIB(posix4, nanosleep, AC_DEFINE(HAVE_NANOSLEEP),
- [AC_CHECK_FUNCS(usleep, AC_DEFINE(HAVE_USLEEP),
-                         AC_MSG_WARN(Sleep() function will not work)
-  )]
- )]
-)
+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)
 
-AC_LANG_SAVE
-AC_LANG_CPLUSPLUS
-AC_CHECK_HEADERS(iostream)
-if test "x$HAVE_IOSTREAM" = "x" ; then
-  AC_DEFINE(wxUSE_IOSTREAMH)
-fi
-AC_LANG_RESTORE
-
-dnl   defines HAVE_IOSTREAM
 dnl ###################
 dnl # checks typedefs #
 dnl ###################
@@ -525,7 +547,6 @@ dnl   defines HAVE_TZNAME if external array tzname is found
 dnl ###################################
 dnl # checks compiler characteristics #
 dnl ###################################
-dnl AC_C_CROSS
 
 AC_C_CONST
 dnl   defines const to be empty if c-compiler does not support const fully
@@ -539,11 +560,70 @@ dnl   defines HAVE_LONGDOUBLE if compiler supports long double
 AC_C_BIGENDIAN
 dnl   defines WORDS_BIGENDIAN if system is big endian
 
-AC_CHECK_SIZEOF(int *)
-AC_CHECK_SIZEOF(int)
-AC_CHECK_SIZEOF(long)
-AC_CHECK_SIZEOF(long long)
-dnl   defines the size of certain types of variables in SIZEOF_???
+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 #
@@ -773,7 +853,7 @@ DEFAULT_wxUSE_IOSTREAMH=1
 
 DEFAULT_wxUSE_ZLIB=1
 DEFAULT_wxUSE_LIBPNG=1
-DEFAULT_wxUSE_LIBJPEG=0
+DEFAULT_wxUSE_LIBJPEG=1
 DEFAULT_wxUSE_ODBC=1
 
 DEFAULT_wxUSE_TIMEDATE=1
@@ -793,6 +873,7 @@ DEFAULT_wxUSE_RESOURCES=1
 DEFAULT_wxUSE_CLIPBOARD=1
 DEFAULT_wxUSE_TOOLTIPS=1
 DEFAULT_wxUSE_DRAG_AND_DROP=1
+DEFAULT_wxUSE_SPLINE=1
 
 DEFAULT_wxUSE_MDI_ARCHITECTURE=1
 DEFAULT_wxUSE_DOC_VIEW_ARCHITECTURE=1
@@ -803,7 +884,7 @@ DEFAULT_wxUSE_WX_RESOURCES=1
 DEFAULT_wxUSE_RPC=0
 DEFAULT_wxUSE_HELP=1
 
-DEFAULT_wxUSE_UNICODE=1
+DEFAULT_wxUSE_UNICODE=0
 DEFAULT_wxUSE_WCSRTOMBS=0
 
 dnl ----------------------------------------------------------------
@@ -875,15 +956,15 @@ dnl user options for libraries
 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,
@@ -915,7 +996,7 @@ AC_OVERRIDES(serial,serial,
 wxUSE_SERIAL)
 
 AC_OVERRIDES(sockets,sockets,
-**--with-sockets         use wxSocket etc classes,
+**--with-sockets          use wxSocket etc classes,
 wxUSE_SOCKETS)
 
 dnl ----------------------------------------------------------------
@@ -986,6 +1067,10 @@ AC_OVERRIDES(dnd,dnd,
 **--with-dnd              use Drag'n'Drop classes,
 wxUSE_DRAG_AND_DROP)
 
+AC_OVERRIDES(spline,spline,
+**--with-spline              use Spline drawing code,
+wxUSE_SPLINE)
+
 dnl ----------------------------------------------------------------
 dnl user options for architectures
 dnl ----------------------------------------------------------------
@@ -1036,15 +1121,20 @@ WX_LINK=
 
 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
@@ -1074,49 +1164,60 @@ if test "$wxUSE_QT" = 1; then
 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)
-     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)
-       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)
-         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"
-           AC_MSG_RESULT(found at $ac_find_libraries)
-         else
-           AC_MSG_ERROR(no)
-         fi
-       else
-         AC_MSG_ERROR(no)
-       fi
-     else
-       AC_MSG_ERROR(no)
-     fi
-  else
-     AC_MSG_ERROR(no)
-  fi
+    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 -lXpm -lXmu -lXt -lX11 -lm"
-  GUI_TK_LIBRARY="$CHECK_LIB $GUI_TK_LINK"
-  TOOLKIT=MOTIF
-  TOOLKIT_DEF=__WXMOTIF__
-  WX_LINK=-lwx_motif2
-  MAKEINCLUDE=../motif.inc
+    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
@@ -1138,21 +1239,23 @@ dnl ----------------------------------------------------------------
 dnl Register compile options for makefiles and setup.h
 dnl ----------------------------------------------------------------
 
+if test "$WXGTK12" = 1 ; then
+  AC_DEFINE_UNQUOTED(__WXGTK12__,$WXGTK12)
+fi
+
 EXTRA_LINK=
 
 WXDEBUG=
 if test "$wxUSE_DEBUG_GDB" = 1 ; then
-  wxUSE_DEBUG_INFO=1
-  WXDEBUG="-ggdb"
-  wxUSE_OPTIMISE=0
-else
-  if test "$wxUSE_DEBUG_INFO" = 1 ; then
+    wxUSE_DEBUG_INFO=1
+    WXDEBUG="-ggdb"
+fi
+
+if test "$wxUSE_DEBUG_INFO" = 1 ; then
     WXDEBUG="-g"
     wxUSE_OPTIMISE=0
-  else
-    EXTRA_LINK="-s $EXTRA_LINK"
-  fi
 fi
+
 AC_SUBST(WXDEBUG)
 
 if test "$wxUSE_DEBUG_FLAG" = 1 ; then
@@ -1223,12 +1326,18 @@ if test "$wxUSE_LIBPNG" = 1 ; then
 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)
-  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=""
@@ -1238,6 +1347,115 @@ if test "$wxUSE_ODBC" = 1 ; then
 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))
+
+  AC_MSG_CHECKING([for pthread_cleanup_push/pop])
+  AC_TRY_COMPILE([#include <pthread.h>],
+                 [
+                    pthread_cleanup_push(NULL, NULL);
+                    pthread_cleanup_pop(0);
+                 ],
+                   [AC_MSG_RESULT(yes)
+                    AC_DEFINE(HAVE_THREAD_CLEANUP_FUNCTIONS)
+                 ],
+                   [AC_MSG_RESULT(no)]
+                 )
+
+  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 ----------------------------------------------------------------
@@ -1259,13 +1477,46 @@ if test "$wxUSE_STREAMS" = 1 ; then
 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
   AC_DEFINE_UNQUOTED(wxUSE_SERIAL,$wxUSE_SERIAL)
 fi
 
+dnl ------------------------------------------------------------------------
+dnl wxSocket
+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>],
+        [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 ------------------------------------------------------------------------
 dnl wxLibrary class
 dnl ------------------------------------------------------------------------
@@ -1364,11 +1615,24 @@ if test "$wxUSE_CLIPBOARD" = 1 ; then
 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
+
+if test "$wxUSE_SPLINE" = 1 ; then
+  AC_DEFINE_UNQUOTED(wxUSE_SPLINE,$wxUSE_SPLINE)
 fi
 
 dnl ----------------------------------------------------------------
@@ -1382,87 +1646,6 @@ if test "$wxUSE_HELP" = 1 ; then
 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 For glibc 2 users who have the old libc 5 too
-
-     AC_CHECK_LIB(pthread-0.7, pthread_create, [
-       UNIX_THREAD="unix/threadpsx.cpp"
-       THREADS_LINK="pthread-0.7"
-     ],[
-       AC_CHECK_HEADER(sys/prctl.h, [
-          UNIX_THREAD="gtk/threadsgi.cpp"
-     ])
-
-     dnl pthread_create is always available in pthread but it seems not to be
-     dnl the case for pthread_setcanceltype.
-
-     AC_CHECK_LIB(pthread, pthread_setcanceltype, [
-       UNIX_THREAD="unix/threadpsx.cpp"
-       THREADS_LINK="pthread"
-     ])
-    ])
-
-    if test "x$THREADS_LINK" = "x"; then
-        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"
-                    ])
-    fi
-
-    if test "$THREADS_LINK" != ""; then
-      AC_DEFINE(wxUSE_THREADS)
-    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
-  THREADS_LINK2=""
-
-  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) THREADS_LINK2="-lposix4"],
-                   AC_MSG_WARN(wxThread::Yield() will not work properly)
-                )]
-               )
-
-  AC_CHECK_LIB($THREADS_LINK, sched_get_priority_min,
-               AC_DEFINE(HAVE_THREAD_PRIORITY_FUNCTIONS),
-               [AC_CHECK_LIB("posix4", sched_get_priority_min,
-                   [AC_DEFINE(HAVE_THREAD_PRIORITY_FUNCTIONS) THREADS_LINK2="-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 $THREADS_LINK2"
-fi
-
-AC_SUBST(UNIX_THREAD)
-AC_SUBST(THREADS_LINK)
-
 dnl ------------------------------------------------------------------------
 dnl compiler options for shared libs
 dnl ------------------------------------------------------------------------
@@ -1550,7 +1733,7 @@ case "${canonical}" in
     if test "$GCC" != "yes" ; then
       PICFLAGS="-bM\:SRE"
     else
-      PICFLAGS="-fPIC"
+      PICFLAGS="-fPIC -D__SYSV__"
     fi
     CREATE_SHARED=sharedAIX
     AC_DEFINE(SYSV)
@@ -1589,7 +1772,9 @@ 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