X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/24176f2c11bbed90bfc481d953efbe8fcdf3ab9c..70541533c8e108249a82fbe2bc05ccfb73bf028d:/configure.in diff --git a/configure.in b/configure.in index 38d4ad92f9..38b5e11961 100644 --- a/configure.in +++ b/configure.in @@ -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 ], + [ + #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 --------------------------------------------------------------------------- @@ -700,10 +718,12 @@ if test $DEBUG_CONFIGURE = 1; then DEFAULT_wxUSE_COLOURDLG=no DEFAULT_wxUSE_DIRDLG=no DEFAULT_wxUSE_FILEDLG=no + DEFAULT_wxUSE_FINDREPLDLG=no DEFAULT_wxUSE_FONTDLG=no 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 @@ -857,10 +877,12 @@ else DEFAULT_wxUSE_COLOURDLG=yes DEFAULT_wxUSE_DIRDLG=yes DEFAULT_wxUSE_FILEDLG=yes + DEFAULT_wxUSE_FINDREPLDLG=yes DEFAULT_wxUSE_FONTDLG=yes 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 @@ -1246,10 +1268,12 @@ WX_ARG_ENABLE(commondlg, [ --enable-commondlg use common dialogs (wxDirD WX_ARG_ENABLE(choicedlg, [ --enable-choicedlg use wxChoiceDialog], wxUSE_CHOICEDLG) WX_ARG_ENABLE(coldlg, [ --enable-coldlg use wxColourDialog], wxUSE_COLOURDLG) WX_ARG_ENABLE(filedlg, [ --enable-filedlg use wxFileDialog], wxUSE_FILEDLG) +WX_ARG_ENABLE(filedlg, [ --enable-finddlg use wxFindReplaceDialog], wxUSE_FINDREPLDLG) WX_ARG_ENABLE(fontdlg, [ --enable-fontdlg use wxFontDialog], wxUSE_FONTDLG) 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) @@ -1574,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 ---------------------------------------------------------------- @@ -1603,14 +1651,6 @@ if test "$wxUSE_GUI" = "yes"; then INCLUDE_SUBDIRS="$INCLUDE_SUBDIRS msw" - dnl VZ: my mingw32 doesn't define WINVER which means that __WIN95__ is - dnl not defined in wx/defs.h and all kinds of things break so I - dnl add it here - dnl - dnl if newer versions of mingw32 do define it, we should - dnl explicitly test for this - CXXFLAGS="${CXXFLAGS} -DWINVER=0x0400" - 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 -lcomctl32 -lctl3d32 -ladvapi32 -lwsock32" @@ -2143,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}" @@ -2168,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 @@ -2189,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}" @@ -2207,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" @@ -2222,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 @@ -2241,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" @@ -2258,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 @@ -2271,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}" @@ -2298,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" @@ -2319,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 ) @@ -2593,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="" + ]) ]) ]) @@ -3017,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 ], @@ -3061,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 @@ -3075,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" @@ -3086,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) @@ -3114,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} @@ -3217,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) @@ -3636,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( @@ -3650,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 @@ -3935,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) @@ -4025,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 @@ -4395,6 +4436,10 @@ if test "$wxUSE_FILEDLG" = "yes"; then AC_DEFINE(wxUSE_FILEDLG) fi +if test "$wxUSE_FINDREPLDLG" = "yes"; then + AC_DEFINE(wxUSE_FINDREPLDLG) +fi + if test "$wxUSE_FONTDLG" = "yes"; then AC_DEFINE(wxUSE_FONTDLG) fi @@ -4427,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) @@ -4459,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 --------------------------------------------------------------------------- @@ -4621,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)