X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/d345e841da6719c3de9de784220aafafb5eb1e93..cd8b9f13c7ad6990f59b655138ac1d5128d3201d:/configure.in diff --git a/configure.in b/configure.in index 273f96eee1..c3b5a9d9e2 100644 --- a/configure.in +++ b/configure.in @@ -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 ], - [size_t len; getsockname(0, NULL, &len);], - AC_DEFINE(SOCKLEN_T, size_t) AC_MSG_RESULT(size_t), - AC_TRY_COMPILE( - [#include ], - [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 ], + [size_t len; getsockname(0, NULL, &len);], + AC_DEFINE(SOCKLEN_T, size_t) AC_MSG_RESULT(size_t), + AC_TRY_COMPILE( + [#include ], + [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 ------------------------------------------------------------------------