]> git.saurik.com Git - wxWidgets.git/blobdiff - configure.in
* fix in wcslen()
[wxWidgets.git] / configure.in
index 273f96eee1fd3d9c368b63aa900cafdde93230f2..c3b5a9d9e2f450c03a5c9062497bb66c71729952 100644 (file)
@@ -443,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).
@@ -460,6 +464,18 @@ 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
 
@@ -837,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
@@ -867,7 +883,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 ----------------------------------------------------------------
@@ -939,15 +955,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,
@@ -1100,6 +1116,8 @@ WX_LINK=
 
 MAKEINCLUDE=
 
+WXGTK12=
+
 if test "$wxUSE_GTK" = 1; then
   AM_PATH_GTK(1.0.0, [
        GUI_TK_INCLUDE="$GTK_CFLAGS"
@@ -1109,6 +1127,9 @@ if test "$wxUSE_GTK" = 1; then
   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
@@ -1213,6 +1234,10 @@ 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=
@@ -1296,12 +1321,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,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=""
@@ -1311,6 +1342,103 @@ 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))
+
+  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 ----------------------------------------------------------------
@@ -1332,7 +1460,12 @@ 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
@@ -1344,19 +1477,27 @@ 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>],
-        [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 ------------------------------------------------------------------------
@@ -1458,15 +1599,19 @@ fi
 
 if test "$wxUSE_TOOLTIPS" = 1 ; then
     if test "$wxUSE_MOTIF" = 1; then
-        AC_MSG_WARN(tooltips are not supported yet under Motif, sorry)
+        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 ----------------------------------------------------------------
@@ -1480,108 +1625,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 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 ------------------------------------------------------------------------