]> git.saurik.com Git - wxWidgets.git/blobdiff - configure.in
reduce flicker in header window when deleting items and let space select items even...
[wxWidgets.git] / configure.in
index f0f79f626e48313e54d8114e8e408affbb46f137..38b5e1196155c2b91dfa0979c36470cd7a98bd65 100644 (file)
@@ -587,9 +587,27 @@ if test "$USE_BEOS" = 1; then
     INCLUDE_SUBDIRS="$INCLUDE_SUBDIRS be"
 fi
 
-dnl Linux: test for libc5/glibc2: glibc2 has gettext() included
+dnl check for glibc version
 if test "$USE_LINUX" = 1; then
-  AC_CHECK_LIB(c,gettext,AC_DEFINE(wxHAVE_GLIBC2))
+    AC_CACHE_CHECK([for glibc 2.1 or later], wx_lib_glibc21,
+        AC_TRY_COMPILE([#include <features.h>],
+            [
+                #if !__GLIBC_PREREQ(2, 1)
+                    #error not glibc2.1
+                #endif
+            ],
+            [
+                wx_lib_glibc21=yes
+            ],
+            [
+                wx_lib_glibc21=no
+            ]
+        )
+    )
+
+    if test "$wx_lib_glibc21" = "yes"; then
+        AC_DEFINE(wxHAVE_GLIBC2)
+    fi
 fi
 
 dnl ---------------------------------------------------------------------------
@@ -705,6 +723,7 @@ if test $DEBUG_CONFIGURE = 1; then
   DEFAULT_wxUSE_MSGDLG=no
   DEFAULT_wxUSE_NUMBERDLG=no
   DEFAULT_wxUSE_TEXTDLG=no
+  DEFAULT_wxUSE_SPLASH=no
   DEFAULT_wxUSE_STARTUP_TIPS=no
   DEFAULT_wxUSE_PROGRESSDLG=no
   DEFAULT_wxUSE_WIZARDDLG=no
@@ -863,6 +882,7 @@ else
   DEFAULT_wxUSE_MSGDLG=yes
   DEFAULT_wxUSE_NUMBERDLG=yes
   DEFAULT_wxUSE_TEXTDLG=yes
+  DEFAULT_wxUSE_SPLASH=yes
   DEFAULT_wxUSE_STARTUP_TIPS=yes
   DEFAULT_wxUSE_PROGRESSDLG=yes
   DEFAULT_wxUSE_WIZARDDLG=yes
@@ -1253,6 +1273,7 @@ WX_ARG_ENABLE(fontdlg,     [  --enable-fontdlg        use wxFontDialog], wxUSE_F
 WX_ARG_ENABLE(dirdlg,      [  --enable-dirdlg         use wxDirDialog], wxUSE_DIRDLG)
 WX_ARG_ENABLE(msgdlg,      [  --enable-msgdlg         use wxMessageDialog], wxUSE_MSGDLG)
 WX_ARG_ENABLE(numberdlg,   [  --enable-numberdlg      use wxNumberEntryDialog], wxUSE_NUMBERDLG)
+WX_ARG_ENABLE(splash,      [  --enable-splash         use wxSplashScreen], wxUSE_SPLASH)
 WX_ARG_ENABLE(textdlg,     [  --enable-textdlg        use wxTextDialog], wxUSE_TEXTDLG)
 WX_ARG_ENABLE(tipdlg,      [  --enable-tipdlg         use startup tips], wxUSE_STARTUP_TIPS)
 WX_ARG_ENABLE(progressdlg, [  --enable-progressdlg    use wxProgressDialog], wxUSE_PROGRESSDLG)
@@ -1577,6 +1598,30 @@ dnl ------------------------------------------------------------------------
 dnl flush the cache because checking for libraries below might abort
 AC_CACHE_SAVE
 
+dnl ------------------------------------------------------------------------
+dnl Check for regex libraries
+dnl ------------------------------------------------------------------------
+
+REGEX_INCLUDE=
+if test "$wxUSE_REGEX" != "no"; then
+    dnl according to Unix 98 specs, regcomp() is in libc but I believe that
+    dnl on some old systems it may be in libregex - check for it too?
+    AC_CHECK_HEADER(regex.h, AC_CHECK_FUNCS(regcomp))
+
+    if test "x$ac_cv_func_regcomp" != "xyes"; then
+        dnl we were asked to use the system version of regex lib only but it
+        dnl is not available
+        if test "$wxUSE_REGEX" = "sys"; then
+            AC_MSG_ERROR([system regex library not found! Use --with-regex to use the built-in regex library.])
+        fi
+
+        dnl fallback to the built in code
+        REGEX_INCLUDE="-I\${top_srcdir}/src/regex"
+    fi
+
+    AC_DEFINE(wxUSE_REGEX)
+fi
+
 dnl ----------------------------------------------------------------
 dnl search for toolkit (widget sets)
 dnl ----------------------------------------------------------------
@@ -2138,8 +2183,15 @@ WX_LIBRARY_NAME_STATIC="lib${WX_LIBRARY}.a"
 WX_LIBRARY_NAME_STATIC_GL="lib${WX_LIBRARY}_gl.a"
 
 dnl the name of the shared library
-WX_LIBRARY_NAME_SHARED="lib${WX_LIBRARY}-${WX_RELEASE}.so.${WX_CURRENT}.${WX_REVISION}.${WX_AGE}"
-WX_LIBRARY_NAME_SHARED_GL="lib${WX_LIBRARY}_gl-${WX_RELEASE}.so.${WX_CURRENT}.${WX_REVISION}.${WX_AGE}"
+case "${host}" in
+  *-*-mingw32* )
+    WX_LIBRARY_NAME_SHARED="wx${WX_MAJOR_VERSION_NUMBER}${WX_MINOR_VERSION_NUMBER}_${WX_RELEASE_NUMBER}.dll"
+  ;;
+  * )
+    WX_LIBRARY_NAME_SHARED="lib${WX_LIBRARY}-${WX_RELEASE}.so.${WX_CURRENT}.${WX_REVISION}.${WX_AGE}"
+    WX_LIBRARY_NAME_SHARED_GL="lib${WX_LIBRARY}_gl-${WX_RELEASE}.so.${WX_CURRENT}.${WX_REVISION}.${WX_AGE}"
+  ;;
+esac
 
 dnl the name of the links to the shared library
 WX_LIBRARY_LINK1="lib${WX_LIBRARY}-${WX_RELEASE}.so.${WX_CURRENT}"
@@ -2163,7 +2215,7 @@ if test "$wxUSE_SHARED" = "yes"; then
     case "${host}" in
       *-hp-hpux* )
         if test "$GCC" = yes ; then
-            SHARED_LD="${CC} -shared -fPIC -o"
+            SHARED_LD="${CXX} -shared -fPIC -o"
             PIC_FLAG="-fPIC"
         else
             dnl no idea why it wants it, but it does
@@ -2184,7 +2236,7 @@ if test "$wxUSE_SHARED" = "yes"; then
 
       dnl in fact, these settings are for any platform using gcc
       *-*-linux* )
-        SHARED_LD="${CC} -shared -o"
+        SHARED_LD="${CXX} -shared -o"
         PIC_FLAG="-fPIC"
         if test "$wxUSE_BURNT_NAME" = "yes" ; then
             BURNT_LIBRARY_NAME="-Wl,-soname,${WX_LIBRARY_LINK1}"
@@ -2202,7 +2254,7 @@ if test "$wxUSE_SHARED" = "yes"; then
       ;;
       *-*-irix5* | *-*-irix6* )
         if test "$GCC" = yes ; then
-           SHARED_LD="${CC} -shared -o"
+           SHARED_LD="${CXX} -shared -o"
            PIC_FLAG="-fPIC"
         else
            SHARED_LD="${CXX} -shared -o"
@@ -2217,7 +2269,7 @@ if test "$wxUSE_SHARED" = "yes"; then
       ;;
       *-*-solaris2* )
         if test "$GCC" = yes ; then
-            SHARED_LD="${CC} -shared -o"
+            SHARED_LD="${CXX} -shared -o"
             PIC_FLAG="-fPIC"
 
             dnl newer versions of gcc need -isystem to compile X headers on
@@ -2236,13 +2288,13 @@ if test "$wxUSE_SHARED" = "yes"; then
         fi
       ;;
       *-*-sunos4* )
-        SHARED_LD="${CC} -shared -o"
+        SHARED_LD="${CXX} -shared -o"
         PIC_FLAG="-fPIC"
         WX_ALL_INSTALLED="CREATE_INSTALLED_LINKS"
         WX_ALL="CREATE_LINKS"
       ;;
       *-*-freebsd* | *-*-openbsd* | *-*-netbsd* )
-        SHARED_LD="${CC} -shared -o"
+        SHARED_LD="${CXX} -shared -o"
         PIC_FLAG="-fPIC"
         if test "$wxUSE_OPENGL" = "yes"; then
             WX_ALL_INSTALLED="CREATE_INSTALLED_LINKS CREATE_INSTALLED_LINKS_GL"
@@ -2253,9 +2305,8 @@ if test "$wxUSE_SHARED" = "yes"; then
         fi
       ;;
       *-*-darwin* )
-       TOOLKIT_DEF="${TOOLKIT_DEF} -D__UNIX__ -D__DARWIN__ -D__POWERPC__"
-       CFLAGS="${CFLAGS} -fno-common"
-       CPPFLAGS="${CPPFLAGS} -fno-common"
+        TOOLKIT_DEF="${TOOLKIT_DEF} -D__UNIX__ -D__DARWIN__ -D__POWERPC__"
+        CPPFLAGS="${CPPFLAGS} -fno-common"
         SHARED_LD="${CXX} -dynamiclib -o"
         PIC_FLAG="-dynamic -fPIC"
         if test "$wxUSE_OPENGL" = "yes"; then
@@ -2266,9 +2317,9 @@ if test "$wxUSE_SHARED" = "yes"; then
             WX_ALL="CREATE_LINKS"
         fi
         dnl add the resources target for wxMac
-       if test "$wxUSE_MAC" = 1 ; then
-               WX_ALL="${WX_ALL} ./lib/lib${WX_LIBRARY}-${WX_RELEASE}.r"
-       fi
+        if test "$wxUSE_MAC" = 1 ; then
+                WX_ALL="${WX_ALL} ./lib/lib${WX_LIBRARY}-${WX_RELEASE}.r"
+        fi
         dnl the name of the shared library
         WX_LIBRARY_NAME_SHARED="lib${WX_LIBRARY}-${WX_RELEASE}.dylib.${WX_CURRENT}.${WX_REVISION}.${WX_AGE}"
         WX_LIBRARY_NAME_SHARED_GL="lib${WX_LIBRARY}_gl-${WX_RELEASE}.dylib.${WX_CURRENT}.${WX_REVISION}.${WX_AGE}"
@@ -2293,7 +2344,7 @@ if test "$wxUSE_SHARED" = "yes"; then
         WX_ALL="CREATE_LINKS"
       ;;
       *-*-sysv5* )
-        SHARED_LD="${CC} -shared -o"
+        SHARED_LD="${CXX} -shared -o"
         PIC_FLAG="-fPIC"
         WX_ALL_INSTALLED="CREATE_INSTALLED_LINKS"
         WX_ALL="CREATE_LINKS"
@@ -2314,14 +2365,17 @@ if test "$wxUSE_SHARED" = "yes"; then
         fi
       ;;
       *-*-mingw32* )
-        dnl only static for now
-        WX_TARGET_LIBRARY="${WX_LIBRARY_NAME_STATIC}"
-        WX_TARGET_LIBRARY_GL="${WX_LIBRARY_NAME_STATIC_GL}"
+        WX_LIBRARY_NAME_STATIC="lib/libwx${WX_MAJOR_VERSION_NUMBER}${WX_MINOR_VERSION_NUMBER}_${WX_RELEASE_NUMBER}.a"
+        SHARED_LD="${CC} -shared -Wl,--out-implib,${WX_LIBRARY_NAME_STATIC} -o"
+        TOOLKIT_DEF="${TOOLKIT_DEF} -DWXUSINGDLL=1"
+        WXMSW_DLL_DEFINES="-UWXUSINGDLL -DWXMAKINGDLL=1 -D_DLL=1 -D_WINDLL=1"
+        WX_TARGET_LIBRARY="${WX_LIBRARY_NAME_SHARED}"
+        WX_TARGET_LIBRARY_GL="${WX_LIBRARY_NAME_SHARED_GL}"
         if test "$wxUSE_OPENGL" = "yes"; then
             WX_ALL_INSTALLED="preinstall_gl"
-            WX_ALL="${WX_LIBRARY_NAME_STATIC} ${WX_LIBRARY_NAME_STATIC_GL}"
+            WX_ALL="${WX_LIBRARY_NAME_SHARED} ${WX_LIBRARY_NAME_SHARED_GL}"
         else
-            WX_ALL="${WX_LIBRARY_NAME_STATIC}"
+            WX_ALL="${WX_LIBRARY_NAME_SHARED}"
         fi
       ;;
       *-pc-os2_emx )
@@ -2588,6 +2642,11 @@ AC_CHECK_LIB(c, wcslen, [
             AC_CHECK_LIB(w, wcslen, [
                 AC_DEFINE(HAVE_WCSLEN)
                 WCHAR_LINK="-lw"
+            ], [
+                AC_CHECK_LIB(msvcrt, wcslen, [
+                    AC_DEFINE(HAVE_WCSLEN)
+                    WCHAR_LINK=""
+                ])
             ])
         ])
 
@@ -3012,6 +3071,14 @@ if test "$wxUSE_THREADS" = "yes" ; then
   dnl defined, we do it by directly assigned
   dnl PTHREAD_MUTEX_RECURSIVE_MUTEX_INITIALIZER_NP to attr
 
+  dnl we need _GNU_SOURCE to get PTHREAD_MUTEX_RECURSIVE with glibc 2.1+
+  dnl (strictly speaking we only need _XOPEN_SOURCE=500 but just defining
+  dnl this disables _BSD_SOURCE which breaks libtiff compilation, so it is
+  dnl simpler to just define _GNU_SOURCE to get everything)
+  if test "x$wx_lib_glibc21" = "xyes"; then
+      CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE"
+  fi
+
   AC_CACHE_CHECK([for pthread_mutexattr_t], wx_cv_type_pthread_mutexattr_t,
   [
     AC_TRY_COMPILE([#include <pthread.h>],
@@ -3056,7 +3123,7 @@ if test "$wxUSE_THREADS" = "yes" ; then
   dnl building MT programs under Solaris with the native compiler requires -mt
   dnl switch
   if test "$USE_SOLARIS" = "yes" -a "$GCC" != "yes"; then
-      CFLAGS="${CFLAGS} -mt"
+      CPPFLAGS="${CFLAGS} -mt"
       CXXFLAGS="${CXXFLAGS} -mt"
       LDFLAGS="${LDFLAGS} -mt"
   fi
@@ -3070,8 +3137,7 @@ if test "$wxUSE_THREADS" = "yes"; then
 
   dnl must define _REENTRANT for multithreaded code except for Darwin/Mac OS X
   if test "$USE_DARWIN" != 1; then
-    CFLAGS="${CFLAGS} -D_REENTRANT"
-    CXXFLAGS="${CXXFLAGS} -D_REENTRANT"
+    CPPFLAGS="${CPPFLAGS} -D_REENTRANT"
   fi
 
   SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS thread"
@@ -3081,8 +3147,7 @@ else
   if test "$ac_cv_func_strtok_r" = "yes"; then
     AC_MSG_CHECKING(if -D_REENTRANT is needed)
     if test "$NEEDS_D_REENTRANT_FOR_R_FUNCS" = 1; then
-        CFLAGS="${CFLAGS} -D_REENTRANT"
-        CXXFLAGS="${CXXFLAGS} -D_REENTRANT"
+        CPPFLAGS="${CPPFLAGS} -D_REENTRANT"
         AC_MSG_RESULT(yes)
     else
         AC_MSG_RESULT(no)
@@ -3109,8 +3174,8 @@ fi
 
 if test "$wxUSE_MAC" = 1 ; then
   TOOLKIT_DEF="${TOOLKIT_DEF} -DTARGET_CARBON"
-  CFLAGS="${CFLAGS} -fpascal-strings"
-  CPPFLAGS="${CPPFLAGS} -cpp-precomp -fpascal-strings"
+  CPPFLAGS="${CPPFLAGS} -fpascal-strings"
+  CXXFLAGS="${CXXFLAGS} -cpp-precomp"
   AC_CHECK_PROG(REZ, Rez, Rez, /Developer/Tools/Rez)
   AC_CHECK_PROG(DEREZ, Derez, Derez, /Developer/Tools/Derez)
   RESCOMP=${REZ}
@@ -3212,26 +3277,6 @@ dnl ---------------------------------------------------------------------------
 dnl Optional libraries
 dnl ---------------------------------------------------------------------------
 
-REGEX_INCLUDE=
-if test "$wxUSE_REGEX" != "no"; then
-    dnl according to Unix 98 specs, regcomp() is in libc but I believe that
-    dnl on some old systems it may be in libregex - check for it too?
-    AC_CHECK_HEADER(regex.h, AC_CHECK_FUNCS(regcomp))
-
-    if test "x$ac_cv_func_regcomp" != "xyes"; then
-        dnl we were asked to use the system version of regex lib only but it
-        dnl is not available
-        if test "$wxUSE_REGEX" = "sys"; then
-            AC_MSG_ERROR([system regex library not found! Use --with-regex to use the built-in regex library.])
-        fi
-
-        dnl fallback to the built in code
-        REGEX_INCLUDE="-I\${top_srcdir}/src/regex"
-    fi
-
-    AC_DEFINE(wxUSE_REGEX)
-fi
-
 ZLIB_INCLUDE=
 if test "$wxUSE_ZLIB" = "yes" -o "$wxUSE_ZLIB" = "sys" ; then
   AC_DEFINE(wxUSE_ZLIB)
@@ -3631,8 +3676,7 @@ if test "$wxUSE_DATETIME" = "yes"; then
                 ],
                 [
                     struct timeval tv;
-                    struct timezone tz;
-                    gettimeofday(&tv, &tz);
+                    gettimeofday(&tv, NULL);
                 ],
                 wx_cv_func_gettimeofday_has_2_args=yes,
                 AC_TRY_COMPILE(
@@ -3645,7 +3689,10 @@ if test "$wxUSE_DATETIME" = "yes"; then
                         gettimeofday(&tv);
                     ],
                     wx_cv_func_gettimeofday_has_2_args=no,
-                    wx_cv_func_gettimeofday_has_2_args=unknown
+                    [
+                        AC_MSG_WARN([failed to determine number of gettimeofday() arguments])
+                        wx_cv_func_gettimeofday_has_2_args=unknown
+                    ]
                 )
             )
             AC_LANG_RESTORE
@@ -3930,7 +3977,6 @@ if test "$wxUSE_HELP" = "yes"; then
 
     if test "$USE_WIN32" = 1; then
       if test "$wxUSE_MS_HTML_HELP" = "yes"; then
-        AC_DEFINE(wxUSE_MS_HTML_HELP)
         AC_CHECK_HEADER(htmlhelp.h, 
             [
                 AC_DEFINE(wxUSE_MS_HTML_HELP)
@@ -4020,7 +4066,7 @@ if test "$wxUSE_DRAG_AND_DROP" = "yes" ; then
                 ALL_OBJECTS="$ALL_OBJECTS \$(OLEOBJS)"
                 ALL_DEPFILES="$ALL_DEPFILES \$(OLEDEPS)"
                 CODE_GEN_FLAGS_CXX="$CODE_GEN_FLAGS_CXX -fvtable-thunks"
-                LIBS="$LIBS -lole32 -luuid"
+                LIBS="$LIBS -lrpcrt4 -loleaut32 -lole32 -luuid"
                 AC_DEFINE(wxUSE_OLE)
 
                 dnl metafiles need the ole code, right??  if not this
@@ -4426,6 +4472,10 @@ if test "$wxUSE_PROGRESSDLG" = "yes"; then
     fi
 fi
 
+if test "$wxUSE_SPLASH" = "yes"; then
+    AC_DEFINE(wxUSE_SPLASH)
+fi
+
 if test "$wxUSE_STARTUP_TIPS" = "yes"; then
     if test "$wxUSE_CONSTRAINTS" != "yes"; then
        AC_MSG_WARN(Startup tips requires constraints and won't be compiled without them)
@@ -4458,6 +4508,18 @@ fi
 
 AC_DEFINE_UNQUOTED(WXWIN_OS_DESCRIPTION, $OSINFO)
 
+dnl ---------------------------------------------------------------------------
+dnl define the variable containing the installation prefix (used in dcpsg.cpp)
+dnl ---------------------------------------------------------------------------
+
+if test "x$prefix" != "xNONE"; then
+    wxPREFIX=$prefix
+else
+    wxPREFIX=$ac_default_prefix
+fi
+
+AC_DEFINE_UNQUOTED(wxINSTALL_PREFIX, "$wxPREFIX")
+
 dnl ---------------------------------------------------------------------------
 dnl Output the makefiles and such from the results found above
 dnl ---------------------------------------------------------------------------
@@ -4620,6 +4682,7 @@ AC_SUBST(OPENGL_LIBS)
 AC_SUBST(EXTRADEFS)
 AC_SUBST(LIBS)
 AC_SUBST(LD_LIBS)
+AC_SUBST(WXMSW_DLL_DEFINES)
 
 dnl additional resurces settings
 AC_SUBST(RCINPUTSWITCH)