]> git.saurik.com Git - wxWidgets.git/blobdiff - configure.in
nanosleep() detection works for Solaris
[wxWidgets.git] / configure.in
index d2bd41d19c273d1585628d519ad7b6b92a7e4248..9888dd7f0978582fc8b72bdb31c2d8886c8659a7 100644 (file)
@@ -4,7 +4,7 @@ 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
+dnl $Id$
 dnl ////////////////////////////////////////////////////////////////////////
 
 dnl AM_PATH_GTK([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
@@ -61,6 +61,8 @@ main ()
      exit(1);
    }
 
+   if (gtk_minor_version > 0) 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)));
@@ -233,13 +235,26 @@ 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        \
@@ -262,6 +277,9 @@ SEARCH_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       \
@@ -269,16 +287,14 @@ SEARCH_INCLUDE="\
     /usr/lpp/Xamples/include  \
                               \
     /usr/local/include/gtk    \
-    /usr/X11R6/include/Xm     \
-    /usr/X11/include/Xm       \
+    /usr/local/include/qt     \
     /usr/include/qt           \
                               \
     /usr/openwin/include      \
     /usr/openwin/share/include \
     "
 
-SEARCH_LIB="`echo "$SEARCH_INCLUDE" | sed s/include/lib/g` \
-    "
+SEARCH_LIB="`echo "$SEARCH_INCLUDE" | sed s/include/lib/g` "
 
 dnl ------------------------------------------------------------------------
 dnl standard checks
@@ -431,6 +447,26 @@ if test "$ac_cv_header_linux_joystick_h" = "yes"; then
 fi
 AC_SUBST(GTK_JOYSTICK)
 
+dnl check for vprintf/vsprintf() which are GNU extensions
+AC_FUNC_VPRINTF
+dnl check for vsnprintf() which is another GNU extension
+AC_CHECK_FUNCS(vsnprintf)
+
+dnl check for usleep() and nanosleep() which is better in MT programs
+AC_CHECK_FUNCS(nanosleep,
+        AC_DEFINE(HAVE_NANOSLEEP),
+        [AC_CHECK_LIB(posix4, nanosleep, AC_DEFINE(HAVE_NANOSLEEP))])
+AC_CHECK_FUNCS(usleep)
+
+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 ###################
@@ -492,6 +528,7 @@ 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 ############################
@@ -532,6 +569,60 @@ 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 ------------------------------------------------------------------------
@@ -553,7 +644,6 @@ dnl ------------------------------------------------------------------------
 
 USE_UNIX=1
 
-
 USE_LINUX=
 USE_SGI=
 USE_HPUX=
@@ -571,6 +661,7 @@ USE_VMS=
 USE_ULTRIX=
 USE_DATA_GENERAL=
 
+AC_DEFINE(__UNIX__)
 case "${canonical}" in
   *-hp-hpux* )
     USE_HPUX=1
@@ -579,6 +670,12 @@ case "${canonical}" in
   *-*-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
@@ -648,7 +745,7 @@ DEFAULT_wxUSE_GTK=1
 DEFAULT_wxUSE_QT=0
 DEFAULT_wxUSE_MOTIF=0
 
-DEFAULT_wxUSE_THREADS=1
+DEFAULT_wxUSE_THREADS=0
 
 DEFAULT_wxUSE_SHARED=1
 DEFAULT_wxUSE_OPTIMISE=1
@@ -661,28 +758,17 @@ DEFAULT_wxUSE_APPLE_IEEE=1
 DEFAULT_wxUSE_IOSTREAMH=1
 
 DEFAULT_wxUSE_ZLIB=1
-DEFAULT_wxUSE_GDK_IMLIB=1
 DEFAULT_wxUSE_LIBPNG=1
+DEFAULT_wxUSE_LIBJPEG=0
 DEFAULT_wxUSE_ODBC=1
 
-DEFAULT_wxUSE_COMBOBOX=1
-DEFAULT_wxUSE_GAUGE=1
-DEFAULT_wxUSE_SCROLLBAR=1
-DEFAULT_wxUSE_LISTCTRL=1
-DEFAULT_wxUSE_TREECTRL=1
-DEFAULT_wxUSE_GRID=1
-DEFAULT_wxUSE_TAB_DIALOG=1
-DEFAULT_wxUSE_NOTEBOOK=1
-
 DEFAULT_wxUSE_TIMEDATE=1
-DEFAULT_wxUSE_FRACTION=1
-DEFAULT_wxUSE_LOG=1
 DEFAULT_wxUSE_INTL=1
 DEFAULT_wxUSE_CONFIG=1
 DEFAULT_wxUSE_STREAMS=1
+DEFAULT_wxUSE_SOCKETS=1
 DEFAULT_wxUSE_SERIAL=1
-DEFAULT_wxUSE_FILE=1
-DEFAULT_wxUSE_TEXTFILE=1
+DEFAULT_wxUSE_DYNLIB_CLASS=1
 
 DEFAULT_wxUSE_AFM_FOR_POSTSCRIPT=1
 DEFAULT_WX_NORMALIZED_PS_FONTS=1
@@ -690,9 +776,9 @@ DEFAULT_wxUSE_POSTSCRIPT=1
 
 DEFAULT_wxUSE_IPC=1
 DEFAULT_wxUSE_RESOURCES=1
-DEFAULT_wxUSE_CONSTRAINTS=1
-DEFAULT_wxUSE_CLIPBOARD=0
-DEFAULT_wxUSE_DND=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
@@ -701,12 +787,7 @@ DEFAULT_wxUSE_PRINTING_ARCHITECTURE=1
 DEFAULT_wxUSE_PROLOGIO=1
 DEFAULT_wxUSE_WX_RESOURCES=1
 DEFAULT_wxUSE_RPC=0
-
-DEFAULT_wxUSE_OPENGL=0
-DEFAULT_wxUSE_METAFILE=0
-DEFAULT_wxUSE_WXGRAPH=0
-DEFAULT_wxUSE_WXTREE=0
-DEFAULT_wxUSE_HELP=0
+DEFAULT_wxUSE_HELP=1
 
 DEFAULT_wxUSE_UNICODE=1
 DEFAULT_wxUSE_WCSRTOMBS=0
@@ -747,6 +828,10 @@ 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)
@@ -763,6 +848,14 @@ 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 ----------------------------------------------------------------
@@ -771,58 +864,18 @@ AC_OVERRIDES(zlib,zlib,
 **--with-zlib             use zlib for LZW comression,
 wxUSE_ZLIB)
 
-AC_OVERRIDES(gdk_imlib,gdk_imlib,
-**--with-gdk_imlib        use Raster's gdk_imlib (Image library),
-wxUSE_GDK_IMLIB)
-
 AC_OVERRIDES(libpng,libpng,
 **--with-libpng           use libpng (PNG image format),
 wxUSE_LIBPNG)
 
+AC_OVERRIDES(libjpeg,libjpeg,
+**--with-libjpeg          use libjpeg (JPEG image format),
+wxUSE_LIBJPEG)
+
 AC_OVERRIDES(odbc,odbc,
 **--with-odbc             use iODBC and wxODBC classes,
 wxUSE_ODBC)
 
-AC_OVERRIDES(opengl,opengl,
-**--with-opengl           use OpenGL (or Mesa),
-wxUSE_OPENGL)
-
-dnl ----------------------------------------------------------------
-dnl user options for GUI control classes
-dnl ----------------------------------------------------------------
-
-AC_OVERRIDES(gauge,gauge,
-**--with-gauge            use wxGauge class,
-wxUSE_GAUGE)
-
-AC_OVERRIDES(combobox,combobox,
-**--with-combobox         use wxComboBox class,
-wxUSE_COMBOBOX)
-
-AC_OVERRIDES(scrollbar,scrollbar,
-**--with-scrollbar        use wxScrollbar class,
-wxUSE_SCROLLBAR)
-
-AC_OVERRIDES(listctrl,listctrl,
-**--with-listctrl         use wxListCtrl class,
-wxUSE_LISTCTRL)
-
-AC_OVERRIDES(treectrl,treectrl,
-**--with-treectrl         use wxTreeCtrl class,
-wxUSE_TREECTRL)
-
-AC_OVERRIDES(grid,grid,
-**--with-grid             use wxGrid class,
-wxUSE_GRID)
-
-AC_OVERRIDES(tab_dialog,tab_dialog,
-**--with-tab_dialog       use wxTabDia class,
-wxUSE_TAB_DIALOG)
-
-AC_OVERRIDES(notebook,notebook,
-**--with-notebook         use wxNotebook class,
-wxUSE_NOTEBOOK)
-
 dnl ----------------------------------------------------------------
 dnl user options for non-GUI classes
 dnl ----------------------------------------------------------------
@@ -831,14 +884,6 @@ AC_OVERRIDES(timedate, timedate,
 **--with-timedate         use wxTime and wxDate classes,
 wxUSE_TIMEDATE)
 
-AC_OVERRIDES(fraction,fraction,
-**--with-fraction         use wxFraction class,
-wxUSE_FRACTION)
-
-AC_OVERRIDES(log,log,
-**--with-log              use logging system,
-wxUSE_LOG)
-
 AC_OVERRIDES(intl,intl,
 **--with-intl             use internationalization system,
 wxUSE_INTL)
@@ -855,13 +900,9 @@ AC_OVERRIDES(serial,serial,
 **--with-serial           use class serialization,
 wxUSE_SERIAL)
 
-AC_OVERRIDES(file,file,
-**--with-file             use wxFile class,
-wxUSE_FILE)
-
-AC_OVERRIDES(textfile,textfile,
-**--with-textfile         use wxTextFile class,
-wxUSE_TEXTFILE)
+AC_OVERRIDES(sockets,sockets,
+**--with-sockets         use wxSocket etc classes,
+wxUSE_SOCKETS)
 
 dnl ----------------------------------------------------------------
 dnl user options for PostScript
@@ -923,13 +964,13 @@ 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_DND)
-
-AC_OVERRIDES(constraints,constrains,
-**--with-constraints      use layout-constraints system,
-wxUSE_CONSTRAINTS)
+wxUSE_DRAG_AND_DROP)
 
 dnl ----------------------------------------------------------------
 dnl user options for architectures
@@ -947,28 +988,10 @@ AC_OVERRIDES(printarch,printarch,
 **--with-printarch        use printing architecture,
 wxUSE_PRINTING_ARCHITECTURE)
 
-dnl ----------------------------------------------------------------
-dnl user options with no effect yet
-dnl ----------------------------------------------------------------
-dnl
-dnl AC_OVERRIDES(metafile, metafile,
-dnl **--with-metafile         use metafile (no effect),
-dnl wxwxUSE_METAFILE)
-dnl
-dnl AC_OVERRIDES(help,help,
-dnl **--with-help             use help (no effect),
-dnl wxwxUSE_HELP)
-dnl
-dnl AC_OVERRIDES(wxgraph,wxgraph,
-dnl **--with-wxgraph          use wxgraph (no effect),
-dnl wxwxUSE_WXGRAPH)
-dnl
-dnl AC_OVERRIDES(wxtree,wxtree,
-dnl **--with-wxtree           use wxtree (no effect),
-dnl wxwxUSE_WXTREE)
-dnl
-dnl AC_OVERRIDES(package,message,helpmessage,variable)
-dnl
+AC_OVERRIDES(help,help,
+**--with-help             use help (using external browser at present),
+wxUSE_HELP)
+
 dnl ----------------------------------------------------------------
 dnl Unix, obviously
 dnl ----------------------------------------------------------------
@@ -977,6 +1000,13 @@ 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 ----------------------------------------------------------------
@@ -988,15 +1018,18 @@ GUI_TK_INCLUDE=
 GUI_TK_LIBRARY=
 GUI_TK_LINK=
 
+WX_LINK=
+
 MAKEINCLUDE=
 
 if test "$wxUSE_GTK" = 1; then
-  AM_PATH_GTK(0.99.7, [
+  AM_PATH_GTK(1.0.4, [
        GUI_TK_INCLUDE="$GTK_CFLAGS"
        GUI_TK_LIBRARY="$GTK_LIBS"
-  ], AC_MSG_ERROR(Are gtk-config and the GTK in path and up-to-date?))
+  ], AC_MSG_ERROR(Is gtk-config in path and GTK+ is version 1.0.4 up-to 1.0.6?))
   TOOLKIT=GTK
   TOOLKIT_DEF=__WXGTK__
+  WX_LINK=-lwx_gtk2
   MAKEINCLUDE=../gtk.inc
 fi
 
@@ -1019,34 +1052,56 @@ if test "$wxUSE_QT" = 1; then
   else
      AC_MSG_ERROR(no)
   fi
-  GUI_TK_LINK="-lXext -lX11 -lqt -lm"
+  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.h)
+   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 or Lesstif library)
+     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_INCLUDE $ac_path_to_link"
+       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
-  GUI_TK_LINK="-lXext -lXt -lX11 -lXm -lm"
+  
+  GUI_TK_LINK="-lXm -lXpm -lXmu -lXt -lX11 -lm"
+  GUI_TK_LIBRARY="$CHECK_LIB $GUI_TK_LINK"
   TOOLKIT=MOTIF
-  TOOLKIT_DEF=__WXMOTIF__
+  TOOLKIT_DEF="__WXMOTIF__ -D__LINUX__ -D__UNIX__"
+  WX_LINK=-lwx_motif2
   MAKEINCLUDE=../motif.inc
 fi
 
@@ -1058,6 +1113,8 @@ 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)
 
@@ -1067,9 +1124,20 @@ dnl ----------------------------------------------------------------
 dnl Register compile options for makefiles and setup.h
 dnl ----------------------------------------------------------------
 
+EXTRA_LINK=
+
 WXDEBUG=
-if test "$wxUSE_DEBUG_INFO" = 1 ; then
-  WXDEBUG="-g -O0"
+if test "$wxUSE_DEBUG_GDB" = 1 ; then
+  wxUSE_DEBUG_INFO=1
+  WXDEBUG="-ggdb"
+  wxUSE_OPTIMISE=0
+else
+  if test "$wxUSE_DEBUG_INFO" = 1 ; then
+    WXDEBUG="-g"
+    wxUSE_OPTIMISE=0
+  else
+    EXTRA_LINK="-s $EXTRA_LINK"
+  fi
 fi
 AC_SUBST(WXDEBUG)
 
@@ -1077,6 +1145,9 @@ 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
@@ -1084,7 +1155,6 @@ if test "$wxUSE_MEM_TRACING" = 1 ; then
   AC_DEFINE_UNQUOTED(wxUSE_GLOBAL_MEMORY_OPERATORS,$wxUSE_MEM_TRACING)
 fi
 
-EXTRA_LINK=
 if test "$wxUSE_DMALLOC" = 1 ; then
   EXTRA_LINK="$EXTRA_LINK -ldmalloc"
 fi
@@ -1129,55 +1199,30 @@ dnl ----------------------------------------------------------------
 
 if test "$wxUSE_ZLIB" = 1 ; then
   AC_DEFINE_UNQUOTED(wxUSE_ZLIB,$wxUSE_ZLIB)
+  Z_C_SRC="\$(Z_C_SRC)"
 fi
-
-if test "$wxUSE_GDK_IMLIB" = 1 ; then
-  AC_DEFINE_UNQUOTED(wxUSE_GDK_IMLIB,$wxUSE_GDK_IMLIB)
-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_ODBC" = 1 ; then
-  AC_DEFINE_UNQUOTED(wxUSE_ODBC,$wxUSE_ODBC) 
-fi
-
-dnl ----------------------------------------------------------------
-dnl Register GUI-control options for makefiles and setup.h
-dnl ----------------------------------------------------------------
-
-if test "$wxUSE_GAUGE" = 1 ; then
-  AC_DEFINE_UNQUOTED(wxUSE_GAUGE,$wxUSE_GAUGE)
-fi
-
-if test "$wxUSE_COMBOBOX" = 1 ; then
-  AC_DEFINE_UNQUOTED(wxUSE_COMBOBOX,$wxUSE_COMBOBOX)
-fi
-
-if test "$wxUSE_SCROLLBAR" = 1 ; then
-  AC_DEFINE_UNQUOTED(wxUSE_SCROLLBAR,$wxUSE_SCROLLBAR)
+JPEG_LINK=""
+if test "$wxUSE_LIBJPEG" = 1 ; then
+  AC_DEFINE_UNQUOTED(wxUSE_LIBJPEG,$wxUSE_LIBJPEG)
+  AC_CHECK_LIB(jpeg) 
+  JPEG_LINK="-ljpeg"
 fi
+AC_SUBST(JPEG_LINK)
 
-if test "$wxUSE_LISTCTRL" = 1 ; then
-  AC_DEFINE_UNQUOTED(wxUSE_LISTCTRL,$wxUSE_LISTCTRL)
-fi
-
-if test "$wxUSE_TREECTRL" = 1 ; then
-  AC_DEFINE_UNQUOTED(wxUSE_TREECTRL,$wxUSE_TREECTRL)
-fi
-
-if test "$wxUSE_GRID" = 1 ; then
-  AC_DEFINE_UNQUOTED(wxUSE_GRID,$wxUSE_GRID)
-fi
-
-if test "$wxUSE_TAB_DIALOG" = 1 ; then
-  AC_DEFINE_UNQUOTED(wxUSE_TAB_DIALOG,$wxUSE_TAB_DIALOG)
-fi
-
-if test "$wxUSE_NOTEBOOK" = 1 ; then
-  AC_DEFINE_UNQUOTED(wxUSE_NOTEBOOK,$wxUSE_NOTEBOOK)
+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
@@ -1191,14 +1236,6 @@ if test "$wxUSE_TIMEDATE" = 1 ; then
   AC_DEFINE_UNQUOTED(wxUSE_TIMEDATE,$wxUSE_TIMEDATE)
 fi
 
-if test "$wxUSE_FRACTION" = 1 ; then
-  AC_DEFINE_UNQUOTED(wxUSE_FRACTION,$wxUSE_FRACTION)
-fi
-
-if test "$wxUSE_LOG" = 1 ; then
-  AC_DEFINE_UNQUOTED(wxUSE_LOG,$wxUSE_LOG)
-fi
-
 if test "$wxUSE_INTL" = 1 ; then
   AC_DEFINE_UNQUOTED(wxUSE_INTL,$wxUSE_INTL)
 fi
@@ -1207,16 +1244,37 @@ 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
 
-if test "$wxUSE_FILE" = 1 ; then
-  AC_DEFINE_UNQUOTED(wxUSE_FILE,$wxUSE_FILE)
+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_TEXTFILE" = 1 ; then
-  AC_DEFINE_UNQUOTED(wxUSE_TEXTFILE,$wxUSE_TEXTFILE)
+if test "$wxUSE_DYNLIB_CLASS" = 1 ; then
+  AC_DEFINE_UNQUOTED(wxUSE_DYNLIB_CLASS,$wxUSE_DYNLIB_CLASS)
 fi
 
 dnl ----------------------------------------------------------------
@@ -1291,25 +1349,18 @@ if test "$wxUSE_CLIPBOARD" = 1 ; then
   AC_DEFINE_UNQUOTED(wxUSE_CLIPBOARD,$wxUSE_CLIPBOARD)
 fi
 
-if test "$wxUSE_DND" = 1 ; then
-  AC_DEFINE_UNQUOTED(wxUSE_DND,$wxUSE_DND)
+if test "$wxUSE_TOOLTIPS" = 1 ; then
+  AC_DEFINE_UNQUOTED(wxUSE_TOOLTIPS,$wxUSE_TOOLTIPS)
 fi
 
-if test "$wxUSE_CONSTRAINTS" = 1 ; then
-  AC_DEFINE_UNQUOTED(wxUSE_CONSTRAINTS,$wxUSE_CONSTRAINTS)
+if test "$wxUSE_DRAG_AND_DROP" = 1 ; then
+  AC_DEFINE_UNQUOTED(wxUSE_DRAG_AND_DROP,$wxUSE_DRAG_AND_DROP)
 fi
 
 dnl ----------------------------------------------------------------
-dnl No effect
+dnl No effect yet
 dnl ----------------------------------------------------------------
 
-METAFILE=NONE
-if test "$wxUSE_METAFILE" = 1 ; then
-  METAFILE="METAFILE"
-  AC_DEFINE_UNQUOTED(wxUSE_METAFILE,$wxUSE_METAFILE)
-fi
-AC_SUBST(METAFILE)
-
 HELP=NONE
 if test "$wxUSE_HELP" = 1 ; then
   HELP="HELP"
@@ -1317,151 +1368,60 @@ if test "$wxUSE_HELP" = 1 ; then
 fi
 AC_SUBST(HELP)
 
-WXGRAPH=NONE
-if test "$wxUSE_WXGRAPH" = 1 ; then
-  WXGRAPH="WXGRAPH"
-  AC_DEFINE_UNQUOTED(wxUSE_WXGRAPH,$wxUSE_WXGRAPH)
-fi
-AC_SUBST(WXGRAPH)
-
-WXTREE=NONE
-if test "$wxUSE_WXTREE" = 1 ; then
-  WXTREE="WXTREE"
-  AC_DEFINE_UNQUOTED(wxUSE_WXTREE,$wxUSE_WXTREE)
-fi
-AC_SUBST(WXTREE)
-
-GLCANVAS=NONE
-if test "$wxUSE_OPENGL" = 1 ; then
-  GLCANVAS="GLCANVAS"
-fi
-
-dnl ----------------------------------------------------------------
-dnl select  dynamic loader (used by iODBC to load drivers)
-dnl ----------------------------------------------------------------
-
-AC_CHECK_LIB(dl,main,[DL_LIBRARY=-ldl],[DL_LIBRARY=])
-AC_SUBST(DL_LIBRARY)
-
 dnl ----------------------------------------------------------------
 dnl thread support
 dnl ----------------------------------------------------------------
 
-wxwxUSE_THREADS=1
 THREADS_LINK=""
-UNIX_THREAD="gtk/threadno.cpp"
+UNIX_THREAD=""
 
-AC_OVERRIDES(threads,threads,
-**--without-threads       Force disabling threads,
-wxwxUSE_THREADS)
+if test "$wxUSE_THREADS" = "1"; then
 
-dnl AC_ARG_WITH(threads,
-dnl [**--without-threads       Force disabling threads ],
-dnl [wxwxUSE_THREADS="$withval"])
+     dnl For glibc 2 users who have the old libc 5 too
 
-if test "$wxwxUSE_THREADS" = "1"; then
-  UNIX_THREAD="gtk/threadno.cpp"
+     AC_CHECK_LIB(pthread-0.7, pthread_create, [
+       UNIX_THREAD="gtk/threadpsx.cpp"
+       THREADS_LINK="-lpthread-0.7"
+     ],[
+       AC_CHECK_HEADER(sys/prctl.h, [
+          UNIX_THREAD="gtk/threadsgi.cpp"
+     ])
 
-  dnl For glibc 2 users who have the old libc 5 too
+     dnl pthread_create is always available in pthread but it seems not to be
+     dnl the case for pthread_setcanceltype.
 
-  AC_CHECK_LIB(pthread-0.7, pthread_create, [
-     UNIX_THREAD="gtk/threadpsx.cpp"
-     THREADS_LINK="-lpthread-0.7"
-  ],[
-    AC_CHECK_HEADER(sys/prctl.h, [
-        UNIX_THREAD="gtk/threadsgi.cpp"
+     AC_CHECK_LIB(pthread, pthread_setcanceltype, [
+       UNIX_THREAD="gtk/threadpsx.cpp"
+       THREADS_LINK="-lpthread"
+     ])
     ])
 
-    dnl pthread_create is always available in pthread but it seems not to be
-    dnl the case for pthread_setcanceltype.
+    if test "$THREADS_LINK" != ""; then
+      AC_DEFINE(wxUSE_THREADS)
+    fi
 
-    AC_CHECK_LIB(pthread, pthread_setcanceltype, [
-       UNIX_THREAD="gtk/threadpsx.cpp"
-       THREADS_LINK="-lpthread"
+    dnl -lposix4 seems to be required on Solaris
+
+    AC_CHECK_LIB(posix4, printf, [
+      THREADS_LINK="$THREADS_LINK -lposix4"
     ])
-  ])
-  AC_CHECK_LIB(pthreads, pthread_setcanceltype, [
-     UNIX_THREAD="gtk/threadpsx.cpp"
-     THREADS_LINK="-lpthreads"
-  ])
+    
+fi
+
+if test "$wxUSE_MOTIF" = "1"; then
+  UNIX_THREAD="motif/thread.cpp"
 fi
 
 if test -z "$UNIX_THREAD"; then
-  wxwxUSE_THREADS=0
+  wxUSE_THREADS=0
 fi
 
 AC_SUBST(UNIX_THREAD)
 AC_SUBST(THREADS_LINK)
-AC_DEFINE(wxwxUSE_THREADS)
 
 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 wxwxUSE_THREADS if thread support is activated. (GL)
-
-dnl ----------------------------------------------------------------
-dnl search for opengl
-dnl ----------------------------------------------------------------
-
-OPENGL_INCLUDE=
-OPENGL_LIBRARY=
-OPENGL_LINK=
-
-if test "$wxUSE_OPENGL" = 1; then
-  dnl checking OPENGL includes
-  AC_MSG_CHECKING(for OpenGL includes)
-  AC_PATH_FIND_INCLUDES($SEARCH_INCLUDE,GL/gl.h)
-  if test "$ac_find_includes" != "" ; then
-    OPENGL_INCLUDE="-I$ac_find_includes"
-    AC_MSG_RESULT(found $ac_find_includes)
-    dnl checking OPENGL libraries
-    AC_MSG_CHECKING(for OpenGL library)
-    AC_PATH_FIND_LIBRARIES($SEARCH_LIB,GL)
-    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"
-      OPENGL_LIBRARY="$ac_path_to_link"
-      OPENGL_INCLUDE="$ac_path_to_include"
-      OPENGL_LINK="-lGL"
-      AC_MSG_RESULT(found OpenGL at $ac_find_libraries)
-    else
-      AC_PATH_FIND_LIBRARIES($SEARCH_LIB,MesaGL)
-      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"
-        OPENGL_LIBRARY="$ac_path_to_link"
-        OPENGL_INCLUDE="$ac_path_to_include"
-        OPENGL_LINK="-lMesaGL"
-        AC_MSG_RESULT(found MESA at $ac_find_libraries)
-      else
-        AC_MSG_ERROR(no)
-      fi
-    fi
-  else
-    AC_MSG_ERROR(no)
-  fi
-fi
-
-dnl ----------------------------------------------------------------
-dnl left-over
-dnl ----------------------------------------------------------------
-
-wxUSE_GLX=$wxUSE_OPENGL
-if test "$wxUSE_OPENGL" != 1; then
-  OPENGL_LIBRARIES=
-  OPENGL_INCLUDE=
-  OPENGL_LINK=
-  GLCANVAS=NONE
-fi
-
-AC_DEFINE_UNQUOTED(wxUSE_GLX,$wxUSE_GLX)
-AC_SUBST(OPENGL_INCLUDE)
-AC_SUBST(OPENGL_LIBRARY)
-AC_SUBST(OPENGL_LINK)
-AC_SUBST(GLCANVAS)
+dnl   defines wxUSE_THREADS if thread support is activated. (GL)
 
 dnl ------------------------------------------------------------------------
 dnl compiler options for shared libs
@@ -1472,7 +1432,7 @@ CREATE_SHARED=
 case "${canonical}" in
 
   *-hp-hpux* )
-    if test "${CC}" != "gcc" ; then
+    if test "$GCC" != "yes" ; then
       CXXFLAGS="${CXXFLAGS} +a1 -z -Aa -D_HPUX_SOURCE"
       CFLAGS="${CFLAGS} -z -D_HPUX_SOURCE"
       PICFLAGS="+z"
@@ -1496,7 +1456,7 @@ case "${canonical}" in
   ;;
 
   *-*-solaris2* ) 
-    if test "${CC}" != "gcc" ; then
+    if test "$GCC" != "yes" ; then
       PICFLAGS="-KPIC"
     else
       PICFLAGS="-fPIC"
@@ -1506,7 +1466,7 @@ case "${canonical}" in
   ;;
 
   *-*-sunos4* ) 
-    if test "${CC}" != "gcc" ; then
+    if test "$GCC" != "yes" ; then
       PICFLAGS="-PIC"
     else
       PICFLAGS="-fPIC"
@@ -1528,7 +1488,7 @@ case "${canonical}" in
   ;;
 
   *-*-dgux5* ) 
-    if test "${CC}" != "gcc" ; then
+    if test "$GCC" != "yes" ; then
       PICFLAGS="-K PIC"
     else
       PICFLAGS="-fPIC"
@@ -1538,7 +1498,7 @@ case "${canonical}" in
   ;;
 
   *-*-sysv5* ) 
-    if test "${CC}" != "gcc" ; then
+    if test "$GCC" != "yes" ; then
       PICFLAGS="-K PIC"
     else
       PICFLAGS="-fPIC"
@@ -1548,7 +1508,7 @@ case "${canonical}" in
   ;;
 
   *-*-aix* ) 
-    if test "${CC}" != "gcc" ; then
+    if test "$GCC" != "yes" ; then
       PICFLAGS="-bM\:SRE"
     else
       PICFLAGS="-fPIC"
@@ -1563,11 +1523,15 @@ case "${canonical}" in
 esac
 
 if test "x$GCC" = xyes; then
-  CFLAGS="${CFLAGS} -Wall"
+  CFLAGS="${CFLAGS} -Wall -Wno-unused -Wno-uninitialized -D_REENTRANT -DLEX_SCANNER -DHAVE_LIBDL"
 fi
 
 if test "x$GXX" = xyes; then
-  CXXFLAGS="${CXXFLAGS} -Wall"
+  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