]> git.saurik.com Git - wxWidgets.git/blobdiff - configure.in
minor fix in wxHtmlWindow::CreateLayout
[wxWidgets.git] / configure.in
index 53d7105e63fdb1fa5958660f459015f7ccb18288..f6a27633c1350218df161324ea13dcac97b6e931 100644 (file)
@@ -11,6 +11,419 @@ dnl
 dnl Version: $Id$
 dnl ---------------------------------------------------------------------------
 
 dnl Version: $Id$
 dnl ---------------------------------------------------------------------------
 
+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. Uses variables
+dnl gtk_config_prefix and/or gtk_config_exec_prefix if defined.
+dnl ---------------------------------------------------------------------------
+dnl
+AC_DEFUN(AM_PATH_GTK,
+[
+  if test x$gtk_config_exec_prefix != x ; then
+     gtk_config_args="$gtk_config_args --exec-prefix=$gtk_config_exec_prefix"
+     if test x${GTK_CONFIG+set} != xset ; then
+        GTK_CONFIG=$gtk_config_exec_prefix/bin/gtk-config
+     fi
+  fi
+  if test x$gtk_config_prefix != x ; then
+     gtk_config_args="$gtk_config_args --prefix=$gtk_config_prefix"
+     if test x${GTK_CONFIG+set} != xset ; then
+        GTK_CONFIG=$gtk_config_prefix/bin/gtk-config
+     fi
+  fi
+
+  AC_PATH_PROG(GTK_CONFIG, gtk-config, no)
+  min_gtk_version=ifelse([$1], ,0.99.7,$1)
+  AC_MSG_CHECKING(for GTK - version >= $min_gtk_version)
+  no_gtk=""
+  if test "$GTK_CONFIG" != "no" ; then
+    GTK_CFLAGS=`$GTK_CONFIG --cflags`
+    GTK_LIBS=`$GTK_CONFIG --libs`
+    ac_save_CFLAGS="$CFLAGS"
+    ac_save_LIBS="$LIBS"
+    CFLAGS="$CFLAGS $GTK_CFLAGS"
+    LIBS="$LIBS $GTK_LIBS"
+dnl
+dnl Now check if the installed GTK is sufficiently new. (Also sanity
+dnl checks the results of gtk-config to some extent)
+dnl
+    AC_TRY_RUN([
+#include <gtk/gtk.h>
+#include <stdio.h>
+
+int
+main ()
+{
+  int major, minor, micro;
+
+  if (sscanf("$min_gtk_version", "%d.%d.%d", &major, &minor, &micro) != 3) {
+     printf("%s, bad version string\n", "$min_gtk_version");
+     exit(1);
+   }
+
+   if (gtk_minor_version == 1) 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)));
+}
+],, no_gtk=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
+     CFLAGS="$ac_save_CFLAGS"
+     LIBS="$ac_save_LIBS"
+  else
+     no_gtk=yes
+  fi
+  if test "x$no_gtk" = x ; then
+     AC_MSG_RESULT(yes)
+     ifelse([$2], , :, [$2])
+  else
+     AC_MSG_RESULT(no)
+     GTK_CFLAGS=""
+     GTK_LIBS=""
+     ifelse([$3], , :, [$3])
+  fi
+  AC_SUBST(GTK_CFLAGS)
+  AC_SUBST(GTK_LIBS)
+])
+
+dnl ===========================================================================
+dnl macros to find the a file in the list of include/lib paths
+dnl ===========================================================================
+
+dnl ---------------------------------------------------------------------------
+dnl call WX_PATH_FIND_INCLUDES(search path, header name), sets ac_find_includes
+dnl to the full name of the file that was found or leaves it empty if not found
+dnl ---------------------------------------------------------------------------
+AC_DEFUN(WX_PATH_FIND_INCLUDES,
+[
+ac_find_includes=
+for ac_dir in $1;
+  do
+    if test -f "$ac_dir/$2"; then
+      ac_find_includes=$ac_dir
+      break
+    fi
+  done
+])
+
+dnl ---------------------------------------------------------------------------
+dnl call WX_PATH_FIND_LIBRARIES(search path, header name), sets ac_find_includes
+dnl to the full name of the file that was found or leaves it empty if not found
+dnl ---------------------------------------------------------------------------
+AC_DEFUN(WX_PATH_FIND_LIBRARIES,
+[
+ac_find_libraries=
+for ac_dir in $1;
+  do
+    for ac_extension in a so sl; do
+      if test -f "$ac_dir/lib$2.$ac_extension"; then
+        ac_find_libraries=$ac_dir
+        break 2
+      fi
+    done
+  done
+])
+
+dnl ---------------------------------------------------------------------------
+dnl Path to include, already defined
+dnl ---------------------------------------------------------------------------
+AC_DEFUN(WX_INCLUDE_PATH_EXIST,
+[
+  ac_path_to_include=$1
+  echo "$2" | grep "\-I$1" > /dev/null
+  result=$?
+  if test $result = 0; then
+    ac_path_to_include=""
+  else
+    ac_path_to_include="-I$1"
+  fi
+])
+
+dnl ---------------------------------------------------------------------------
+dnl Path to link, already defined
+dnl ---------------------------------------------------------------------------
+AC_DEFUN(WX_LINK_PATH_EXIST,
+[
+  echo "$2" | grep "\-L$1" > /dev/null
+  result=$?
+  if test $result = 0; then
+    ac_path_to_link=""
+  else
+    ac_path_to_link="-L$1"
+  fi
+])
+
+dnl ===========================================================================
+dnl C++ features test
+dnl ===========================================================================
+
+dnl ---------------------------------------------------------------------------
+dnl WX_CPP_NEW_HEADERS checks whether the compiler has "new" <iostream> header
+dnl or only the old <iostream.h> one - it may be generally assumed that if
+dnl <iostream> exists, the other "new" headers (without .h) exist too.
+dnl
+dnl call WX_CPP_NEW_HEADERS(actiof-if-true, action-if-false-or-cross-compiling)
+dnl ---------------------------------------------------------------------------
+
+AC_DEFUN(WX_CPP_NEW_HEADERS,
+[
+  if test "$cross_compiling" = "yes"; then
+    ifelse([$2], , :, [$2])
+  else
+    AC_LANG_SAVE
+    AC_LANG_CPLUSPLUS
+
+    AC_CHECK_HEADERS(iostream)
+
+    if test "x$HAVE_IOSTREAM" = x ; then
+      ifelse([$2], , :, [$2])
+    else
+      ifelse([$1], , :, [$1])
+    fi
+
+    AC_LANG_RESTORE
+  fi
+])
+
+dnl ---------------------------------------------------------------------------
+dnl WX_CPP_BOOL checks whether the C++ compiler has a built in bool type
+dnl
+dnl call WX_CPP_BOOL - will define HAVE_BOOL if the compiler supports bool
+dnl ---------------------------------------------------------------------------
+
+AC_DEFUN(WX_CPP_BOOL,
+[
+  AC_CACHE_CHECK([if C++ compiler supports bool], wx_cv_cpp_bool,
+  [
+    AC_LANG_SAVE
+    AC_LANG_CPLUSPLUS
+
+    AC_TRY_RUN([
+        int main()
+        {
+            bool b = true;
+
+            return 0;
+        }
+      ],
+      [
+        AC_DEFINE(HAVE_BOOL)
+        wx_cv_cpp_bool=yes
+      ],
+      wx_cv_cpp_bool=no,
+      wx_cv_cpp_bool=no
+    )
+
+    AC_LANG_RESTORE
+  ])
+
+  if test "$wx_cv_cpp_bool" = "yes"; then
+    AC_DEFINE(HAVE_BOOL)
+  fi
+])
+
+dnl ---------------------------------------------------------------------------
+dnl WX_CPP_SIZE_T_IS_NOT_INT checks whether size_t and int are different types,
+dnl i.e. whether we may overload operator[] on its argument type
+dnl ---------------------------------------------------------------------------
+
+AC_DEFUN(WX_CPP_SIZE_T_IS_NOT_INT,
+[
+  AC_CACHE_CHECK([if size_t and int are different types], wx_cv_cpp_sizet_not_int,
+  [
+    AC_LANG_SAVE
+    AC_LANG_CPLUSPLUS
+
+    AC_TRY_RUN([
+        #include <stdlib.h>
+
+        class S
+        {
+        public:
+          S(char *s) { m_s = s; }
+
+          char operator[](size_t n) const { return m_s[n]; }
+          char operator[](int n) const { return m_s[n]; }
+
+        private:
+          char *m_s;
+        };
+
+        int main()
+        {
+            S s("dummy");
+            size_t n1 = 2;
+            int n2 = 3;
+
+            return s[n1] == s[n2];
+        }
+      ],
+      AC_DEFINE(wxUSE_SIZE_T_STRING_OPERATOR) wx_cv_cpp_sizet_not_int=yes,
+      wx_cv_cpp_sizet_not_int=no,
+      wx_cv_cpp_sizet_not_int=no
+    )
+
+    AC_LANG_RESTORE
+  ])
+])
+
+dnl ---------------------------------------------------------------------------
+dnl a slightly better AC_C_BIGENDIAN macro which allows cross-compiling
+dnl ---------------------------------------------------------------------------
+
+AC_DEFUN(WX_C_BIGENDIAN,
+[AC_CACHE_CHECK(whether byte ordering is bigendian, ac_cv_c_bigendian,
+[ac_cv_c_bigendian=unknown
+# See if sys/param.h defines the BYTE_ORDER macro.
+AC_TRY_COMPILE([#include <sys/types.h>
+#include <sys/param.h>], [
+#if !BYTE_ORDER || !BIG_ENDIAN || !LITTLE_ENDIAN
+ bogus endian macros
+#endif], [# It does; now see whether it defined to BIG_ENDIAN or not.
+AC_TRY_COMPILE([#include <sys/types.h>
+#include <sys/param.h>], [
+#if BYTE_ORDER != BIG_ENDIAN
+ not big endian
+#endif], ac_cv_c_bigendian=yes, ac_cv_c_bigendian=no)])
+if test $ac_cv_c_bigendian = unknown; then
+AC_TRY_RUN([main () {
+  /* Are we little or big endian?  From Harbison&Steele.  */
+  union
+  {
+    long l;
+    char c[sizeof (long)];
+  } u;
+  u.l = 1;
+  exit (u.c[sizeof (long) - 1] == 1);
+}], ac_cv_c_bigendian=no, ac_cv_c_bigendian=yes, ac_cv_c_bigendian=unknown)
+fi])
+if test $ac_cv_c_bigendian = unknown; then
+  AC_MSG_WARN([Assuming little-endian target machine - this may be overriden by adding the line "ac_cv_c_bigendian=${ac_cv_c_bigendian='yes'}" to config.cache file])
+fi
+if test $ac_cv_c_bigendian = yes; then
+  AC_DEFINE(WORDS_BIGENDIAN)
+fi
+])
+
+dnl ---------------------------------------------------------------------------
+dnl override AC_ARG_ENABLE/WITH to cache the results in .cache file
+dnl ---------------------------------------------------------------------------
+
+AC_DEFUN(WX_ARG_CACHE_INIT,
+        [
+          wx_arg_cache_file="configarg.cache"
+          echo "loading argument cache $wx_arg_cache_file"
+          rm -f ${wx_arg_cache_file}.tmp
+          touch ${wx_arg_cache_file}.tmp
+          touch ${wx_arg_cache_file}
+        ])
+
+AC_DEFUN(WX_ARG_CACHE_FLUSH,
+        [
+          echo "saving argument cache $wx_arg_cache_file"
+          mv ${wx_arg_cache_file}.tmp ${wx_arg_cache_file}
+        ])
+
+dnl this macro checks for a command line argument and caches the result
+dnl usage: WX_ARG_WITH(option, helpmessage, variable-name)
+AC_DEFUN(WX_ARG_WITH,
+        [
+          AC_MSG_CHECKING("for --with-$1")
+          no_cache=0
+          AC_ARG_WITH($1, $2,
+                      [
+                        if test "$withval" = yes; then
+                          ac_cv_use_$1='$3=yes'
+                        else
+                          ac_cv_use_$1='$3=no'
+                        fi
+                      ],
+                      [
+                        LINE=`grep "$3" ${wx_arg_cache_file}`
+                        if test "x$LINE" != x ; then
+                          eval "DEFAULT_$LINE"
+                        else
+                          no_cache=1
+                        fi
+
+                        ac_cv_use_$1='$3='$DEFAULT_$3
+                      ])
+
+          eval "$ac_cv_use_$1"
+          if test "$no_cache" != 1; then
+            echo $ac_cv_use_$1 >> ${wx_arg_cache_file}.tmp
+          fi
+
+          if test "$$3" = yes; then
+            AC_MSG_RESULT(yes)
+          else
+            AC_MSG_RESULT(no)
+          fi
+        ])
+
+dnl like WX_ARG_WITH but uses AC_ARG_ENABLE instead of AC_ARG_WITH
+dnl usage: WX_ARG_ENABLE(option, helpmessage, variable-name)
+AC_DEFUN(WX_ARG_ENABLE,
+        [
+          AC_MSG_CHECKING("for --enable-$1")
+          no_cache=0
+          AC_ARG_ENABLE($1, $2,
+                        [
+                          if test "$enableval" = yes; then
+                            ac_cv_use_$1='$3=yes'
+                          else
+                            ac_cv_use_$1='$3=no'
+                          fi
+                        ],
+                        [
+                          LINE=`grep "$3" ${wx_arg_cache_file}`
+                          if test "x$LINE" != x ; then
+                            eval "DEFAULT_$LINE"
+                          else
+                            no_cache=1
+                          fi
+
+                          ac_cv_use_$1='$3='$DEFAULT_$3
+                        ])
+
+          eval "$ac_cv_use_$1"
+          if test "$no_cache" != 1; then
+            echo $ac_cv_use_$1 >> ${wx_arg_cache_file}.tmp
+          fi
+
+          if test "$$3" = yes; then
+            AC_MSG_RESULT(yes)
+          else
+            AC_MSG_RESULT(no)
+          fi
+        ])
+
+dnl -
+dnl - GNU libc extension (added by GL)
+dnl -
+
+AC_DEFUN(WX_GNU_EXTENSIONS,
+[
+AC_MSG_CHECKING([if you need GNU extensions])
+AC_CACHE_VAL(wx_cv_gnu_extensions,[
+   AC_TRY_COMPILE([#include <features.h>],[
+
+#ifndef __GNU_LIBRARY__
+ Compile error wanted
+#endif
+
+],
+  [wx_cv_gnu_extensions=yes],
+  [wx_cv_gnu_extensions=no])
+])
+
+AC_MSG_RESULT($wx_cv_gnu_extensions)
+if test "$wx_cv_gnu_extensions" = "yes"; then
+  AC_DEFINE_UNQUOTED(_GNU_SOURCE)
+fi
+])
+
+
 dnl ---------------------------------------------------------------------------
 dnl initialization
 dnl ---------------------------------------------------------------------------
 dnl ---------------------------------------------------------------------------
 dnl initialization
 dnl ---------------------------------------------------------------------------
@@ -18,7 +431,7 @@ dnl ---------------------------------------------------------------------------
 dnl the file passed to AC_INIT should be specific to our package
 AC_INIT(wx-config.in)
 
 dnl the file passed to AC_INIT should be specific to our package
 AC_INIT(wx-config.in)
 
-AC_CANONICAL_HOST
+AC_CANONICAL_SYSTEM
 
 dnl When making releases do:
 dnl
 
 dnl When making releases do:
 dnl
@@ -39,24 +452,11 @@ WX_BINARY_AGE=0
 
 WX_VERSION=$WX_MAJOR_VERSION_NUMBER.$WX_MINOR_VERSION_NUMBER.$WX_RELEASE_NUMBER
 
 
 WX_VERSION=$WX_MAJOR_VERSION_NUMBER.$WX_MINOR_VERSION_NUMBER.$WX_RELEASE_NUMBER
 
-AM_INIT_AUTOMAKE(wxWindows, $WX_VERSION)
-
-dnl libtool versioning
-LT_RELEASE=$WX_MAJOR_VERSION_NUMBER.$WX_MINOR_VERSION_NUMBER
-LT_CURRENT=`expr $WX_RELEASE_NUMBER - $WX_INTERFACE_AGE`
-LT_REVISION=$WX_INTERFACE_AGE
-LT_AGE=`expr $WX_BINARY_AGE - $WX_INTERFACE_AGE`
-AC_SUBST(LT_RELEASE)
-AC_SUBST(LT_CURRENT)
-AC_SUBST(LT_REVISION)
-AC_SUBST(LT_AGE)
-
-dnl FIXME this hack suppresses automake 1.4 warning about @LTLIBOBJS@ being
-dnl       never defined in configure.in (remove these lines to see what I'm
-dnl       speaking about) - Tom Tromey <tromey@cygnus.com> told me that it will
-dnl       be fixed in the next release.
-LIBOBJS=
-LIBOBJS="$LIBOBJS ../common/extended.o"
+dnl wxWindows shared library versioning
+WX_RELEASE=$WX_MAJOR_VERSION_NUMBER.$WX_MINOR_VERSION_NUMBER
+WX_CURRENT=`expr $WX_RELEASE_NUMBER - $WX_INTERFACE_AGE`
+WX_REVISION=$WX_INTERFACE_AGE
+WX_AGE=`expr $WX_BINARY_AGE - $WX_INTERFACE_AGE`
 
 dnl ------------------------------------------------------------------------
 dnl Check platform (host system)
 
 dnl ------------------------------------------------------------------------
 dnl Check platform (host system)
@@ -80,7 +480,7 @@ USE_FREEBSD=
 USE_VMS=
 USE_ULTRIX=
 USE_CYGWIN=
 USE_VMS=
 USE_ULTRIX=
 USE_CYGWIN=
-USE_MINGW32=
+USE_MINGW=
 USE_DATA_GENERAL=
 
 dnl the list of all available toolkits
 USE_DATA_GENERAL=
 
 dnl the list of all available toolkits
@@ -186,6 +586,16 @@ case "${host}" in
     AC_DEFINE(__WIN95__)
     AC_DEFINE(__WINDOWS__)
     AC_DEFINE(__GNUWIN32__)
     AC_DEFINE(__WIN95__)
     AC_DEFINE(__WINDOWS__)
     AC_DEFINE(__GNUWIN32__)
+    AC_DEFINE(WINVER, 0x0400)
+    DEFAULT_DEFAULT_wxUSE_MSW=1
+  ;;
+  *-*-mingw32* )
+    USE_UNIX=0
+    AC_DEFINE(__WIN32__)
+    AC_DEFINE(__WIN95__)
+    AC_DEFINE(__WINDOWS__)
+    AC_DEFINE(__GNUWIN32__)
+    AC_DEFINE(WINVER, 0x0400)
     DEFAULT_DEFAULT_wxUSE_MSW=1
   ;;
 
     DEFAULT_DEFAULT_wxUSE_MSW=1
   ;;
 
@@ -200,7 +610,6 @@ esac
 if test "$USE_UNIX" = 1 ; then
   wxUSE_UNIX=yes
   AC_DEFINE(__UNIX__)
 if test "$USE_UNIX" = 1 ; then
   wxUSE_UNIX=yes
   AC_DEFINE(__UNIX__)
-  EXTRA_VPATH="$EXTRA_VPATH:\$(srcdir)/../unix"
   SRC_SUBDIRS="$SRC_SUBDIRS unix"
   INCLUDE_SUBDIRS="$INCLUDE_SUBDIRS unix"
 fi
   SRC_SUBDIRS="$SRC_SUBDIRS unix"
   INCLUDE_SUBDIRS="$INCLUDE_SUBDIRS unix"
 fi
@@ -228,7 +637,8 @@ DEBUG_CONFIGURE=0
 if test $DEBUG_CONFIGURE = 1; then
   DEFAULT_wxUSE_THREADS=yes
 
 if test $DEBUG_CONFIGURE = 1; then
   DEFAULT_wxUSE_THREADS=yes
 
-  DEFAULT_wxUSE_OPTIMISE=no
+  DEFAULT_wxUSE_SHARED=yes
+  DEFAULT_wxUSE_OPTIMISE=yes
   DEFAULT_wxUSE_PROFILE=no
   DEFAULT_wxUSE_NO_RTTI=no
   DEFAULT_wxUSE_NO_EXCEPTIONS=no
   DEFAULT_wxUSE_PROFILE=no
   DEFAULT_wxUSE_NO_RTTI=no
   DEFAULT_wxUSE_NO_EXCEPTIONS=no
@@ -332,6 +742,7 @@ if test $DEBUG_CONFIGURE = 1; then
 else
   DEFAULT_wxUSE_THREADS=yes
 
 else
   DEFAULT_wxUSE_THREADS=yes
 
+  DEFAULT_wxUSE_SHARED=yes
   DEFAULT_wxUSE_OPTIMISE=yes
   DEFAULT_wxUSE_PROFILE=no
   DEFAULT_wxUSE_NO_RTTI=no
   DEFAULT_wxUSE_OPTIMISE=yes
   DEFAULT_wxUSE_PROFILE=no
   DEFAULT_wxUSE_NO_RTTI=no
@@ -354,7 +765,7 @@ else
   DEFAULT_wxUSE_LIBJPEG=yes
   DEFAULT_wxUSE_ODBC=no
 
   DEFAULT_wxUSE_LIBJPEG=yes
   DEFAULT_wxUSE_ODBC=no
 
-  DEFAULT_wxUSE_STD_IOSTREAM=yes
+  DEFAULT_wxUSE_STD_IOSTREAM=no
   DEFAULT_wxUSE_FILE=yes
   DEFAULT_wxUSE_TEXTFILE=yes
   DEFAULT_wxUSE_TIMEDATE=yes
   DEFAULT_wxUSE_FILE=yes
   DEFAULT_wxUSE_TEXTFILE=yes
   DEFAULT_wxUSE_TIMEDATE=yes
@@ -481,6 +892,7 @@ dnl ---------------------------------------------------------------------------
 dnl compile options
 dnl ---------------------------------------------------------------------------
 
 dnl compile options
 dnl ---------------------------------------------------------------------------
 
+WX_ARG_ENABLE(shared,      [  --enable-shared         create shared library code], wxUSE_SHARED)
 WX_ARG_ENABLE(optimise,    [  --enable-optimise       create optimised code], wxUSE_OPTIMISE)
 WX_ARG_ENABLE(debug,       [  --enable-debug          same as debug_flag and debug_info], wxUSE_DEBUG)
 
 WX_ARG_ENABLE(optimise,    [  --enable-optimise       create optimised code], wxUSE_OPTIMISE)
 WX_ARG_ENABLE(debug,       [  --enable-debug          same as debug_flag and debug_info], wxUSE_DEBUG)
 
@@ -760,11 +1172,15 @@ AC_CACHE_SAVE
 dnl cross-compiling support: we're cross compiling if the build system is
 dnl different from the target one (assume host and target be always the same)
 if eval "test $host != $build"; then
 dnl cross-compiling support: we're cross compiling if the build system is
 dnl different from the target one (assume host and target be always the same)
 if eval "test $host != $build"; then
-  if eval "test $build != NONE"; then
-    CC="$build-gcc"
-    CXX="$build-g++"
-    RANLIB="$build-ranlib"
-    NM="$build-nm"
+  if eval "test $host_alias != NONE"; then
+    CC=$host_alias-gcc 
+    CXX=$host_alias-c++ 
+    AR=$host_alias-ar
+    RANLIB=$host_alias-ranlib
+    DLLTOOL=$host_alias-dlltool 
+    LD=$host_alias-ld 
+    NM=$host_alias-nm
+    STRIP=$host_alias-strip
   fi
 fi
 
   fi
 fi
 
@@ -860,23 +1276,11 @@ AC_PROG_YACC
 dnl LEX checks
 dnl   defines LEX with the appropriate command
 dnl   defines LEXLIB with the appropriate library
 dnl LEX checks
 dnl   defines LEX with the appropriate command
 dnl   defines LEXLIB with the appropriate library
-dnl this AM version (don't use AC_PROG_LEX!) also
-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
-AM_PROG_LEX
+AC_PROG_LEX
 
 dnl needed for making link to setup.h
 AC_PROG_LN_S
 
 
 dnl needed for making link to setup.h
 AC_PROG_LN_S
 
-dnl without this (which just means that we use WXDLLEXPORT) libtool won't build
-dnl DLLs under Win32.
-dnl AC_LIBTOOL_WIN32_DLL
-
-dnl disable static libs by default, this takes too much time...
-AM_DISABLE_STATIC
-AM_PROG_LIBTOOL
-
 dnl ---------------------------------------------------------------------------
 dnl Define search path for includes and libraries: all headers and libs will be
 dnl looked for in all directories of this path
 dnl ---------------------------------------------------------------------------
 dnl Define search path for includes and libraries: all headers and libs will be
 dnl looked for in all directories of this path
@@ -962,6 +1366,10 @@ dnl ----------------------------------------------------------------
 TOOLKIT=
 TOOLKIT_INCLUDE=
 
 TOOLKIT=
 TOOLKIT_INCLUDE=
 
+GUIOBJS=
+COMMONOBJS=
+GENERICOBJS=
+
 GUI_TK_LIBRARY=
 GUI_TK_LINK=
 
 GUI_TK_LIBRARY=
 GUI_TK_LINK=
 
@@ -969,32 +1377,44 @@ WXGTK12=
 
 WXWINE=
 
 
 WXWINE=
 
-if test "$wxUSE_CYGWIN" = 1; then
+if test "$wxUSE_CYGWIN" = 1 || test "$wxUSE_MINGW" = 1 ; then
   AC_MSG_CHECKING(for Windows headers)
   WX_PATH_FIND_INCLUDES($SEARCH_INCLUDE, windows.h)
   AC_MSG_CHECKING(for Windows headers)
   WX_PATH_FIND_INCLUDES($SEARCH_INCLUDE, windows.h)
+  INCLUDE_SUBDIRS="$INCLUDE_SUBDIRS msw"
+  
+  dnl --- Quick & Dirty ; link against most/all libraries
+  dnl --- This will bloat the executable, but it'll work for now...
+  LIBS="$LIBS  -lkernel32 -luser32 -lgdi32 -lcomdlg32 -lwinspool -lwinmm -lshell32 -loldnames -lcomctl32 -lctl3d32 -lcrtdll -ladvapi32 -lwsock32"
 
   if test "$ac_find_includes" != "" ; then
     AC_MSG_RESULT(found $ac_find_includes)
     TOOLKIT_INCLUDE="$TOOLKIT_INCLUDE -I$ac_find_includes"
   else
     AC_MSG_RESULT(no)
 
   if test "$ac_find_includes" != "" ; then
     AC_MSG_RESULT(found $ac_find_includes)
     TOOLKIT_INCLUDE="$TOOLKIT_INCLUDE -I$ac_find_includes"
   else
     AC_MSG_RESULT(no)
-    AC_MSG_ERROR(please set CFLAGS to contain the location of windows.h)
+    if test "$cross_compiling" != "yes" ; then
+      AC_MSG_ERROR(please set CFLAGS to contain the location of windows.h)
+    fi  
   fi
 
   TOOLKIT=MSW
 fi
 
 if test "$wxUSE_GTK" = 1; then
   fi
 
   TOOLKIT=MSW
 fi
 
 if test "$wxUSE_GTK" = 1; then
-  dnl avoid calling AM_PATH_GTK twice, so check first for the newer version and
-  dnl only then, if it wasn't found, for an older one
-  AM_PATH_GTK(1.2.0, WXGTK12=1)
-  if test "$WXGTK12" != 1; then
-    AM_PATH_GTK(1.0.0, , AC_MSG_ERROR(Is gtk-config in path and GTK+ is version 1.2.X or 1.0.X?))
-  fi
+    dnl avoid calling AM_PATH_GTK twice, so check first for the newer version and
+    dnl only then, if it wasn't found, for an older one
+    AM_PATH_GTK(1.2.0, WXGTK12=1)
+    if test "$WXGTK12" != 1; then
+       AM_PATH_GTK(1.0.0, , AC_MSG_ERROR(Is gtk-config in path and GTK+ is version 1.2.X or 1.0.X?))
+    fi
 
 
-  TOOLKIT_INCLUDE="$GTK_CFLAGS"
-  GUI_TK_LIBRARY="$GTK_LIBS"
-  TOOLKIT=GTK
+    TOOLKIT_INCLUDE="$GTK_CFLAGS"
+    GUI_TK_LIBRARY="$GTK_LIBS"
+    TOOLKIT=GTK
+  
+    GUIOBJS=GTK_GUIOBJS
+    GUIHEADERS=GTK_HEADERS
+    COMMONOBJS=GTK_COMMONOBJS
+    GENERICOBJS=GTK_GENERICOBJS
 fi
 
 if test "$wxUSE_WINE" = 1; then
 fi
 
 if test "$wxUSE_WINE" = 1; then
@@ -1036,7 +1456,6 @@ if test "$wxUSE_WINE" = 1; then
     GUI_TK_LIBRARY="$GUI_TK_LIBRARY $GUI_TK_LINK"
     WXWINE=1
     TOOLKIT=MSW
     GUI_TK_LIBRARY="$GUI_TK_LIBRARY $GUI_TK_LINK"
     WXWINE=1
     TOOLKIT=MSW
-    LTLIBOBJS="$LTLIBOBJS winestub.lo"
 fi
 
 if test "$wxUSE_MOTIF" = 1; then
 fi
 
 if test "$wxUSE_MOTIF" = 1; then
@@ -1102,19 +1521,98 @@ if test "$wxUSE_MOTIF" = 1; then
     GUI_TK_LINK="-lXm $XPM_LINK -lXmu -lXt -lX11 -ldl -lm"
     GUI_TK_LIBRARY="$GUI_TK_LIBRARY $GUI_TK_LINK"
     TOOLKIT=MOTIF
     GUI_TK_LINK="-lXm $XPM_LINK -lXmu -lXt -lX11 -ldl -lm"
     GUI_TK_LIBRARY="$GUI_TK_LIBRARY $GUI_TK_LINK"
     TOOLKIT=MOTIF
+  
+    GUIOBJS=MOTIF_GUIOBJS
+    GUIHEADERS=MOTIF_HEADERS
+    COMMONOBJS=MOTIF_COMMONOBJS
+    GENERICOBJS=MOTIF_GENERICOBJS
 fi
 
 dnl the name of the directory where the files for this toolkit live
 TOOLKIT_DIR=`echo ${TOOLKIT} | tr "A-Z" "a-z"`
 
 dnl the symbol which allows conditional compilation for the given toolkit
 fi
 
 dnl the name of the directory where the files for this toolkit live
 TOOLKIT_DIR=`echo ${TOOLKIT} | tr "A-Z" "a-z"`
 
 dnl the symbol which allows conditional compilation for the given toolkit
-TOOLKIT_DEF=-D__WX${TOOLKIT}__
+TOOLKIT_DEF="-D__WX${TOOLKIT}__"
 
 dnl the name of the (libtool) library
 WX_LIBRARY_NAME="libwx_${TOOLKIT_DIR}.la"
 
 
 dnl the name of the (libtool) library
 WX_LIBRARY_NAME="libwx_${TOOLKIT_DIR}.la"
 
-dnl the name of the library to be linked reported by wx-config
-WX_LIBRARY="wx_${TOOLKIT_DIR}"
+dnl the name of the static library
+WX_LIBRARY_NAME_STATIC="libwx_${TOOLKIT_DIR}.a"
+
+dnl the name of the shared library
+WX_LIBRARY_NAME_SHARED="libwx_${TOOLKIT_DIR}-${WX_RELEASE}.so.${WX_CURRENT}.${WX_REVISION}.${WX_AGE}"
+
+dnl the name of the library we actually want to build
+WX_TARGET_LIBRARY="${WX_LIBRARY_NAME_SHARED}"
+
+dnl the name of the links to the shared library
+WX_LIBRARY_LINK1="libwx_${TOOLKIT_DIR}-${WX_RELEASE}.so.${WX_CURRENT}"
+WX_LIBRARY_LINK2="libwx_${TOOLKIT_DIR}-${WX_RELEASE}.so"
+WX_LIBRARY_LINK3="libwx_${TOOLKIT_DIR}.so"
+
+dnl shared library settings
+SHARED_LD=
+PIC_FLAG=
+WX_CREATE_LINKS=
+
+case "${host}" in
+  *-hp-hpux* )
+    WX_LIBRARY_NAME_SHARED="libwx_${TOOLKIT_DIR}.sl"
+    SHARED_LD="${CXX} -b -o"
+    PIC_FLAG="+Z"
+  ;;
+  *-*-linux* )
+    SHARED_LD="${CC} -shared -o"
+    PIC_FLAG="-fPIC"
+    WX_CREATE_LINKS="CREATE_LINKS"
+  ;;
+  *-*-irix5* | *-*-irix6* )
+    SHARED_LD="${CXX} -shared -o"
+    WX_CREATE_LINKS="CREATE_LINKS"
+  ;;
+  *-*-solaris2* )
+    SHARED_LD="${CXX} -G -o"
+    PIC_FLAG="PIC"
+    WX_CREATE_LINKS="CREATE_LINKS"
+  ;;
+  *-*-sunos4* )
+    SHARED_LD="${CXX} -shared -o"
+    PIC_FLAG="-fPIC"
+    WX_CREATE_LINKS="CREATE_LINKS"
+  ;;
+  *-*-freebsd* | *-*-netbsd*)
+    SHARED_LD="${CXX} -shared -o"
+    PIC_FLAG="-fPIC"
+    WX_CREATE_LINKS="CREATE_LINKS"
+  ;;
+  *-*-osf* )
+    SHARED_LD="${CXX} -shared -o"
+    PIC_FLAG="-fPIC"
+    WX_CREATE_LINKS="CREATE_LINKS"
+  ;;
+  *-*-dgux5* )
+    SHARED_LD="${CXX} -shared -o"
+    PIC_FLAG="-fPIC"
+    WX_CREATE_LINKS="CREATE_LINKS"
+  ;;
+  *-*-sysv5* )
+    SHARED_LD="${CXX} -shared -o"
+    PIC_FLAG="-fPIC"
+    WX_CREATE_LINKS="CREATE_LINKS"
+  ;;
+  *-*-aix* )
+    SHARED_LD="/usr/lpp/xlC/bin/makeC++SharedLib -p 0 -o"
+  ;;
+  *-*-cygwin32* )
+  ;;
+  *-*-mingw32* )
+  ;;
+  *-pc-os2_emx )
+  ;;
+  *)
+    AC_MSG_ERROR(unknown system type ${host}.)
+esac
 
 dnl ------------------------------------------------------------------------
 dnl Check for headers
 
 dnl ------------------------------------------------------------------------
 dnl Check for headers
@@ -1183,6 +1681,9 @@ WX_CPP_BOOL
 dnl check whether overloading on size_t/int parameter works
 WX_CPP_SIZE_T_IS_NOT_INT
 
 dnl check whether overloading on size_t/int parameter works
 WX_CPP_SIZE_T_IS_NOT_INT
 
+dnl check whether we should define _GNU_SOURCE
+WX_GNU_EXTENSIONS
+
 dnl ---------------------------------------------------------------------------
 dnl Check for functions
 dnl ---------------------------------------------------------------------------
 dnl ---------------------------------------------------------------------------
 dnl Check for functions
 dnl ---------------------------------------------------------------------------
@@ -1207,6 +1708,32 @@ AC_CHECK_FUNCS(vsnprintf,
                AC_MSG_WARN(unsafe function sprintf will be used instead of snprintf)
               )
 
                AC_MSG_WARN(unsafe function sprintf will be used instead of snprintf)
               )
 
+dnl check for vsscanf() - on some platforms (Linux, glibc 2.1.1) it's
+dnl available in the library but the prototype is missing, so we can't use
+dnl AC_CHECK_FUNCS here, do it manually
+AC_LANG_SAVE
+AC_LANG_CPLUSPLUS
+
+AC_CACHE_CHECK([for vsscanf], wx_cv_func_vsscanf,
+[
+  AC_TRY_COMPILE(
+             [
+                #include <stdio.h>
+                #include <stdarg.h>
+             ],
+             [
+                va_list ap;
+                vsscanf("", "", ap);
+             ], [
+                wx_cv_func_vsscanf=yes
+                AC_DEFINE(HAVE_VSSCANF)
+             ], [
+                wx_cv_func_vsscanf=no
+             ])
+])
+
+AC_LANG_RESTORE
+
 dnl check for vfork() (even if it's the same as fork() in modern Unices)
 AC_CHECK_FUNCS(vfork)
 
 dnl check for vfork() (even if it's the same as fork() in modern Unices)
 AC_CHECK_FUNCS(vfork)
 
@@ -1225,6 +1752,10 @@ AC_CHECK_FUNCS(nanosleep, AC_DEFINE(HAVE_NANOSLEEP), [
 dnl check for uname (POSIX) and gethostname (BSD)
 AC_CHECK_FUNCS(uname gethostname, break)
 
 dnl check for uname (POSIX) and gethostname (BSD)
 AC_CHECK_FUNCS(uname gethostname, break)
 
+dnl check for inet_addr, inet_aton, ...
+AC_CHECK_FUNCS(inet_addr)
+AC_CHECK_FUNCS(inet_aton)
+
 dnl ===========================================================================
 dnl Now we have all the info we need - use it!
 dnl ===========================================================================
 dnl ===========================================================================
 dnl Now we have all the info we need - use it!
 dnl ===========================================================================
@@ -1274,17 +1805,15 @@ if test "$wxUSE_THREADS" = "yes" ; then
                 ])
             ])
         ])
                 ])
             ])
         ])
-fi
 
 
-if test -z "$THREADS_OBJ" ; then
-    wxUSE_THREADS=no
-    AC_MSG_WARN(No thread support on this system)
+    if test -z "$THREADS_OBJ" ; then
+        wxUSE_THREADS=no
+        AC_MSG_WARN(No thread support on this system)
+    fi
 fi
 
 dnl do other tests only if we are using threads
 if test "$wxUSE_THREADS" = "yes" ; then
 fi
 
 dnl do other tests only if we are using threads
 if test "$wxUSE_THREADS" = "yes" ; then
-  dnl  LTLIBOBJS="$LTLIBOBJS $THREADS_OBJ"
-
   dnl define autoconf macro to check for given function in both pthread and
   dnl posix4 libraries
   dnl usage: AC_FUNC_THREAD(FUNCTION_NAME)
   dnl define autoconf macro to check for given function in both pthread and
   dnl posix4 libraries
   dnl usage: AC_FUNC_THREAD(FUNCTION_NAME)
@@ -1440,20 +1969,12 @@ dnl ---------------------------------------------------------------------------
 ZLIB_INCLUDE=
 if test "$wxUSE_ZLIB" = "yes" ; then
   AC_DEFINE(wxUSE_ZLIB)
 ZLIB_INCLUDE=
 if test "$wxUSE_ZLIB" = "yes" ; then
   AC_DEFINE(wxUSE_ZLIB)
-  EXTRA_VPATH="$EXTRA_VPATH:\${srcdir}/../zlib"
   ZLIB_INCLUDE="-I\${srcdir}/../zlib"
   ZLIB_INCLUDE="-I\${srcdir}/../zlib"
-  LTLIBOBJS="$LTLIBOBJS adler32.lo compress.lo crc32.lo gzio.lo uncompr.lo deflate.lo \
-                        trees.lo zutil.lo inflate.lo infblock.lo inftrees.lo infcodes.lo \
-                        infutil.lo inffast.lo"
 fi
 
 PNG_INCLUDE=
 if test "$wxUSE_LIBPNG" = "yes" ; then
   AC_DEFINE(wxUSE_LIBPNG)
 fi
 
 PNG_INCLUDE=
 if test "$wxUSE_LIBPNG" = "yes" ; then
   AC_DEFINE(wxUSE_LIBPNG)
-  LTLIBOBJS="$LTLIBOBJS png.lo pngset.lo pngget.lo pngrutil.lo pngtrans.lo pngwutil.lo \
-                        pngread.lo pngrio.lo pngwio.lo pngwrite.lo pngrtran.lo pngwtran.lo \
-                        pngmem.lo pngerror.lo pngpread.lo"
-  EXTRA_VPATH="$EXTRA_VPATH:\${srcdir}/../png"
   PNG_INCLUDE="-I\${srcdir}/../png"
   SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS png"
 fi
   PNG_INCLUDE="-I\${srcdir}/../png"
   SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS png"
 fi
@@ -1465,19 +1986,7 @@ fi
 JPEG_INCLUDE=
 if test "$wxUSE_LIBJPEG" = "yes" ; then
   AC_DEFINE(wxUSE_LIBJPEG)
 JPEG_INCLUDE=
 if test "$wxUSE_LIBJPEG" = "yes" ; then
   AC_DEFINE(wxUSE_LIBJPEG)
-  EXTRA_VPATH="$EXTRA_VPATH:\${srcdir}/../jpeg"
   JPEG_INCLUDE="-I\${srcdir}/../jpeg"
   JPEG_INCLUDE="-I\${srcdir}/../jpeg"
-  LTLIBOBJS="$LTLIBOBJS \
-             jcomapi.lo jutils.lo jerror.lo jmemmgr.lo jmemnobs.lo \
-             jcapimin.lo jcapistd.lo jctrans.lo jcparam.lo jdatadst.lo \
-             jcinit.lo jcmaster.lo jcmarker.lo jcmainct.lo jcprepct.lo \
-             jccoefct.lo jccolor.lo jcsample.lo jchuff.lo jcphuff.lo \
-             jcdctmgr.lo jfdctfst.lo jfdctflt.lo jfdctint.lo \
-             jdapimin.lo jdapistd.lo jdtrans.lo jdatasrc.lo \
-             jdmaster.lo jdinput.lo jdmarker.lo jdhuff.lo jdphuff.lo \
-             jdmainct.lo jdcoefct.lo jdpostct.lo jddctmgr.lo jidctfst.lo \
-             jidctflt.lo jidctint.lo jidctred.lo jdsample.lo jdcolor.lo \
-             jquant1.lo jquant2.lo jdmerge.lo"
 fi
 
 if test "$wxUSE_OPENGL" = "yes"; then
 fi
 
 if test "$wxUSE_OPENGL" = "yes"; then
@@ -1514,13 +2023,6 @@ if test "$wxUSE_GUI" = "yes"; then
   dnl    need the dcs, pens, brushes, ...), this just can't be done now
   dnl 4. menu stuff: wxMenu, wxMenuBar, wxMenuItem
   dnl 5. misc stuff: timers, settings, message box
   dnl    need the dcs, pens, brushes, ...), this just can't be done now
   dnl 4. menu stuff: wxMenu, wxMenuBar, wxMenuItem
   dnl 5. misc stuff: timers, settings, message box
-  dnl   LTLIBOBJS="$LTLIBOBJS \
-  dnl main.lo app.lo event.lo wincmn.lo window.lo control.lo framecmn.lo frame.lo dialog.lo panelg.lo \
-  dnl button.lo stattext.lo textctrl.lo \
-  dnl bitmap.lo brush.lo colour.lo cursor.lo data.lo dc.lo dcbase.lo dcclient.lo \
-  dnl dcmemory.lo dcscreen.lo font.lo gdicmn.lo gdiobj.lo icon.lo palette.lo pen.lo region.lo \
-  dnl menu.lo \
-  dnl settings.lo timer.lo msgdlgg.lo"
 else
   AC_DEFINE(wxUSE_NOGUI)
 fi
 else
   AC_DEFINE(wxUSE_NOGUI)
 fi
@@ -1685,9 +2187,13 @@ if test "$wxUSE_DYNLIB_CLASS" = "yes"; then
                     [AC_DEFINE(HAVE_SHL_LOAD) HAVE_DL_FUNCS=1 HAVE_SHL_FUNCS=1])
 
     if test "$HAVE_DL_FUNCS" = 0; then
                     [AC_DEFINE(HAVE_SHL_LOAD) HAVE_DL_FUNCS=1 HAVE_SHL_FUNCS=1])
 
     if test "$HAVE_DL_FUNCS" = 0; then
-        AC_MSG_WARN("--with-dynlib and --with-odbc will be disabled due to missing shared library support")
-        wxUSE_ODBC=no
-        wxUSE_DYNLIB_CLASS=no
+        if test "$USE_UNIX" = 1; then 
+            AC_MSG_WARN("--with-dynlib and --with-odbc will be disabled due to missing shared library support")
+            wxUSE_ODBC=no
+            wxUSE_DYNLIB_CLASS=no
+       else
+           AC_MSG_WARN("Cannot check dynlib requirements on non-Unix platforms. dynlib remains enabled.")
+       fi    
     fi
 fi
 
     fi
 fi
 
@@ -1718,8 +2224,6 @@ dnl ----------------------------------------------------------------
 IODBC_C_SRC=""
 if test "$wxUSE_ODBC" = "yes" ; then
   AC_DEFINE(wxUSE_ODBC)
 IODBC_C_SRC=""
 if test "$wxUSE_ODBC" = "yes" ; then
   AC_DEFINE(wxUSE_ODBC)
-  EXTRA_VPATH="$EXTRA_VPATH:\$(srcdir)/../iodbc"
-  LTLIBOBJS="$LTLIBOBJS catalog.lo connect.lo dlf.lo dlproc.lo execute.lo fetch.lo hdbc.lo henv.lo herr.lo hstmt.lo info.lo itrace.lo misc.lo prepare.lo result.lo"
   SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS db"
 fi
 
   SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS db"
 fi
 
@@ -2050,6 +2554,10 @@ dnl all the libraries needed to link wxWindows programs (when the library is not
 dnl yet installed)
 LIBS="\${top_builddir}/src/${TOOLKIT_DIR}/${WX_LIBRARY_NAME} $EXTRA_LIBS"
 
 dnl yet installed)
 LIBS="\${top_builddir}/src/${TOOLKIT_DIR}/${WX_LIBRARY_NAME} $EXTRA_LIBS"
 
+dnl all the libraries needed to link wxWindows programs when using the
+dnl makefile system without libtool
+LD_LIBS="\${top_builddir}/lib/${WX_LIBRARY_NAME_STATIC} $EXTRA_LIBS"
+
 dnl all -I options we must pass to the compiler
 INCLUDES="-I. -I\${top_builddir}/include -I\${top_srcdir}/include $ZLIB_INCLUDE $PNG_INCLUDE $JPEG_INCLUDE $TOOLKIT_INCLUDE"
 
 dnl all -I options we must pass to the compiler
 INCLUDES="-I. -I\${top_builddir}/include -I\${top_srcdir}/include $ZLIB_INCLUDE $PNG_INCLUDE $JPEG_INCLUDE $TOOLKIT_INCLUDE"
 
@@ -2074,15 +2582,9 @@ if test "$wxUSE_GUI" = "yes"; then
     dnl TODO some samples are never built so far:
     dnl      mfc, nativdlg, oleauto, ownerdrw, proplist
     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS bombs controls dialogs drawing dynamic \
     dnl TODO some samples are never built so far:
     dnl      mfc, nativdlg, oleauto, ownerdrw, proplist
     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS bombs controls dialogs drawing dynamic \
-                     forty fractal image richedit wxpoem"
+                     forty fractal image wxpoem"
 fi
 
 fi
 
-dnl for convenience, sort the files to build in alphabetical order
-dnl
-dnl another shell command to do it which might be faster but is less clear:
-dnl  LTLIBOBJS="`for obj in $LTLIBOBJS; do echo $obj; done | sort | sed 's@^@ @'`"
-LTLIBOBJS="`echo $LTLIBOBJS | tr -s ' ' | tr ' ' '\n' | sort | tr '\n' ' '`"
-
 dnl for convenience, sort the samples in alphabetical order
 dnl
 dnl FIXME For some mysterious reasons, sometimes the directories are duplicated
 dnl for convenience, sort the samples in alphabetical order
 dnl
 dnl FIXME For some mysterious reasons, sometimes the directories are duplicated
@@ -2094,11 +2596,19 @@ AC_SUBST(WX_MAJOR_VERSION_NUMBER)
 AC_SUBST(WX_MINOR_VERSION_NUMBER)
 AC_SUBST(WX_RELEASE_NUMBER)
 AC_SUBST(WX_LIBRARY_NAME)
 AC_SUBST(WX_MINOR_VERSION_NUMBER)
 AC_SUBST(WX_RELEASE_NUMBER)
 AC_SUBST(WX_LIBRARY_NAME)
+AC_SUBST(WX_LIBRARY_NAME_STATIC)
+AC_SUBST(WX_LIBRARY_NAME_SHARED)
 AC_SUBST(WX_LIBRARY)
 AC_SUBST(WX_LIBRARY)
+AC_SUBST(WX_TARGET_LIBRARY)
+AC_SUBST(WX_LIBRARY_LINK1)
+AC_SUBST(WX_LIBRARY_LINK2)
+AC_SUBST(WX_LIBRARY_LINK3)
 
 
-dnl suppress libtool's informational messages - they duplicate its command line
-LIBTOOL="$LIBTOOL --silent"
-AC_SUBST(LIBTOOL)
+dnl are we supposed to create the links?
+AC_SUBST(WX_CREATE_LINKS)
+
+AC_SUBST(SHARED_LD)
+AC_SUBST(PIC_FLAG)
 
 dnl debugging options
 AC_SUBST(WXDEBUG_DEFINE)
 
 dnl debugging options
 AC_SUBST(WXDEBUG_DEFINE)
@@ -2109,9 +2619,11 @@ AC_SUBST(TOOLKIT_DEF)
 AC_SUBST(TOOLKIT_DIR)
 AC_SUBST(TOOLKIT_INCLUDE)
 
 AC_SUBST(TOOLKIT_DIR)
 AC_SUBST(TOOLKIT_INCLUDE)
 
-dnl additional sources
-AC_SUBST(EXTRA_VPATH)
-AC_SUBST(LTLIBOBJS)
+dnl what to compile
+AC_SUBST(GUIOBJS)
+AC_SUBST(GUIHEADERS)
+AC_SUBST(COMMONOBJS)
+AC_SUBST(GENERICOBJS)
 
 dnl additional subdirectories where we will build
 AC_SUBST(SRC_SUBDIRS)
 
 dnl additional subdirectories where we will build
 AC_SUBST(SRC_SUBDIRS)
@@ -2124,106 +2636,25 @@ AC_SUBST(USER_SUBDIRS)
 dnl additional libraries
 AC_SUBST(EXTRA_LIBS)
 AC_SUBST(LIBS)
 dnl additional libraries
 AC_SUBST(EXTRA_LIBS)
 AC_SUBST(LIBS)
-
-dnl create the configuration header file from the template
-dnl
-dnl NB: automake can't work correctly if our header lives in a directory which
-dnl     is only determined at configure time, so we create it on the top-level
-dnl     and make a link to allow '#include "wx/setup.h"' to still work
-AM_CONFIG_HEADER(setup.h)
+AC_SUBST(LD_LIBS)
 
 dnl MAKE_SET will be replaced with "MAKE=..." or nothing if make sets MAKE
 dnl itself (this is macro is required if SUBDIRS variable is used in Makefile.am
 dnl - and we do use it)
 AC_PROG_MAKE_SET
 
 
 dnl MAKE_SET will be replaced with "MAKE=..." or nothing if make sets MAKE
 dnl itself (this is macro is required if SUBDIRS variable is used in Makefile.am
 dnl - and we do use it)
 AC_PROG_MAKE_SET
 
+AC_CONFIG_HEADER(setup.h:setup.h.in)
+
+
 dnl create each of the files in the space separated list from the file.in
 dnl (the original file name may be overriden by appending another name after a
 dnl colon)
 AC_OUTPUT([
             wx-config
 dnl create each of the files in the space separated list from the file.in
 dnl (the original file name may be overriden by appending another name after a
 dnl colon)
 AC_OUTPUT([
             wx-config
+           src/make.env
+           src/makeprog.env
+           src/makelib.env
             Makefile
             Makefile
-            src/Makefile
-
-dnl just for testing, will remove soon (VZ)
-dnl             src/msw/Makefile
-dnl             include/Makefile include/wx/Makefile include/wx/generic/Makefile
-dnl             include/wx/msw/Makefile
-dnl             samples/Makefile samples/minimal/Makefile
-
-            src/gtk/Makefile
-            src/motif/Makefile
-            src/msw/Makefile
-            include/Makefile
-            include/wx/Makefile
-            include/wx/generic/Makefile
-            include/wx/gtk/Makefile
-            include/wx/motif/Makefile
-            include/wx/msw/Makefile
-            include/wx/protocol/Makefile
-            include/wx/unix/Makefile
-            include/wx/html/Makefile
-            misc/Makefile
-            misc/afm/Makefile
-            misc/gs_afm/Makefile
-            samples/Makefile
-            samples/bombs/Makefile
-            samples/caret/Makefile
-            samples/checklst/Makefile
-            samples/config/Makefile
-            samples/controls/Makefile
-            samples/db/Makefile
-            samples/dialogs/Makefile
-            samples/dnd/Makefile
-            samples/docview/Makefile
-            samples/docvwmdi/Makefile
-            samples/drawing/Makefile
-            samples/dynamic/Makefile
-            samples/forty/Makefile
-            samples/fractal/Makefile
-            samples/grid/Makefile
-            samples/help/Makefile
-            samples/image/Makefile
-            samples/internat/Makefile
-            samples/joytest/Makefile
-            samples/layout/Makefile
-            samples/listctrl/Makefile
-            samples/mdi/Makefile
-            samples/memcheck/Makefile
-            samples/mfc/Makefile
-            samples/minifram/Makefile
-            samples/minimal/Makefile
-            samples/nativdlg/Makefile
-            samples/notebook/Makefile
-            samples/oleauto/Makefile
-            samples/ownerdrw/Makefile
-            samples/png/Makefile
-            samples/printing/Makefile
-            samples/proplist/Makefile
-            samples/regtest/Makefile
-            samples/resource/Makefile
-            samples/richedit/Makefile
-            samples/sashtest/Makefile
-            samples/scroll/Makefile
-            samples/splitter/Makefile
-            samples/tab/Makefile
-            samples/taskbar/Makefile
-            samples/text/Makefile
-            samples/thread/Makefile
-            samples/toolbar/Makefile
-            samples/treectrl/Makefile
-            samples/typetest/Makefile
-            samples/validate/Makefile
-            samples/wxpoem/Makefile
-            samples/wxsocket/Makefile
-            samples/html/Makefile
-            samples/html/about/Makefile
-            samples/html/help/Makefile
-            samples/html/test/Makefile
-            samples/html/printing/Makefile
-            samples/html/widget/Makefile
-            samples/html/virtual/Makefile
-            samples/html/zip/Makefile
           ],
           [
             chmod +x wx-config
           ],
           [
             chmod +x wx-config