]> git.saurik.com Git - wxWidgets.git/blobdiff - configure.in
Initial/Best size fixes for wxRadioBox, wxSlider and wxStaticText on wxMSW
[wxWidgets.git] / configure.in
index 0b43af54ec0b531d47c880c73b8516f99666ac34..4466b4f8991cd5e0fe12fbb4f80b72195e6c9efc 100644 (file)
@@ -165,9 +165,8 @@ case "${host}" in
     fi
     DEFAULT_DEFAULT_wxUSE_GTK=1
   ;;
-  *-*-gnu* )
+  *-*-gnu* | *-*-k*bsd*-gnu )
     USE_GNU=1
-    AC_DEFINE(__GNU__)
     TMP=`uname -m`
     if test "x$TMP" = "xalpha"; then
       USE_ALPHA=1
@@ -295,7 +294,7 @@ case "${host}" in
     DEFAULT_DEFAULT_wxUSE_PM=1
     dnl "c++" wrapper is not always available, so always use plain gcc.
     CXX=gcc
-    LDFLAGS="$LDFLAGS -Zcrtdll -Zsysv-signals"
+    LDFLAGS="$LDFLAGS -Zcrtdll"
     dnl
     dnl Some special code that's automatically added by autoconf-2.57 for OS/2
     dnl and hopefully also by autoconf-2.58 and newer on all other platforms.
@@ -481,7 +480,6 @@ if test $DEBUG_CONFIGURE = 1; then
   DEFAULT_wxUSE_FS_ZIP=no
   DEFAULT_wxUSE_BUSYINFO=no
   DEFAULT_wxUSE_ZIPSTREAM=no
-  DEFAULT_wxUSE_GZSTREAM=no
   DEFAULT_wxUSE_VALIDATORS=no
 
   DEFAULT_wxUSE_ACCEL=no
@@ -664,7 +662,6 @@ else
   DEFAULT_wxUSE_FS_ZIP=yes
   DEFAULT_wxUSE_BUSYINFO=yes
   DEFAULT_wxUSE_ZIPSTREAM=yes
-  DEFAULT_wxUSE_GZSTREAM=yes
   DEFAULT_wxUSE_VALIDATORS=yes
 
   DEFAULT_wxUSE_ACCEL=yes
@@ -676,7 +673,7 @@ else
   DEFAULT_wxUSE_CHECKLST=yes
   DEFAULT_wxUSE_CHOICE=yes
   DEFAULT_wxUSE_COMBOBOX=yes
-  DEFAULT_wxUSE_DISPLAY=no
+  DEFAULT_wxUSE_DISPLAY=yes
   DEFAULT_wxUSE_GAUGE=yes
   DEFAULT_wxUSE_GRID=yes
   DEFAULT_wxUSE_IMAGLIST=yes
@@ -773,6 +770,7 @@ AC_ARG_WITH(x11,           [  --with-x11              use X11], [wxUSE_X11="$wit
 WX_ARG_ENABLE(nanox,       [  --enable-nanox          use NanoX], wxUSE_NANOX)
 
 WX_ARG_ENABLE(gtk2,        [  --enable-gtk2           use GTK+ 2.0 if available (EXPERIMENTAL)], wxUSE_GTK2)
+WX_ARG_ENABLE(gpe,         [  --enable-gpe            use GNOME PDA Environment features if possible], wxUSE_GPE)
 
 WX_ARG_SYS_WITH(libpng,    [  --with-libpng           use libpng (PNG image format)], wxUSE_LIBPNG)
 WX_ARG_SYS_WITH(libjpeg,   [  --with-libjpeg          use libjpeg (JPEG file format)], wxUSE_LIBJPEG)
@@ -799,6 +797,9 @@ WX_ARG_ENABLE(shared,      [  --enable-shared         create shared library code
 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(stl,         [  --enable-stl            use STL for containers], wxUSE_STL)
+if test "$USE_OS2" = "1"; then
+    WX_ARG_ENABLE(omf,     [  --enable-omf            use OMF object format], wxUSE_OMF)
+fi
 
 if test "$wxUSE_DEBUG" = "yes"; then
   DEFAULT_wxUSE_DEBUG_FLAG=yes
@@ -880,7 +881,6 @@ WX_ARG_ENABLE(unicode,       [  --enable-unicode        compile wxString with Un
 WX_ARG_ENABLE(sound,         [  --enable-sound          use wxSound class], wxUSE_SOUND)
 WX_ARG_ENABLE(wxprintfv,     [  --enable-wxprintfv      use wxWindows implementation of vprintf()], wxUSE_EXPERIMENTAL_PRINTF)
 WX_ARG_ENABLE(zipstream,     [  --enable-zipstream      use wxZipInputStream], wxUSE_ZIPSTREAM)
-WX_ARG_ENABLE(gzstream,      [  --enable-gzstream       use wxGzipInputStream], wxUSE_GZSTREAM)
 
 WX_ARG_ENABLE(url,           [  --enable-url            use wxURL class], wxUSE_URL)
 WX_ARG_ENABLE(protocol,      [  --enable-protocol       use wxProtocol class], wxUSE_PROTOCOL)
@@ -1498,7 +1498,7 @@ case "${host}" in
           dnl Include resources for the "native" port (wxPM).
           RESPROGRAMOBJ="\${top_srcdir}/include/wx/os2/wx.res"
       fi
-      AC_CACHE_CHECK([for gcc 3 or later], wx_cv_gcc3,[
+      AC_CACHE_CHECK([for gcc version], wx_cv_gccversion,[
           AC_TRY_COMPILE([],
               [
                   #if (__GNUC__ < 3)
@@ -1506,17 +1506,38 @@ case "${host}" in
                   #endif
               ],
               [
-                  wx_cv_gcc3=yes
+                  AC_TRY_COMPILE([],
+                      [
+                          #if (__GNUC__==3) && ((__GNUC_MINOR__ < 2) || ((__GNUC_MINOR__==2) && (__GNUC_PATCHLEVEL__<2)))
+                              #error intermediate gcc
+                          #endif
+                      ],
+                      [
+                         wx_cv_gccversion=Innotek
+                      ],
+                      [
+                         wx_cv_gccversion=3
+                      ]
+                  )
               ],
               [
-                  wx_cv_gcc3=no
+                  wx_cv_gccversion=2
               ]
           )
       ])
-      if test "$wx_cv_gcc3" = "no"; then
+      if test "$wx_cv_gccversion" = "2"; then
           LIBS="$LIBS -lstdcpp"
+          LDFLAGS="$LDFLAGS -Zsysv-signals"
       else
-          LIBS="$LIBS -lstdcxx"
+          if test "$wx_cv_gccversion" = "3"; then
+              LIBS="$LIBS -lstdcxx"
+              LDFLAGS="$LDFLAGS -Zsysv-signals"
+          else
+              LIBS="$LIBS -lstdc++"
+          fi
+      fi
+      if test "$wxUSE_OMF" = "yes"; then
+        LDFLAGS="$LDFLAGS -Zlinker /PMTYPE:PM -Zlinker /EXEPACK"
       fi
       dnl (end of OS/2-only piece)
   ;;
@@ -1845,6 +1866,8 @@ SEARCH_INCLUDE="\
     /usr/include/qt           \
     /usr/local/include/qt     \
                               \
+    /usr/local/arm/3.3.2/include     \
+                              \
     /usr/include/windows      \
     /usr/include/wine         \
     /usr/local/include/wine   \
@@ -2087,7 +2110,7 @@ if test "$wxUSE_LIBPNG" != "no" ; then
             AC_CHECK_HEADER(png.h)
 
             if test "$ac_cv_header_png_h" = "yes"; then
-                AC_CHECK_LIB(png, png_check_sig, PNG_LINK=" -lpng", , [-lz -lm])
+                AC_CHECK_LIB(png, png_check_sig, PNG_LINK=" -lpng -lz", , [-lz -lm])
             fi
 
             if test "x$PNG_LINK" = "x" ; then
@@ -2329,6 +2352,7 @@ if test "$wxUSE_GUI" = "yes"; then
     WXGTK12=
     WXGTK127=
     WXGTK20=
+    WXGPE=
 
     if test "$wxUSE_MSW" = 1 ; then
         TOOLKIT=MSW
@@ -2445,6 +2469,33 @@ equivalent variable and GTK+ is version 1.2.3 or above.
 
         dnl test for XIM support in libgdk
         AC_CHECK_LIB(gdk, gdk_im_open, AC_DEFINE(HAVE_XIM))
+        
+        
+        dnl test for external libxpm if we're configured to use it
+        if test "$wxUSE_GPE" = "yes"; then
+            AC_MSG_CHECKING(for gpewidget library)
+            WX_PATH_FIND_LIBRARIES($SEARCH_LIB,gpewidget)
+            if test "$ac_find_libraries" != "" ; then
+                WX_LINK_PATH_EXIST($ac_find_libraries,$GUI_TK_LIBRARY)
+                dnl -lgpewidget must be before all GTK libs and
+                dnl we guess its path from the prefix
+                GUI_TK_LIBRARY="-L${prefix}/lib -lgpewidget $GUI_TK_LIBRARY"
+                WXGPE=1
+                AC_MSG_RESULT(found at $ac_find_libraries)
+            else
+                AC_MSG_RESULT(not found)
+            fi
+
+            dnl AC_MSG_CHECKING(for gpe library)
+            dnl WX_PATH_FIND_LIBRARIES($SEARCH_LIB,gpe)
+            dnl if test "$ac_find_libraries" != "" ; then
+            dnl     WX_LINK_PATH_EXIST($ac_find_libraries,$GUI_TK_LIBRARY)
+            dnl     GUI_TK_LIBRARY="$GUI_TK_LIBRARY -lgpe"
+            dnl     AC_MSG_RESULT(found at $ac_find_libraries)
+            dnl else
+            dnl     AC_MSG_RESULT(not found)
+            dnl fi
+        fi
     fi
 
     if test "$wxUSE_MGL" = 1; then
@@ -2852,9 +2903,9 @@ equivalent variable and GTK+ is version 1.2.3 or above.
             AC_MSG_RESULT([none])
         fi
 
-        CPPFLAGS="$CPPFLAGS $CPPFLAGS_PASCAL -I\${top_srcdir}/src/mac/morefilex -I/Developer/Headers/FlatCarbon"
+        CPPFLAGS="$CPPFLAGS $CPPFLAGS_PASCAL -I\${top_srcdir}/src/mac/carbon/morefilex -I/Developer/Headers/FlatCarbon"
 
-        TOOLKIT_VPATH="\${top_srcdir}/src/mac${PATH_IFS}\${top_srcdir}/src/mac/morefilex"
+        TOOLKIT_VPATH="\${top_srcdir}/src/mac/carbon${PATH_IFS}\${top_srcdir}/src/mac/carbon/morefilex"
         TOOLKIT=MAC
         dnl we can't call this MAC_DIST or autoconf thinks its a macro
         GUIDIST=MACX_DIST
@@ -3021,9 +3072,13 @@ if test "$wxUSE_ZLIB" = "builtin" ; then
 fi
 
 dnl ---------------------------------------------------------------------------
-dnl Xinerama (for unix wxDisplay) - Brian Victor
+dnl wxDisplay Sanity checks
 dnl ---------------------------------------------------------------------------
+
 if test "$wxUSE_DISPLAY" = "yes"; then
+dnl ---------------------------------------------------------------------------
+dnl Xinerama (for unix ) - Brian Victor
+dnl ---------------------------------------------------------------------------
     if test "$wxUSE_UNIX" = "yes" -a "$wxUSE_MAC" != 1; then
         AC_MSG_CHECKING([for Xinerama])
         WX_PATH_FIND_LIBRARIES([$SEARCH_LIB],Xinerama)
@@ -3055,9 +3110,17 @@ if test "$wxUSE_DISPLAY" = "yes"; then
         
         else
             AC_MSG_RESULT([no])
-            AC_MSG_WARN("*** Xinerama not found; disabling wxDisplay")
+            AC_MSG_WARN([Xinerama not found; disabling wxDisplay])
             wxUSE_DISPLAY="no"
         fi
+    elif test "$wxUSE_MSW" = 1; then
+dnl ---------------------------------------------------------------------------
+dnl DirectDraw  / Multimon for MSW
+dnl ---------------------------------------------------------------------------
+        AC_CHECK_HEADERS([multimon.h ddraw.h], [], [
+            wxUSE_DISPLAY="no"
+            AC_MSG_WARN([ddraw.h or multimon.h not found; disabling wxDisplay])
+          ] )
     fi
 fi
 
@@ -3243,7 +3306,6 @@ dnl --- the marker for quick search, leave it here: SHARED_LIB_SETUP ---
 
 if test "$wxUSE_SHARED" = "yes"; then
     case "${host}" in
-      *-pc-os2_emx | *-pc-os2-emx | \
       *-pc-msdosdjgpp )
         dnl only static for now
         wxUSE_SHARED=no
@@ -3316,6 +3378,10 @@ EOF
         chmod +x change-install-names
       ;;
       
+      *-*-cygwin* | *-*-mingw32* )
+        TOOLCHAIN_DLL_DEFS="${TOOLCHAIN_DLL_DEFS} -DWXUSINGDLL=1"
+       ;;
+      
     esac
 
     dnl set target to shared if not explicitly chose static before
@@ -3522,6 +3588,11 @@ if test "$wx_cv_sizeof_wchar_t" != "0"; then
         AC_DEFINE(HAVE_WCSLEN)
     fi
 
+    dnl HP-UX aCC needs this define to find mbstrtowcs() &c
+    if test "$USE_HPUX" = 1 -a "x$GCC" != "xyes"; then
+        CPPFLAGS="$CPPFLAGS -D_INCLUDE__STDC_A1_SOURCE "
+    fi
+
     dnl try to use wcsrtombs instead of wcstombs which is buggy in old GNU
     dnl libc versions if possible
     AC_CHECK_FUNCS(wcsrtombs)
@@ -4050,6 +4121,10 @@ if test "$TOOLKIT" != "MSW" -a "$USE_OS2" != 1; then
                 if test "x$GCC" != "xyes"; then
                     dnl see http://docs.hp.com/hpux/onlinedocs/2213/threads.htm
                     flag="$flag -D_RWSTD_MULTI_THREAD"
+
+                    dnl we also need -lcma for user threads (-lpthread is for
+                    dnl kernel threads only) according to Ian Brown
+                    LIBS="$LIBS -lcma"
                 fi
                 ;;
             *solaris* | alpha*-osf*)
@@ -4256,6 +4331,10 @@ if test "$WXGTK127" = 1 ; then
   AC_DEFINE_UNQUOTED(__WXGTK127__,$WXGTK127)
 fi
 
+if test "$WXGPE" = 1 ; then
+  AC_DEFINE_UNQUOTED(__WXGPE__,$WXGPE)
+fi
+
 WXDEBUG=
 
 if test "$wxUSE_DEBUG_INFO" = "yes" ; then
@@ -4566,10 +4645,6 @@ if test "$wxUSE_ZIPSTREAM" = "yes"; then
   AC_DEFINE(wxUSE_ZIPSTREAM)
 fi
 
-if test "$wxUSE_GZSTREAM" = "yes"; then
-  AC_DEFINE(wxUSE_GZSTREAM)
-fi
-
 if test "$wxUSE_ON_FATAL_EXCEPTION" = "yes"; then
   AC_DEFINE(wxUSE_ON_FATAL_EXCEPTION)
 fi
@@ -4968,7 +5043,6 @@ if test "$wxUSE_GUI" = "yes"; then
 fi
 
 
-
 dnl ---------------------------------------------------------------------------
 dnl String stuff
 dnl ---------------------------------------------------------------------------
@@ -5168,11 +5242,14 @@ if test "$wxUSE_DRAG_AND_DROP" = "yes" ; then
 
     if test "$wxUSE_DRAG_AND_DROP" = "yes"; then
         AC_DEFINE(wxUSE_DRAG_AND_DROP)
-        SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS dnd"
     fi
 
 fi
 
+if test "$wxUSE_DRAG_AND_DROP" = "yes" -o "$wxUSE_CLIPBOARD" = "yes"; then
+    SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS dnd"
+fi
+
 if test "$wxUSE_SPLINES" = "yes" ; then
   AC_DEFINE(wxUSE_SPLINES)
 fi
@@ -5902,6 +5979,8 @@ AC_SUBST(TOOLKIT_VERSION)
 AC_SUBST(SAMPLES_RPATH_FLAG)
 AC_SUBST(SAMPLES_RPATH_POSTLINK)
 AC_SUBST(HOST_SUFFIX)
+AC_SUBST(CPPUNIT_CFLAGS)
+AC_SUBST(CPPUNIT_LIBS)
 
 AC_BAKEFILE
 
@@ -5918,6 +5997,24 @@ else
             CODE_GEN_FLAGS="-DNO_GCC_PRAGMA $CODE_GEN_FLAGS"
             CPPFLAGS="-DNO_GCC_PRAGMA $CPPFLAGS"
             ;;
+        *-*-mingw32* )
+            dnl MinGW GCC versions >= 3.2 have problems with
+            dnl static member of classes derived from templates
+            dnl in combination with #pragme interface/implementation
+            dnl (the test case uses 4 files)
+            if test "$wxUSE_STL" = "yes"; then
+               AC_MSG_CHECKING([If this MinGW version needs -DNO_GCC_PRAGMA])
+               AC_TRY_COMPILE([],
+                              [#if !(__GNUC__ == 3 && __GNUC_MINOR__ >= 2)
+                               #error "Not GCC 3.2 or greater"
+                               #endif
+                               ],
+                              [CODE_GEN_FLAGS="-DNO_GCC_PRAGMA $CODE_GEN_FLAGS"
+                               CPPFLAGS="-DNO_GCC_PRAGMA $CPPFLAGS"
+                               AC_MSG_RESULT([yes])],
+                              [AC_MSG_RESULT([no])])
+            fi
+            ;;
     esac
 fi
 
@@ -6114,6 +6211,8 @@ else dnl we build wxBase only
     dnl there are no wxBase programs in contrib nor demos
     SUBDIRS="samples utils"
 fi
+dnl Add tests to the list of subdirs if cppunit 1.8.0+ is detected
+AM_PATH_CPPUNIT(1.8.0, [SUBDIRS="$SUBDIRS tests"])
 
 for subdir in `echo $SUBDIRS`; do
     if test -d ${srcdir}/${subdir} ; then
@@ -6135,11 +6234,13 @@ for subdir in `echo $SUBDIRS`; do
             dnl wxBase
             if test ${subdir} = "samples"; then
                 makefiles="samples/Makefile.in samples/console/Makefile.in"
-            else dnl utils
+            elif test ${subdir} = "utils"; then
                 makefiles="utils/HelpGen/Makefile.in \
                            utils/HelpGen/src/Makefile.in \
                            utils/tex2rtf/Makefile.in \
                            utils/tex2rtf/src/Makefile.in"
+            else dnl assume that everything compiles for tests
+                makefiles=`(cd $srcdir ; find $subdir -name Makefile.in)`
             fi
         fi