X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/d643b80eb9e9d1792f282d147a93a6465ad085fc..ac9b5f98890276181638271f9691735b36f4db77:/configure.in diff --git a/configure.in b/configure.in index bdee6fdfda..1546cc42e2 100644 --- a/configure.in +++ b/configure.in @@ -47,15 +47,15 @@ dnl The resulting library name will be of the form: dnl libwx_$(TOOLKIT)-$(WX_RELEASE).so.$(WX_CURRENT).$(WX_REVISION).$(WX_AGE) WX_MAJOR_VERSION_NUMBER=2 -WX_MINOR_VERSION_NUMBER=3 -WX_RELEASE_NUMBER=4 +WX_MINOR_VERSION_NUMBER=5 +WX_RELEASE_NUMBER=0 WX_VERSION=$WX_MAJOR_VERSION_NUMBER.$WX_MINOR_VERSION_NUMBER.$WX_RELEASE_NUMBER WX_RELEASE=$WX_MAJOR_VERSION_NUMBER.$WX_MINOR_VERSION_NUMBER WX_MSW_VERSION=$WX_MAJOR_VERSION_NUMBER$WX_MINOR_VERSION_NUMBER$WX_RELEASE_NUMBER -WX_CURRENT=2 +WX_CURRENT=0 WX_REVISION=0 WX_AGE=0 @@ -99,7 +99,7 @@ NEEDS_D_REENTRANT_FOR_R_FUNCS=0 dnl the list of all available toolkits dnl dnl update NUM_TOOLKITS calculation below when adding a new toolkit here! -ALL_TOOLKITS="GTK MAC MGL MICROWIN MOTIF MSW PM WINE X11" +ALL_TOOLKITS="GTK MAC MGL MICROWIN MOTIF MSW PM X11" dnl NB: these wxUSE_XXX constants have value of 0 or 1 unlike all the other ones dnl which are either yes or no @@ -110,7 +110,6 @@ DEFAULT_wxUSE_MICROWIN=0 DEFAULT_wxUSE_MOTIF=0 DEFAULT_wxUSE_MSW=0 DEFAULT_wxUSE_PM=0 -DEFAULT_wxUSE_WINE=0 DEFAULT_wxUSE_X11=0 dnl these are the values which are really default for the given platform - @@ -123,7 +122,6 @@ DEFAULT_DEFAULT_wxUSE_MICROWIN=0 DEFAULT_DEFAULT_wxUSE_MOTIF=0 DEFAULT_DEFAULT_wxUSE_MSW=0 DEFAULT_DEFAULT_wxUSE_PM=0 -DEFAULT_DEFAULT_wxUSE_WINE=0 DEFAULT_DEFAULT_wxUSE_X11=0 PROGRAM_EXT= @@ -270,6 +268,7 @@ case "${host}" in AC_DEFINE(__BSD__) AC_DEFINE(__DARWIN__) AC_DEFINE(__POWERPC__) + AC_DEFINE(TARGET_CARBON) DEFAULT_DEFAULT_wxUSE_MAC=1 ;; @@ -686,7 +685,7 @@ WX_ARG_ENABLE(universal, [ --enable-universal use wxWindows GUI controls AC_ARG_WITH(gtk, [ --with-gtk use GTK+], [wxUSE_GTK="$withval" CACHE_GTK=1 TOOLKIT_GIVEN=1]) AC_ARG_WITH(motif, [ --with-motif use Motif/Lesstif], [wxUSE_MOTIF="$withval" CACHE_MOTIF=1 TOOLKIT_GIVEN=1]) AC_ARG_WITH(mac, [ --with-mac use Mac OS X], [wxUSE_MAC="$withval" TOOLKIT_GIVEN=1]) -AC_ARG_WITH(wine, [ --with-wine use WINE], [wxUSE_WINE="$withval" CACHE_WINE=1 TOOLKIT_GIVEN=1]) +AC_ARG_WITH(wine, [ --with-wine use Wine], [wxUSE_WINE="$withval" CACHE_WINE=1]) AC_ARG_WITH(msw, [ --with-msw use MS-Windows], [wxUSE_MSW="$withval" CACHE_MSW=1 TOOLKIT_GIVEN=1]) AC_ARG_WITH(pm, [ --with-pm use OS/2 Presentation Manager], [wxUSE_PM="$withval" CACHE_PM=1 TOOLKIT_GIVEN=1]) AC_ARG_WITH(mgl, [ --with-mgl use SciTech MGL], [wxUSE_MGL="$withval" wxUSE_UNIVERSAL="yes" CACHE_MGL=1 TOOLKIT_GIVEN=1]) @@ -741,7 +740,8 @@ WX_ARG_ENABLE(permissive, [ --enable-permissive compile code disregardin WX_ARG_ENABLE(no_deps, [ --enable-no_deps create code without dependency information], wxUSE_NO_DEPS) WX_ARG_ENABLE(compat20, [ --enable-compat20 enable wxWindows 2.0 compatibility], WXWIN_COMPATIBILITY_2) -WX_ARG_ENABLE(compat22, [ --disable-compat22 disable wxWindows 2.2 compatibility], WXWIN_COMPATIBILITY_2_2, disable) +WX_ARG_ENABLE(compat22, [ --enable-compat22 enable wxWindows 2.2 compatibility], WXWIN_COMPATIBILITY_2_2) +WX_ARG_ENABLE(compat24, [ --disable-compat24 disable wxWindows 2.4 compatibility], WXWIN_COMPATIBILITY_2_4, disable) AC_ARG_ENABLE(rpath, [ --enable-rpath=DIR output the rpath flag from wx-config], [wxRPATH_DIR="$enableval"]) @@ -1064,6 +1064,13 @@ dnl we have a default one AC_MSG_CHECKING(for toolkit) +# In Wine, we need to default to MSW, not GTK or MOTIF +if test "$wxUSE_WINE" = "yes"; then + DEFAULT_DEFAULT_wxUSE_GTK=0 + DEFAULT_DEFAULT_wxUSE_MOTIF=0 + DEFAULT_DEFAULT_wxUSE_MSW=1 +fi + if test "$wxUSE_GUI" = "yes"; then if test "$USE_BEOS" = 1; then @@ -1092,7 +1099,7 @@ if test "$wxUSE_GUI" = "yes"; then dnl we suppose that expr is available (maybe there is a better way to do dnl this? what about using ALL_TOOLKITS? TODO) NUM_TOOLKITS=`expr ${wxUSE_GTK:-0} + ${wxUSE_MOTIF:-0} + ${wxUSE_MAC:-0} \ - + ${wxUSE_WINE:-0} + ${wxUSE_MSW:-0} + ${wxUSE_MGL:-0} + ${wxUSE_MICROWIN:-0} + ${wxUSE_X11:-0}` + + ${wxUSE_MSW:-0} + ${wxUSE_MGL:-0} + ${wxUSE_MICROWIN:-0} + ${wxUSE_X11:-0}` dnl Allow wxUSE_PM only for OS/2 with EMX. case "${host}" in @@ -1150,6 +1157,17 @@ case "${host}" in ;; esac +dnl --------------------------------------------------------------------------- +dnl Wine is a virtual platform, we need to patch things up a bit +dnl --------------------------------------------------------------------------- +if test "$wxUSE_WINE" = "yes"; then + wants_win32=1 + dnl FIXME: we should do a better job of testing for these + CC=winegcc + CXX=wineg++ + RESCOMP=wrc +fi + dnl NB: The two tests bellow are *NOT* mutually exclusive! They should only dnl take effect on Cygwin/Mingw and not other platforms. if test "$wants_win32" = 1 ; then @@ -1697,41 +1715,56 @@ if test "$wxUSE_ZLIB" != "no" ; then AC_DEFINE(wxUSE_ZLIB) if test "$wxUSE_ZLIB" = "sys" -o "$wxUSE_ZLIB" = "yes" ; then - dnl we have troubles with ancient zlib versions (e.g. 1.0.4 is known - dnl to not work) and although I don't know which is the minimal - dnl required version it's safer to test for 1.1.4 as it fixes a - dnl security problem in 1.1.3 -- and hopefully nobody has anything - dnl more ancient (1.1.3 was released in July 1998) anyow - AC_CACHE_CHECK([for zlib.h >= 1.1.4], ac_cv_header_zlib_h, - AC_TRY_RUN( - [ - dnl zlib.h defines ZLIB_VERSION="x.y.z" - #include - #include + dnl don't test for zlib under Mac -- its verson there is 1.1.3 but we + dnl should still use it because hopefully (can someone confirm this?) + dnl Apple did fix the security problem in it and not using the system + dnl library results in a whole bunch of warnings when linking with + dnl Carbon framework + if test "$USE_DARWIN" = 1; then + system_zlib_h_ok="yes" + else + dnl we have troubles with ancient zlib versions (e.g. 1.0.4 is + dnl known to not work) and although I don't know which is + dnl the minimal required version it's safer to test for 1.1.4 as + dnl it fixes a security problem in 1.1.3 -- and hopefully nobody + dnl has anything more ancient (1.1.3 was released in July 1998) + dnl anyhow + AC_CACHE_CHECK([for zlib.h >= 1.1.4], ac_cv_header_zlib_h, + AC_TRY_RUN( + [ + dnl zlib.h defines ZLIB_VERSION="x.y.z" + #include + #include - dnl don't use the brackets as quotes, we need them - changequote(,) - int main() - { - FILE *f=fopen("conftestval", "w"); - if (!f) exit(1); - fprintf(f, "%s", - ZLIB_VERSION[0] == '1' && - (ZLIB_VERSION[2] > '1' || - (ZLIB_VERSION[2] == '1' && - ZLIB_VERSION[4] >= '4')) ? "yes" : "no"); - exit(0); - } - changequote([,]) - ], - ac_cv_header_zlib_h=`cat conftestval`, - ac_cv_header_zlib_h=no, - dnl cross-compiling: test if we have any zlib.h - AC_CHECK_HEADER(zlib.h) + dnl don't use the brackets as quotes, we need them + changequote(,) + int main() + { + FILE *f=fopen("conftestval", "w"); + if (!f) exit(1); + fprintf(f, "%s", + ZLIB_VERSION[0] == '1' && + (ZLIB_VERSION[2] > '1' || + (ZLIB_VERSION[2] == '1' && + ZLIB_VERSION[4] >= '4')) ? "yes" : "no"); + exit(0); + } + changequote([,]) + ], + ac_cv_header_zlib_h=`cat conftestval`, + ac_cv_header_zlib_h=no, + dnl cross-compiling: don't have an answer, try later + unset ac_cv_header_zlib_h + ) ) - ) + dnl If the test above did not come up with a value (e.g. cross + dnl compiling) then this should give a definitive answer + AC_CHECK_HEADER(zlib.h) - if test "$ac_cv_header_zlib_h" = "yes"; then + system_zlib_h_ok=$ac_cv_header_zlib_h + fi + + if test "$system_zlib_h_ok" = "yes"; then AC_CHECK_LIB(z, deflate, ZLIB_LINK=" -lz") fi @@ -1778,18 +1811,41 @@ if test "$wxUSE_LIBPNG" != "no" ; then if test "$wxUSE_MGL" != 1 ; then dnl Don't check for libpng when building wxMGL, libmgl contains it if test "$wxUSE_LIBPNG" = "sys" -o "$wxUSE_LIBPNG" = "yes" ; then - AC_CHECK_HEADER(png.h, - AC_CHECK_LIB(png, png_check_sig, - PNG_LINK=" -lpng", - , - [-lz -lm]) - ) + dnl libpng version 0.9 is known to not work, if an even newer + dnl version is required, just bump it up in the test below + AC_CACHE_CHECK([for png.h > 0.90], ac_cv_header_png_h, + AC_TRY_RUN( + [ + dnl png.h defines PNG_LIBPNG_VER=number + #include + #include + + int main() + { + FILE *f=fopen("conftestval", "w"); + if (!f) exit(1); + fprintf(f, "%s", + PNG_LIBPNG_VER > 90 ? "yes" : "no"); + exit(0); + } + ], + ac_cv_header_png_h=`cat conftestval`, + ac_cv_header_png_h=no, + dnl cross-compiling: test (later) if we have any png.h + unset ac_cv_header_png_h + ) + ) + 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]) + fi if test "x$PNG_LINK" = "x" ; then if test "$wxUSE_LIBPNG" = "sys" ; then - AC_MSG_ERROR([system png library not found! Use --with-libpng=builtin to use built-in version]) + AC_MSG_ERROR([system png library not found or too old! Use --with-libpng=builtin to use built-in version]) else - AC_MSG_WARN([system png library not found, will use built-in instead]) + AC_MSG_WARN([system png library not found or too old, will use built-in instead]) wxUSE_LIBPNG=builtin fi else @@ -1999,12 +2055,8 @@ if test "$wxUSE_GUI" = "yes"; then GUIDIST=MSW_DIST dnl -mwindows causes a heap of other default gui libs to be linked in. - dnl FIXME: If cygwin needs this, please push it above, if not, please - dnl remove this comment :-) - case "${host}" in - *-*-mingw32* ) - LDFLAGS="$LDFLAGS -Wl,--subsystem,windows -mwindows" - esac + dnl All platforms need this, except maybe cygwin + LDFLAGS="$LDFLAGS -Wl,--subsystem,windows -mwindows" fi if test "$wxUSE_GTK" = 1; then @@ -2112,7 +2164,7 @@ equivalent variable and GTK+ is version 1.2.3 or above. fi if test "$wxUSE_MGL" = 1; then - AC_MSG_CHECKING(for SciTech MGL library) + AC_MSG_CHECKING(for SciTech MGL library) if test "x$MGL_ROOT" = x ; then AC_MSG_RESULT(not found) AC_MSG_ERROR([Cannot find MGL library. Make sure MGL_ROOT is set.]) @@ -2120,36 +2172,52 @@ equivalent variable and GTK+ is version 1.2.3 or above. AC_MSG_RESULT($MGL_ROOT) fi + AC_MSG_CHECKING(for libmgl location) dnl Find MGL library that we want dnl FIXME_MGL - test for MGL variants for freebsd etc. case "${host}" in *-*-linux* ) - mgl_os="linux/gcc/glibc*" + if test "x$wxUSE_SHARED" = xyes ; then + mgl_os_candidates="linux/gcc/glibc.so linux/gcc/glibc" + else + mgl_os_candidates="linux/gcc/glibc linux/gcc/glibc.so" + fi ;; *-pc-msdosdjgpp ) - mgl_os=dos32/dj2 + mgl_os_candidates="dos32/dj2" ;; *) AC_MSG_ERROR(This system type ${host} is not yet supported by wxMGL.) esac mgl_lib_type="" - - if test "$wxUSE_DEBUG_FLAG" = yes ; then - if test -f $MGL_ROOT/lib/debug/$mgl_os/libmgl.a -o \ - -f $MGL_ROOT/lib/debug/$mgl_os/libmgl.so; then - mgl_lib_type=debug - fi - fi - if test "x$mgl_lib_type" = x ; then - if test -f $MGL_ROOT/lib/release/$mgl_os/libmgl.a -o \ - -f $MGL_ROOT/lib/release/$mgl_os/libmgl.so; then - mgl_lib_type=release - else - AC_MSG_ERROR([Cannot find MGL libraries, make sure they are compiled.]) + mgl_os="" + + for mgl_os_i in $mgl_os_candidates ; do + if test "x$mgl_os" = x ; then + if test "$wxUSE_DEBUG_FLAG" = yes ; then + if test -f $MGL_ROOT/lib/debug/$mgl_os_i/libmgl.a -o \ + -f $MGL_ROOT/lib/debug/$mgl_os_i/libmgl.so; then + mgl_lib_type=debug + mgl_os=$mgl_os_i + fi + fi + if test "x$mgl_lib_type" = x ; then + if test -f $MGL_ROOT/lib/release/$mgl_os_i/libmgl.a -o \ + -f $MGL_ROOT/lib/release/$mgl_os_i/libmgl.so; then + mgl_lib_type=release + mgl_os=$mgl_os_i + fi + fi fi - fi + done + if test "x$mgl_os" = x ; then + AC_MSG_RESULT(not found) + AC_MSG_ERROR([Cannot find MGL libraries, make sure they are compiled.]) + fi + AC_MSG_RESULT("$MGL_ROOT/lib/$mgl_lib_type/$mgl_os") + wxUSE_UNIVERSAL="yes" TOOLKIT_INCLUDE="-I$MGL_ROOT/include" @@ -2289,44 +2357,6 @@ equivalent variable and GTK+ is version 1.2.3 or above. GUIDIST=X11_DIST fi - if test "$wxUSE_WINE" = 1; then - AC_CHECK_HEADER(windows.h, [], - [ - AC_MSG_ERROR(please set CFLAGS to contain the location of windows.h) - ]) - - xpm_link= - AC_MSG_CHECKING(for Xpm library) - WX_PATH_FIND_LIBRARIES($SEARCH_LIB,Xpm) - if test "$ac_find_libraries" != "" ; then - GUI_TK_LIBRARY="-L$ac_find_libraries" - xpm_link=" -lXpm" - AC_DEFINE(wxHAVE_LIB_XPM) - AC_MSG_RESULT(found at $ac_find_libraries) - else - AC_MSG_RESULT(no) - AC_MSG_WARN(library will be compiled without support for images in XPM format) - fi - - mesa_link= - AC_MSG_CHECKING(for Mesa library) - WX_PATH_FIND_LIBRARIES($SEARCH_LIB,MesaGL) - if test "$ac_find_libraries" != "" ; then - GUI_TK_LIBRARY="$GUI_TK_LIBRARY -L$ac_find_libraries" - mesa_link=" -lMesaGL" - AC_MSG_RESULT(found at $ac_find_libraries) - else - mesa_link="" - AC_MSG_RESULT(no) - AC_MSG_WARN(library will be compiled without Mesa support) - fi - - GUI_TK_LIBRARY="$GUI_TK_LIBRARY -lwine$mesa_link$xpm_link -lXxf86dga -lXxf86vm -lSM -lICE -lXext -lXmu -lX11 -lncurses" - TOOLKIT=MSW - GUIDIST=MSW_DIST - TOOLCHAIN_DEFS="${TOOLCHAIN_DEFS} -D__WXWINE__" - fi - if test "$wxUSE_MOTIF" = 1; then dnl use standard macros to check for X headers/libs, this brings support dnl for the standard configure options --x-includes and --x-libraries @@ -2495,9 +2525,9 @@ equivalent variable and GTK+ is version 1.2.3 or above. fi if test "$wxUSE_MAC" = 1; then - CPPFLAGS="$CPPFLAGS -fpascal-strings -I\${top_srcdir}/src/mac/morefile -I/Developer/Headers/FlatCarbon" + CPPFLAGS="$CPPFLAGS -fpascal-strings -I\${top_srcdir}/src/mac/morefilex -I/Developer/Headers/FlatCarbon" - TOOLKIT_VPATH="\${top_srcdir}/src/mac${PATH_IFS}\${top_srcdir}/src/mac/morefile" + TOOLKIT_VPATH="\${top_srcdir}/src/mac${PATH_IFS}\${top_srcdir}/src/mac/morefilex" TOOLKIT=MAC dnl we can't call this MAC_DIST or autoconf thinks its a macro GUIDIST=MACX_DIST @@ -2507,10 +2537,10 @@ equivalent variable and GTK+ is version 1.2.3 or above. TOOLKIT=PM GUIDIST=GTK_DIST AC_MSG_WARN([OS/2 PM requires old resource format, re-enabled]) - wxUSE_PROLOGIO="yes" - wxUSE_RESOURCES="yes" + wxUSE_PROLOGIO="yes" + wxUSE_RESOURCES="yes" AC_MSG_WARN([OS/2 threads are not yet supported... disabled]) - wxUSE_THREADS="no" + wxUSE_THREADS="no" fi dnl the name of the directory where the files for this toolkit live @@ -2733,12 +2763,24 @@ case "${host}" in ;; *-*-darwin* ) + dnl Under Mac OS X, the naming conventions for shared libraries + dnl are different: the number precedes the suffix. + + WX_LIBRARY_NAME_SHARED="lib${WX_LIBRARY}.${WX_CURRENT}.${WX_REVISION}.${WX_AGE}.${SO_SUFFIX}" + WX_LIBRARY_NAME_SHARED_GL="lib${WX_LIBRARY_GL}.${WX_CURRENT}.${WX_REVISION}.${WX_AGE}.${SO_SUFFIX}" + + WX_LIBRARY_LINK1="lib${WX_LIBRARY}.${WX_CURRENT}.${SO_SUFFIX}" + WX_LIBRARY_LINK2="lib${WX_LIBRARY}.${SO_SUFFIX}" + WX_LIBRARY_LINK1_GL="lib${WX_LIBRARY_GL}.${WX_CURRENT}.${SO_SUFFIX}" + WX_LIBRARY_LINK2_GL="lib${WX_LIBRARY_GL}.${SO_SUFFIX}" + dnl Under Mac OS X, we should build real frameworks instead of simple dnl dynamic shared libraries (in order to embed the resources) if test "$wxUSE_MAC" = 1; then - dnl the name of the resources file for wxMac - WX_RESOURCES_MACOSX_ASCII="lib${WX_LIBRARY}.r" - WX_RESOURCES_MACOSX_DATA="lib${WX_LIBRARY}.rsrc" + dnl base name of the resource file for wxMac must be the same + dnl as library installation base name (-install_name) + WX_RESOURCES_MACOSX_ASCII="lib${WX_LIBRARY}.${WX_CURRENT}.r" + WX_RESOURCES_MACOSX_DATA="lib${WX_LIBRARY}.${WX_CURRENT}.rsrc" fi ;; esac @@ -2869,8 +2911,11 @@ if test "$wxUSE_SHARED" = "yes"; then dnl "-init _wxWindowsDylibInit" not useful with lazy linking solved SHARED_LD="\${top_srcdir}/distrib/mac/shared-ld-sh -undefined suppress -flat_namespace -o" PIC_FLAG="-dynamic -fPIC" - SONAME_FLAGS="-compatibility_version ${WX_RELEASE} -current_version ${WX_VERSION}" - SONAME_FLAGS_GL=${SONAME_FLAGS} + dnl library installation base name and wxMac resources file base name + dnl must be identical in order for the resource file to be found at + dnl run time in src/mac/app.cpp + SONAME_FLAGS="-compatibility_version ${WX_RELEASE} -current_version ${WX_VERSION} -install_name \$(libdir)/${WX_LIBRARY_LINK1}" + SONAME_FLAGS_GL="-compatibility_version ${WX_RELEASE} -current_version ${WX_VERSION} -install_name \$(libdir)/${WX_LIBRARY_LINK1_GL}" ;; *-*-aix* ) @@ -2893,12 +2938,12 @@ if test "$wxUSE_SHARED" = "yes"; then PIC_FLAG="-UWXUSINGDLL -DWXMAKINGDLL=1 -D_DLL=1 -D_WINDLL=1" - dnl install shared libs without symlinks + dnl Don't build seperate GL library + WX_ALL="\$(build_libdir)/${WX_LIBRARY_NAME_SHARED}" + WX_ALL_INSTALLED="CREATE_INSTALLED_LINKS" + if test "$wxUSE_OPENGL" = "yes"; then - WX_ALL_INSTALLED="preinstall_gl" - WX_ALL="\$(build_libdir)/${WX_LIBRARY_NAME_SHARED} \$(build_libdir)/${WX_LIBRARY_NAME_SHARED_GL}" - else - WX_ALL="\$(build_libdir)/${WX_LIBRARY_NAME_SHARED}" + LIBS="${LIBS} ${OPENGL_LIBS}" fi ;; @@ -2971,6 +3016,10 @@ else STATIC_FLAG="no" fi +dnl default value is comment for makefile +MACRESCOMP="#" +MACSETFILE="#" +MACRESWXCONFIG="#" if test "$wxUSE_MAC" = 1; then dnl add the resources target for wxMac LIBWXMACRES="\$(top_builddir)/lib/${WX_RESOURCES_MACOSX_ASCII}" @@ -2978,14 +3027,16 @@ if test "$wxUSE_MAC" = 1; then WX_ALL_INSTALLED="${WX_ALL_INSTALLED} preinstall_res" AC_CHECK_PROG(RESCOMP, Rez, Rez, /Developer/Tools/Rez) AC_CHECK_PROG(DEREZ, DeRez, DeRez, /Developer/Tools/DeRez) + AC_CHECK_PROG(SETFILE, SetFile, SetFile, /Developer/Tools/SetFile) MACOSX_BUNDLE="bundle" dnl resources are bundled both with shared library and applications dnl since the carb resource *must* be included in the application - LIBWXMACRESCOMP="\$(RESCOMP) -t APPL Carbon.r ${LIBWXMACRES} -o \$(BIN_PROGRAM)" - LIBWXMACRESWXCONFIG="${RESCOMP} -t APPL Carbon.r \${prefix}/lib/${WX_RESOURCES_MACOSX_ASCII} -o" + MACRESCOMP="\$(RESCOMP) -d __DARWIN__ -t APPL Carbon.r ${LIBWXMACRES} -o" + MACSETFILE="\$(SETFILE)" + MACRESWXCONFIG="${RESCOMP} -d __DARWIN__ -t APPL Carbon.r \$(top_builddir)/lib/${WX_RESOURCES_MACOSX_ASCII}} -o" else if test "$wxUSE_PM" = 1; then - LIBWXMACRESCOMP="emxbind -ep \$(BIN_PROGRAM)" + MACRESCOMP="emxbind -ep" fi fi @@ -3123,11 +3174,44 @@ AC_LANG_SAVE AC_LANG_CPLUSPLUS dnl check for vsnprintf() -- a safe version of vsprintf()) +dnl +dnl the trouble here is that on some systems (notable HP-UX) this function is +dnl present in libc but not in the system headers and so AC_CHECK_FUNCS (which, +dnl stupidly, provides a dummy function declaration inside its extension) +dnl succeeds, even with C++ compiler, but the compilation of wxWindows fails +dnl +dnl so we first check if the function is in the library AC_CHECK_FUNCS(vsnprintf) +if test "$ac_cv_func_vsnprintf" = "yes"; then + dnl yes it is -- now check if it is in the headers + AC_CACHE_CHECK([for vsnprintf declaration], wx_cv_func_vsnprintf_decl, + [ + AC_TRY_COMPILE( + [ + #include + #include + ], + [ + char *buf; + va_list ap; + vsnprintf(buf, 10u, "%s", ap); + ], + wx_cv_func_vsnprintf_decl=yes, + wx_cv_func_vsnprintf_decl=no + ) + ] + ) + + if test "$wx_cv_func_vsnprintf_decl" = "yes"; then + AC_DEFINE(HAVE_VSNPRINTF_DECL) + fi +fi + if test "$wxUSE_UNICODE" = yes; then dnl also look if we have wide char IO functions AC_CHECK_FUNCS(fputwc wprintf vswprintf) + dnl MinGW has a vswprintf with a different prototype, and dnl a _vsnwprintf with the correct prototype, but AC_CHECK_FUNCS dnl finds it even if it is not declared in some versions... @@ -3221,37 +3305,85 @@ AC_CACHE_CHECK(for statfs, wx_cv_func_statfs, ) if test "$wx_cv_func_statfs" = "yes"; then + wx_cv_type_statvfs_t="struct statfs" AC_DEFINE(HAVE_STATFS) else AC_CACHE_CHECK(for statvfs, wx_cv_func_statvfs, AC_TRY_COMPILE( [ - #include + #include + #include ], [ - long l; - struct statvfs fs; - statvfs("/", &fs); - l = fs.f_bsize; - l += fs.f_blocks; - l += fs.f_bavail; + statvfs("/", NULL); ], - [ - wx_cv_func_statvfs=yes - ], - [ - wx_cv_func_statvfs=no - ] + wx_cv_func_statvfs=yes, + wx_cv_func_statvfs=no ) ) if test "$wx_cv_func_statvfs" = "yes"; then - AC_DEFINE(HAVE_STATVFS) + dnl we also have to check whether we should use statvfs_t (works under + dnl Solaris 8, doesn't work under Solaris 7) or "struct statvfs" (vice + dnl versa) as the argument for statvfs in 64 bit off_t mode (in 32 bit + dnl mode both work fine) + dnl + dnl for this check C++ compiler has to be used as passing incompatible + dnl pointers is just a warning and not an error in C + AC_LANG_SAVE + AC_LANG_CPLUSPLUS + + AC_CACHE_CHECK(for statvfs argument type, wx_cv_type_statvfs_t, + AC_TRY_COMPILE( + [ + #include + ], + [ + long l; + statvfs_t fs; + statvfs("/", &fs); + l = fs.f_bsize; + l += fs.f_blocks; + l += fs.f_bavail; + ], + wx_cv_type_statvfs_t=statvfs_t, + [ + AC_TRY_COMPILE( + [ + #include + ], + [ + long l; + struct statvfs fs; + statvfs("/", &fs); + l = fs.f_bsize; + l += fs.f_blocks; + l += fs.f_bavail; + ], + wx_cv_type_statvfs_t="struct statvfs", + wx_cv_type_statvfs_t="unknown" + ) + ] + ) + ) + + AC_LANG_RESTORE + + if test "$wx_cv_type_statvfs_t" != "unknown"; then + AC_DEFINE(HAVE_STATVFS) + fi else - AC_MSG_WARN([wxGetDiskSpace() function won't work without statfs()]) + dnl set it for the test below + wx_cv_type_statvfs_t="unknown" fi fi +if test "$wx_cv_type_statvfs_t" != "unknown"; then + AC_DEFINE_UNQUOTED(WX_STATFS_T, $wx_cv_type_statvfs_t) +else + AC_MSG_WARN([wxGetDiskSpace() function won't work without statfs()]) +fi + dnl check for fcntl() or at least flock() needed by Unix implementation of dnl wxSingleInstanceChecker if test "$wxUSE_SNGLINST_CHECKER" = "yes"; then @@ -3378,10 +3510,7 @@ if test "$TOOLKIT" != "MSW"; then THREADS_CFLAGS= if test "$wxUSE_THREADS" = "yes" ; then - if test "$wxUSE_WINE" = 1 ; then - AC_MSG_WARN([Threads are not supported under WINE... disabled]) - wxUSE_THREADS="no" - elif test "$USE_BEOS" = 1; then + if test "$USE_BEOS" = 1; then AC_MSG_WARN([BeOS threads are not yet supported... disabled]) wxUSE_THREADS="no" fi @@ -3787,14 +3916,24 @@ else fi fi +dnl --------------------------------------------------------------------------- +dnl compatibility level +dnl --------------------------------------------------------------------------- + if test "$WXWIN_COMPATIBILITY_2" = "yes"; then AC_DEFINE(WXWIN_COMPATIBILITY_2) WXWIN_COMPATIBILITY_2_2="yes" fi -if test "x$WXWIN_COMPATIBILITY_2_2" != "xno"; then +if test "x$WXWIN_COMPATIBILITY_2_2" = "xyes"; then AC_DEFINE(WXWIN_COMPATIBILITY_2_2) + + WXWIN_COMPATIBILITY_2_4="yes" +fi + +if test "x$WXWIN_COMPATIBILITY_2_4" != "xno"; then + AC_DEFINE(WXWIN_COMPATIBILITY_2_4) fi dnl --------------------------------------------------------------------------- @@ -4497,50 +4636,6 @@ if test "$wxUSE_MSW" = 1 -a \( "$wxUSE_DATAOBJ" = "yes" \ fi fi -if test "$wxUSE_WINE" = 1 -a \( "$wxUSE_DATAOBJ" = "yes" \ - -o "$wxUSE_CLIPBOARD" = "yes" \ - -o "$wxUSE_OLE" = "yes" \ - -o "$wxUSE_DRAG_AND_DROP" = "yes" \) ; then - AC_CHECK_HEADERS(ole2.h) - - if test "$ac_cv_header_ole2_h" = "yes" ; then - if test "$GCC" = yes ; then - AC_LANG_SAVE - AC_LANG_CPLUSPLUS - - AC_MSG_CHECKING([if g++ requires -fvtable-thunks]) - AC_TRY_COMPILE([#include - #include ], - [], - [AC_MSG_RESULT(no)], - [AC_MSG_RESULT(yes) - CODE_GEN_FLAGS_CXX="$CODE_GEN_FLAGS_CXX -fvtable-thunks"]) - AC_LANG_RESTORE - ALL_OBJECTS="$ALL_OBJECTS \$(OLEOBJS)" - LIBS=" -lwine_uuid$LIBS" - AC_DEFINE(wxUSE_OLE) - - fi - - dnl for OLE clipboard and dnd - AC_DEFINE(wxUSE_DATAOBJ) - else - AC_MSG_WARN([Some features disabled because OLE headers not found]) - - wxUSE_CLIPBOARD=no - wxUSE_DRAG_AND_DROP=no - wxUSE_DATAOBJ=no - wxUSE_OLE=no - fi - - if test "$wxUSE_METAFILE" = "yes"; then - AC_DEFINE(wxUSE_METAFILE) - - dnl this one should probably be made separately configurable - AC_DEFINE(wxUSE_ENH_METAFILE) - fi -fi - if test "$wxUSE_IPC" = "yes"; then if test "$wxUSE_SOCKETS" != "yes"; then AC_MSG_WARN(wxWindows IPC classes require sockets... disabled) @@ -4760,12 +4855,8 @@ if test "$wxUSE_STATTEXT" = "yes"; then fi if test "$wxUSE_STATLINE" = "yes"; then - if test "$wxUSE_WINE" = 1 ; then - AC_MSG_WARN([wxStaticLine is not supported under WINE]) - else - AC_DEFINE(wxUSE_STATLINE) - USES_CONTROLS=1 - fi + AC_DEFINE(wxUSE_STATLINE) + USES_CONTROLS=1 fi if test "$wxUSE_STATUSBAR" = "yes"; then @@ -4829,14 +4920,10 @@ if test "$wxUSE_TOOLTIPS" = "yes"; then if test "$wxUSE_MOTIF" = 1; then AC_MSG_WARN([wxTooltip not supported yet under Motif... disabled]) else - if test "$wxUSE_WINE" = 1; then - AC_MSG_WARN([wxTooltip not supported under WINE... disabled]) + if test "$wxUSE_UNIVERSAL" = "yes"; then + AC_MSG_WARN([wxTooltip not supported yet in wxUniversal... disabled]) else - if test "$wxUSE_UNIVERSAL" = "yes"; then - AC_MSG_WARN([wxTooltip not supported yet in wxUniversal... disabled]) - else - AC_DEFINE(wxUSE_TOOLTIPS) - fi + AC_DEFINE(wxUSE_TOOLTIPS) fi fi fi @@ -5095,6 +5182,9 @@ fi AC_DEFINE_UNQUOTED(wxINSTALL_PREFIX, "$wxPREFIX") +dnl define the variables used in wx-config +top_builddir=`pwd` + dnl --------------------------------------------------------------------------- dnl Output the makefiles and such from the results found above dnl --------------------------------------------------------------------------- @@ -5284,6 +5374,7 @@ AC_SUBST(TOOLCHAIN_DEFS) AC_SUBST(TOOLCHAIN_DLL_DEFS) dnl wx-config options +AC_SUBST(top_builddir) AC_SUBST(host_alias) AC_SUBST(cross_compiling) AC_SUBST(WXCONFIG_LIBS) @@ -5328,8 +5419,9 @@ dnl additional for Mac OS X AC_SUBST(DEREZ) AC_SUBST(MACOSX_BUNDLE) AC_SUBST(LIBWXMACRES) -AC_SUBST(LIBWXMACRESCOMP) -AC_SUBST(LIBWXMACRESWXCONFIG) +AC_SUBST(MACRESCOMP) +AC_SUBST(MACSETFILE) +AC_SUBST(MACRESWXCONFIG) dnl other tools AC_SUBST(GCC) @@ -5368,11 +5460,13 @@ wx_cv_release=${WX_RELEASE} wx_cv_current=${WX_CURRENT} wx_cv_revision=${WX_REVISION} wx_cv_age=${WX_AGE} +wx_cv_use_gui=${USE_GUI} +wx_cv_use_resources=${wxUSE_RESOURCES} export wx_cv_path_samplesubdirs wx_cv_if_gnu_make \ wx_cv_path_ifs wx_cv_program_ext \ wx_cv_target_library wx_cv_target_library_gl wx_cv_target_libtype \ - wx_cv_library_basename wx_cv_release wx_cv_current wx_cv_revision wx_cv_age - + wx_cv_library_basename wx_cv_release wx_cv_current wx_cv_revision wx_cv_age \ + wx_cv_use_gui wx_cv_use_resources AC_CONFIG_SUBDIRS(demos samples utils contrib) @@ -5436,6 +5530,11 @@ echo " Should wxWindows be compiled in debug mode? ${wxUSE_DEBUG:-n echo " Should wxWindows be linked as a shared library? ${wxUSE_SHARED:-no}" echo " Should wxWindows be compiled in Unicode mode? ${wxUSE_UNICODE:-no}" +echo " What level of wxWindows compatibility should be enabled?" +echo " wxWindows 2.0 ${WXWIN_COMPATIBILITY_2:-no}" +echo " wxWindows 2.2 ${WXWIN_COMPATIBILITY_2_2:-no}" +echo " wxWindows 2.4 ${WXWIN_COMPATIBILITY_2_4:-yes}" + echo " Which libraries should wxWindows use?" echo " jpeg ${wxUSE_LIBJPEG-none}" echo " png ${wxUSE_LIBPNG-none}"