X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/05159a2750ed2cc5945a85bc5fc6849ad1a30e75..4f5c180eba88f20438789e1a84a435ed8615fbff:/configure.in?ds=sidebyside diff --git a/configure.in b/configure.in index 1899e4c36a..5f22f8e682 100644 --- a/configure.in +++ b/configure.in @@ -64,32 +64,35 @@ dnl ------------------------------------------------------------------------ dnl Check platform (host system) dnl ------------------------------------------------------------------------ -dnl assume Unix +dnl OS (assume Unix) USE_UNIX=1 USE_WIN32=0 USE_DOS=0 USE_BEOS=0 USE_MAC=0 -USE_LINUX= -USE_SGI= -USE_HPUX= -USE_SYSV= -USE_SVR4= +dnl Unix kind USE_AIX= -USE_SUN= -USE_SOLARIS= -USE_SUNOS= -USE_ALPHA= -USE_OSF= USE_BSD= USE_DARWIN= USE_FREEBSD= -USE_OPENBSD= +USE_HPUX= +USE_LINUX= USE_NETBSD= +USE_OPENBSD= +USE_OSF= +USE_SGI= +USE_SOLARIS= +USE_SUN= +USE_SUNOS= +USE_SVR4= +USE_SYSV= USE_VMS= USE_ULTRIX= -USE_DATA_GENERAL= +USE_UNIXWARE= + +dnl hardware platform +USE_ALPHA= dnl on some platforms xxx_r() functions are declared inside "#ifdef dnl _REENTRANT" and it's easier to just define this symbol for these platforms @@ -99,10 +102,11 @@ 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="COCOA 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 +DEFAULT_wxUSE_COCOA=0 DEFAULT_wxUSE_GTK=0 DEFAULT_wxUSE_MAC=0 DEFAULT_wxUSE_MGL=0 @@ -110,12 +114,12 @@ 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 - dnl they're not cached and are only used if no --with-toolkit was given *and* dnl nothing was found in the cache +DEFAULT_DEFAULT_wxUSE_COCOA=0 DEFAULT_DEFAULT_wxUSE_GTK=0 DEFAULT_DEFAULT_wxUSE_MAC=0 DEFAULT_DEFAULT_wxUSE_MGL=0 @@ -123,7 +127,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= @@ -228,7 +231,7 @@ case "${host}" in dnl dnl Both archive libraries and shared libraries on AIX have an .a dnl extension. This will explain why you can't link with an .so and - dnl why it works with the name changed to .a. + dnl why it works with the name changed to .a. SO_SUFFIX=a AC_DEFINE(__AIX__) AC_DEFINE(__SYSV__) @@ -236,6 +239,13 @@ case "${host}" in DEFAULT_DEFAULT_wxUSE_MOTIF=1 ;; + *-*-*UnixWare*) + USE_SYSV=1 + USE_SVR4=1 + USE_UNIXWARE=1 + AC_DEFINE(__UNIXWARE__) + ;; + *-*-cygwin* | *-*-mingw32* ) dnl MBN: some of the defines have been moved after toolkit detection dnl because for wxMotif/wxGTK/wxX11 to build on Cygwin @@ -270,6 +280,7 @@ case "${host}" in AC_DEFINE(__BSD__) AC_DEFINE(__DARWIN__) AC_DEFINE(__POWERPC__) + AC_DEFINE(TARGET_CARBON) DEFAULT_DEFAULT_wxUSE_MAC=1 ;; @@ -343,7 +354,6 @@ if test $DEBUG_CONFIGURE = 1; then DEFAULT_wxUSE_STD_IOSTREAM=no DEFAULT_wxUSE_CMDLINE_PARSER=no DEFAULT_wxUSE_DATETIME=no - DEFAULT_wxUSE_TIMEDATE=no DEFAULT_wxUSE_TIMER=no DEFAULT_wxUSE_STOPWATCH=no DEFAULT_wxUSE_FILE=no @@ -380,7 +390,6 @@ if test $DEBUG_CONFIGURE = 1; then DEFAULT_wxUSE_DOC_VIEW_ARCHITECTURE=no DEFAULT_wxUSE_PRINTING_ARCHITECTURE=no - DEFAULT_wxUSE_PROLOGIO=no DEFAULT_wxUSE_RESOURCES=no DEFAULT_wxUSE_CONSTRAINTS=no DEFAULT_wxUSE_IPC=no @@ -431,14 +440,13 @@ if test $DEBUG_CONFIGURE = 1; then DEFAULT_wxUSE_CHECKLST=no DEFAULT_wxUSE_CHOICE=no DEFAULT_wxUSE_COMBOBOX=no + DEFAULT_wxUSE_DISPLAY=no DEFAULT_wxUSE_GAUGE=no DEFAULT_wxUSE_GRID=no - DEFAULT_wxUSE_NEW_GRID=no DEFAULT_wxUSE_IMAGLIST=no DEFAULT_wxUSE_LISTBOX=no DEFAULT_wxUSE_LISTCTRL=no DEFAULT_wxUSE_NOTEBOOK=no - DEFAULT_wxUSE_PROPSHEET=no DEFAULT_wxUSE_RADIOBOX=no DEFAULT_wxUSE_RADIOBTN=no DEFAULT_wxUSE_SASH=no @@ -518,7 +526,6 @@ else DEFAULT_wxUSE_STD_IOSTREAM=no DEFAULT_wxUSE_CMDLINE_PARSER=yes DEFAULT_wxUSE_DATETIME=yes - DEFAULT_wxUSE_TIMEDATE=no DEFAULT_wxUSE_TIMER=yes DEFAULT_wxUSE_STOPWATCH=yes DEFAULT_wxUSE_FILE=yes @@ -555,7 +562,6 @@ else DEFAULT_wxUSE_DOC_VIEW_ARCHITECTURE=yes DEFAULT_wxUSE_PRINTING_ARCHITECTURE=yes - DEFAULT_wxUSE_PROLOGIO=no DEFAULT_wxUSE_RESOURCES=no DEFAULT_wxUSE_CONSTRAINTS=yes DEFAULT_wxUSE_IPC=yes @@ -606,14 +612,13 @@ else DEFAULT_wxUSE_CHECKLST=yes DEFAULT_wxUSE_CHOICE=yes DEFAULT_wxUSE_COMBOBOX=yes + DEFAULT_wxUSE_DISPLAY=no DEFAULT_wxUSE_GAUGE=yes DEFAULT_wxUSE_GRID=yes - DEFAULT_wxUSE_NEW_GRID=yes DEFAULT_wxUSE_IMAGLIST=yes DEFAULT_wxUSE_LISTBOX=yes DEFAULT_wxUSE_LISTCTRL=yes DEFAULT_wxUSE_NOTEBOOK=yes - DEFAULT_wxUSE_PROPSHEET=yes DEFAULT_wxUSE_RADIOBOX=yes DEFAULT_wxUSE_RADIOBTN=yes DEFAULT_wxUSE_SASH=yes @@ -686,7 +691,8 @@ 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(cocoa, [ --with-cocoa use Cocoa], [wxUSE_COCOA="$withval" 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 +747,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"]) @@ -769,7 +776,6 @@ WX_ARG_ENABLE(ipc, [ --enable-ipc use interprocess communi WX_ARG_ENABLE(cmdline, [ --enable-cmdline use wxCmdLineParser class], wxUSE_CMDLINE_PARSER) WX_ARG_ENABLE(datetime, [ --enable-datetime use wxDateTime class], wxUSE_DATETIME) -WX_ARG_ENABLE(timedate, [ --enable-timedate use obsolete wxDate/wxTime classes], wxUSE_TIMEDATE) WX_ARG_ENABLE(stopwatch, [ --enable-stopwatch use wxStopWatch class], wxUSE_STOPWATCH) WX_ARG_ENABLE(dialupman, [ --enable-dialupman use dialup network classes], wxUSE_DIALUP_MANAGER) WX_ARG_ENABLE(apple_ieee, [ --enable-apple_ieee use the Apple IEEE codec], wxUSE_APPLE_IEEE) @@ -846,7 +852,7 @@ dnl --------------------------------------------------------------------------- dnl resources dnl --------------------------------------------------------------------------- -WX_ARG_ENABLE(prologio, [ --enable-prologio use Prolog IO library], wxUSE_PROLOGIO) +dnl WX_ARG_ENABLE(prologio, [ --enable-prologio use Prolog IO library], wxUSE_PROLOGIO) WX_ARG_ENABLE(resources, [ --enable-resources use wxWindows resources], wxUSE_RESOURCES) WX_ARG_ENABLE(xresources, [ --enable-xresources use X resources for save (default for gtk+)], wxUSE_X_RESOURCES) @@ -855,11 +861,11 @@ dnl --------------------------------------------------------------------------- dnl IPC &c dnl --------------------------------------------------------------------------- -WX_ARG_ENABLE(clipboard, [ --enable-clipboard use wxClipboard classes], wxUSE_CLIPBOARD) +WX_ARG_ENABLE(clipboard, [ --enable-clipboard use wxClipboard class], wxUSE_CLIPBOARD) WX_ARG_ENABLE(dnd, [ --enable-dnd use Drag'n'Drop classes], wxUSE_DRAG_AND_DROP) WX_ARG_ENABLE(metafile, [ --enable-metafile use win32 metafiles], wxUSE_METAFILE) -WX_ARG_ENABLE(treelayout, [ --enable-treelayout use wxTreeLayout classes], wxUSE_TREELAYOUT) +dnl WX_ARG_ENABLE(treelayout, [ --enable-treelayout use wxTreeLayout class], wxUSE_TREELAYOUT) dnl --------------------------------------------------------------------------- dnl optional GUI controls (in alphabetical order except the first one) @@ -882,12 +888,10 @@ if test "$wxUSE_CONTROLS" = "yes"; then DEFAULT_wxUSE_CHOICE=yes DEFAULT_wxUSE_GAUGE=yes DEFAULT_wxUSE_GRID=yes - DEFAULT_wxUSE_NEW_GRID=yes DEFAULT_wxUSE_IMAGLIST=yes DEFAULT_wxUSE_LISTBOX=yes DEFAULT_wxUSE_LISTCTRL=yes DEFAULT_wxUSE_NOTEBOOK=yes - DEFAULT_wxUSE_PROPSHEET=yes DEFAULT_wxUSE_RADIOBOX=yes DEFAULT_wxUSE_RADIOBTN=yes DEFAULT_wxUSE_SASH=yes @@ -921,12 +925,10 @@ elif test "$wxUSE_CONTROLS" = "no"; then DEFAULT_wxUSE_CHOICE=no DEFAULT_wxUSE_GAUGE=no DEFAULT_wxUSE_GRID=no - DEFAULT_wxUSE_NEW_GRID=no DEFAULT_wxUSE_IMAGLIST=no DEFAULT_wxUSE_LISTBOX=no DEFAULT_wxUSE_LISTCTRL=no DEFAULT_wxUSE_NOTEBOOK=no - DEFAULT_wxUSE_PROPSHEET=no DEFAULT_wxUSE_RADIOBOX=no DEFAULT_wxUSE_RADIOBTN=no DEFAULT_wxUSE_SASH=no @@ -950,6 +952,36 @@ elif test "$wxUSE_CONTROLS" = "no"; then DEFAULT_wxUSE_TIPWINDOW=no fi +## FIXME: This is a blatant hack +if test "x$wxUSE_COCOA" != "x" -a "$wxUSE_COCOA" != "0" ; then + wxUSE_PRINTING_ARCHITECTURE=no + wxUSE_HELP=no + wxUSE_CLIPBOARD=no + wxUSE_DRAG_AND_DROP=no + wxUSE_DATAOBJ=no + DEFAULT_wxUSE_TOOLBAR_NATIVE=no + DEFAULT_wxUSE_GAUGE=no + DEFAULT_wxUSE_SCROLLBAR=no + DEFAULT_wxUSE_SLIDER=no + DEFAULT_wxUSE_COMBOBOX=no + DEFAULT_wxUSE_CALCTRL=no + DEFAULT_wxUSE_SPINBTN=no + DEFAULT_wxUSE_SPINCTRL=no + DEFAULT_wxUSE_TOOLTIPS=no + DEFAULT_wxUSE_COLOURDLG=no + DEFAULT_wxUSE_DRAGIMAGE=no + DEFAULT_wxUSE_FINDREPLDLG=no + DEFAULT_wxUSE_FONTDLG=no + DEFAULT_wxUSE_GRID=no + DEFAULT_wxUSE_NUMBERDLG=no + DEFAULT_wxUSE_PROGRESSDLG=no + DEFAULT_wxUSE_SASH=no + DEFAULT_wxUSE_SPLITTER=no + DEFAULT_wxUSE_WIZARDDLG=no + DEFAULT_wxUSE_SPLITTER=no + DEFAULT_wxUSE_STARTUP_TIPS=no +fi + WX_ARG_ENABLE(accel, [ --enable-accel use accelerators], wxUSE_ACCEL) WX_ARG_ENABLE(button, [ --enable-button use wxButton class], wxUSE_BUTTON) WX_ARG_ENABLE(bmpbutton, [ --enable-bmpbutton use wxBitmapButton class], wxUSE_BMPBUTTON) @@ -958,15 +990,14 @@ WX_ARG_ENABLE(caret, [ --enable-caret use wxCaret class], wxUSE_ WX_ARG_ENABLE(checkbox, [ --enable-checkbox use wxCheckBox class], wxUSE_CHECKBOX) WX_ARG_ENABLE(checklst, [ --enable-checklst use wxCheckListBox (listbox with checkboxes) class], wxUSE_CHECKLST) WX_ARG_ENABLE(choice, [ --enable-choice use wxChoice class], wxUSE_CHOICE) -WX_ARG_ENABLE(combobox, [ --enable-combobox use wxComboBox classes], wxUSE_COMBOBOX) +WX_ARG_ENABLE(combobox, [ --enable-combobox use wxComboBox class], wxUSE_COMBOBOX) +WX_ARG_ENABLE(display, [ --enable-display use wxDisplay class], wxUSE_DISPLAY) WX_ARG_ENABLE(gauge, [ --enable-gauge use wxGauge class], wxUSE_GAUGE) WX_ARG_ENABLE(grid, [ --enable-grid use wxGrid class], wxUSE_GRID) -WX_ARG_ENABLE(newgrid, [ --enable-newgrid use new wxGrid class], wxUSE_NEW_GRID) WX_ARG_ENABLE(imaglist, [ --enable-imaglist use wxImageList class], wxUSE_IMAGLIST) WX_ARG_ENABLE(listbox, [ --enable-listbox use wxListBox class], wxUSE_LISTBOX) WX_ARG_ENABLE(listctrl, [ --enable-listctrl use wxListCtrl class], wxUSE_LISTCTRL) WX_ARG_ENABLE(notebook, [ --enable-notebook use wxNotebook class], wxUSE_NOTEBOOK) -WX_ARG_ENABLE(propsheet, [ --enable-propsheet use wxPropertySheet class], wxUSE_PROPSHEET) WX_ARG_ENABLE(radiobox, [ --enable-radiobox use wxRadioBox class], wxUSE_RADIOBOX) WX_ARG_ENABLE(radiobtn, [ --enable-radiobtn use wxRadioButton class], wxUSE_RADIOBTN) WX_ARG_ENABLE(sash, [ --enable-sash use wxSashWindow class], wxUSE_SASH) @@ -1064,6 +1095,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 @@ -1091,8 +1129,9 @@ 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}` + NUM_TOOLKITS=`expr ${wxUSE_COCOA:-0} + ${wxUSE_GTK:-0} + ${wxUSE_MAC:-0} \ + + ${wxUSE_MGL:-0} + ${wxUSE_MICROWIN:-0} \ + + ${wxUSE_MOTIF:-0} + ${wxUSE_MSW:-0} + ${wxUSE_X11:-0}` dnl Allow wxUSE_PM only for OS/2 with EMX. case "${host}" in @@ -1150,6 +1189,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 @@ -1241,14 +1291,27 @@ dnl install checks dnl defines INSTALL with the appropriate command AC_PROG_INSTALL -dnl make install path absolute (if not already); will fail with MSDOS paths +dnl make install path absolute (if not already); +dnl will fail with (some) MSDOS paths case ${INSTALL} in /* ) # Absolute ;; + ?:* ) # Drive letter, considered as absolute. + ;; *) INSTALL=`pwd`/${INSTALL} ;; esac +dnl HP-UX install doesn't handle the "-d" switch so don't use it there +case ${host} in + *-hp-hpux* ) + INSTALL_DIR="mkdir" + ;; + + *) INSTALL_DIR="$INSTALL -d" + ;; +esac + case "${host}" in @@ -1367,7 +1430,7 @@ dnl ------------------------------------------------------------------------ dnl test for strings.h needed under AIX, but do not check for it wxMac as dnl it exists but is only a simple redirection to string.h and it is in dnl conflict with Strings.h in FlatCarbon headers -if test "$wxUSE_MAC" != 1; then +if test "$wxUSE_MAC" != 1 -a "$wxUSE_COCOA" != 1; then dnl defines HAVE_STRINGS_H AC_CHECK_HEADERS(strings.h) fi @@ -1397,6 +1460,15 @@ fi dnl defines HAVE_LANGINFO_H (GNU libc locale parameters) AC_CHECK_HEADERS(langinfo.h) +case "${host}" in + *-pc-os2_emx | *-pc-os2-emx ) + dnl Explicitly link -lintl if langinfo.h is available. + if test $ac_cv_header_langinfo_h = "yes"; then + LIBS="$LIBS -lintl" + fi + ;; +esac + if test "$wxUSE_GUI" = "yes"; then if test "$wxUSE_UNIX" = "yes"; then dnl defines HAVE_X11_XKBLIB_H @@ -1512,6 +1584,9 @@ WX_CPP_BOOL dnl check whether C++ compiler supports explicit keyword WX_CPP_EXPLICIT +dnl check whether C++ compiler supports C++ casts +AC_CXX_CONST_CAST + dnl --------------------------------------------------------------------------- dnl Define search path for includes and libraries: all headers and libs will be dnl looked for in all directories of this path @@ -1735,10 +1810,13 @@ if test "$wxUSE_ZLIB" != "no" ; then ], 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 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) system_zlib_h_ok=$ac_cv_header_zlib_h fi @@ -1810,10 +1888,11 @@ if test "$wxUSE_LIBPNG" != "no" ; then ], ac_cv_header_png_h=`cat conftestval`, ac_cv_header_png_h=no, - dnl cross-compiling: test if we have any png.h - AC_CHECK_HEADER(png.h) + 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]) @@ -1821,9 +1900,9 @@ if test "$wxUSE_LIBPNG" != "no" ; then 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([png library not found or too old, 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 @@ -2033,12 +2112,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 @@ -2146,7 +2221,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.]) @@ -2154,35 +2229,51 @@ 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 + 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" @@ -2277,6 +2368,13 @@ equivalent variable and GTK+ is version 1.2.3 or above. ) fi + AC_CHECK_LIB([Xext], [XShapeQueryExtension], + [ + GUI_TK_LIBRARY="$GUI_TK_LIBRARY -lXext" + wxHAVE_XEXT_LIB=1 + ], + [], [$GUI_TK_LIBRARY -lX11]) + if test "$wxUSE_UNICODE" = "yes"; then PKG_CHECK_MODULES(PANGOX, pangox, [ @@ -2323,44 +2421,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 @@ -2522,27 +2582,80 @@ equivalent variable and GTK+ is version 1.2.3 or above. AC_MSG_ERROR([can't link a simple motif program]) fi + save_CFLAGS=$CFLAGS + CFLAGS="$CFLAGS $TOOLKIT_INCLUDE" + AC_MSG_CHECKING([for Motif 2]) + AC_TRY_COMPILE([ + #include + ], + [ + #if XmVersion < 2000 + #error "Not Motif 2" + #endif + ], + [ + AC_DEFINE(__WXMOTIF20__,1) + AC_MSG_RESULT([found]) + ], + [ + AC_DEFINE(__WXMOTIF20__,0) + AC_MSG_RESULT([not found]) + ]) + CFLAGS=$save_CFLAGS + GUI_TK_LIBRARY="$GUI_TK_LIBRARY -lXm$xpm_link${libp_link} -lXmu -lXext -lXt${libsm_ice_link} -lX11" - TOOLKIT_VPATH="\${top_srcdir}/src/motif${PATH_IFS}\${top_srcdir}/src/motif/xmcombo" + TOOLKIT_VPATH="\${top_srcdir}/src/motif${PATH_IFS}\${top_srcdir}/src/motif/xmcombo${PATH_IFS}\${top_srcdir}/src/x11" TOOLKIT=MOTIF GUIDIST=MOTIF_DIST + wxHAVE_XEXT_LIB=1 + fi + + if test "$wxUSE_X11" = 1 -o "$wxUSE_MOTIF" = 1 && + test "$wxHAVE_XEXT_LIB" = 1; then + save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS $TOOLKIT_INCLUDE" + + AC_MSG_CHECKING([for X11/extensions/shape.h]) + AC_TRY_COMPILE([ + #include + #include + ], + [ + int dummy1, dummy2; + XShapeQueryExtension((Display*)NULL, + (int*)NULL, (int*)NULL); + ], + [ + AC_DEFINE(HAVE_XSHAPE) + AC_MSG_RESULT([found]) + ], + [ + AC_MSG_RESULT([not found]) + ]) + CFLAGS="$save_CFLAGS" 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 fi + if test "$wxUSE_COCOA" = 1; then + TOOLKIT_VPATH="\${top_srcdir}/src/cocoa" + TOOLKIT=COCOA + GUIDIST=COCOA_DIST + fi + if test "$wxUSE_PM" = 1; then TOOLKIT=PM GUIDIST=GTK_DIST - AC_MSG_WARN([OS/2 PM requires old resource format, re-enabled]) - wxUSE_PROLOGIO="yes" - wxUSE_RESOURCES="yes" +dnl AC_MSG_WARN([OS/2 PM requires old resource format, re-enabled]) +dnl wxUSE_PROLOGIO="yes" +dnl wxUSE_RESOURCES="yes" AC_MSG_WARN([OS/2 threads are not yet supported... disabled]) wxUSE_THREADS="no" fi @@ -2654,28 +2767,44 @@ dnl OpenGL libraries dnl --------------------------------------------------------------------------- if test "$wxUSE_OPENGL" = "yes"; then - if test "$wxUSE_MAC" = 1; then + if test "$wxUSE_MAC" = 1 -o "$wxUSE_COCOA" = "1"; then OPENGL_LIBS="-framework OpenGL -framework AGL" elif test "$wxUSE_MSW" = 1; then OPENGL_LIBS="-lopengl32 -lglu32" else AC_CHECK_HEADER(GL/gl.h, [ + found_gl=0 + AC_MSG_CHECKING([for -lGL]) - WX_PATH_FIND_LIBRARIES([$SEARCH_LIB],[GL]) + WX_PATH_FIND_LIBRARIES([$SEARCH_LIB],GL) if test "$ac_find_libraries" != "" ; then WX_LINK_PATH_EXIST([$ac_find_libraries],[$LDFLAGS]) - if test "$ac_path_to_link" = " -L/usr/lib" ; then - LDFLAGS_GL="$LDFLAGS" - else - LDFLAGS_GL="$LDFLAGS$ac_path_to_link" + if test "$ac_path_to_link" != " -L/usr/lib" ; then + LDFLAGS_GL="$ac_path_to_link" fi - OPENGL_LIBS="-lGL -lGLU" - AC_MSG_RESULT([yes]) - else + + dnl don't suppose that libGL and libGLU are always in the + dnl same directory -- this is not true for some common + dnl distributions + WX_PATH_FIND_LIBRARIES([$SEARCH_LIB],GLU) + if test "$ac_find_libraries" != "" ; then + WX_LINK_PATH_EXIST([$ac_find_libraries],[$LDFLAGS]) + if test "$ac_path_to_link" != " -L/usr/lib" -a \ + "$ac_path_to_link" != "$LDFLAGS_GL"; then + LDFLAGS_GL="$LDFLAGS_GL$ac_path_to_link" + fi + + found_gl=1 + OPENGL_LIBS="-lGL -lGLU" + AC_MSG_RESULT([yes]) + fi + fi + + if "$found_gl" != 1; then AC_MSG_RESULT([no]) AC_MSG_CHECKING([for -lMesaGL]) - WX_PATH_FIND_LIBRARIES([$SEARCH_LIB],[MesaGL]) + WX_PATH_FIND_LIBRARIES([$SEARCH_LIB],MesaGL) if test "$ac_find_libraries" != "" ; then WX_LINK_PATH_EXIST([$ac_find_libraries],[$LDFLAGS]) LDFLAGS_GL="$LDFLAGS$ac_path_to_link" @@ -2781,9 +2910,10 @@ case "${host}" in 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 @@ -2914,6 +3044,9 @@ 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" + 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}" ;; @@ -2992,7 +3125,7 @@ if test "$wxUSE_SHARED" = "no"; then WX_ALL_INSTALLED="${WX_ALL_INSTALLED} preinstall" fi - if test "$wxUSE_MAC" = 1; then + if test "$wxUSE_MAC" = 1 -o "$wxUSE_COCOA" = 1 ; then WX_ALL_INSTALLED="${WX_ALL_INSTALLED} preinstall" fi @@ -3016,6 +3149,10 @@ else STATIC_FLAG="no" fi +dnl default value is to (silently) do nothing in the 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}" @@ -3023,14 +3160,23 @@ 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" +elif test "$wxUSE_COCOA" = 1; then + 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) + MACRESCOMP="echo -n | \$(RESCOMP) -d __DARWIN__ -t APPL ${LIBWXMACRES} -o" + MACSETFILE="\$(SETFILE)" + MACRESWXCONFIG="echo -n | ${RESCOMP} -d __DARWIN__ -t APPL \$(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 @@ -3168,11 +3314,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... @@ -3266,37 +3445,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 - ], - [ - long l; - struct statvfs fs; - statvfs("/", &fs); - l = fs.f_bsize; - l += fs.f_blocks; - l += fs.f_bavail; + #include + #include ], [ - wx_cv_func_statvfs=yes + statvfs("/", NULL); ], - [ - 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 @@ -3423,10 +3650,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 @@ -3470,6 +3694,30 @@ if test "$TOOLKIT" != "MSW"; then dnl AIX calls the library libpthreads - thanks IBM! THREAD_OPTS="pthreads" ;; + *-hp-hpux* ) + dnl HP-UX aCC only gives a warning, not an error about + dnl -pthread but it doesn't work and we have to use -lpthread + dnl there + if test "x$GCC" != "xyes"; then + THREAD_OPTS="" + fi + ;; + + *-*-irix* ) + dnl gcc under IRIX doesn't seem to like -pthread, but it + dnl doesn't give an error for it neither, just a warning + dnl message -- but this is still very annoying + if test "x$GCC" = "xyes"; then + THREAD_OPTS="" + fi + ;; + + *-*-*UnixWare*) + dnl flying by man pages here: Caldera online docs use this + if test "x$GCC" != "xyes"; then + THREAD_OPTS="-Ethread" + fi + ;; esac dnl simply linking with libpthread should make the test below work but @@ -3544,6 +3792,10 @@ if test "$TOOLKIT" != "MSW"; then ;; *-hp-hpux* ) flag="-D_REENTRANT" + if test "x$GCC" != "xyes"; then + dnl see http://docs.hp.com/hpux/onlinedocs/2213/threads.htm + flag="$flag -D_RWSTD_MULTI_THREAD" + fi ;; *solaris* | alpha*-osf*) flag="-D_REENTRANT" @@ -3817,11 +4069,18 @@ if test "$GCC" = "yes" ; then esac fi +OPTIMISE= if test "$wxUSE_OPTIMISE" = "no" ; then - OPTIMISE= + if test "$GCC" = yes ; then + dnl use -O0 because compiling with it is faster than compiling with no + dnl optimization options at all (at least with g++ 3.2) + OPTIMISE="-O0" + fi else if test "$GCC" = yes ; then OPTIMISE="-O2" + + dnl VZ: does anybody know what does this do?? case "${host}" in i586-*-*|i686-*-* ) OPTIMISE="${OPTIMISE} " @@ -3832,14 +4091,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 --------------------------------------------------------------------------- @@ -3900,10 +4169,6 @@ if test "$wxUSE_DATETIME" = "yes"; then AC_DEFINE(wxUSE_DATETIME) fi -if test "$wxUSE_TIMEDATE" = "yes"; then - AC_DEFINE(wxUSE_TIMEDATE) -fi - if test "$wxUSE_FILE" = "yes"; then AC_DEFINE(wxUSE_FILE) fi @@ -4147,7 +4412,6 @@ if test "$wxUSE_DATETIME" = "yes"; then fi fi - AC_DEFINE(wxUSE_TIMEDATE) SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS typetest" fi @@ -4251,7 +4515,7 @@ dnl --------------------------------------------------------------------------- if test "$wxUSE_GUI" = "yes"; then - if test "$TOOLKIT" = "MAC"; then + if test "$TOOLKIT" = "MAC" -o "$TOOLKIT" = "COCOA"; then AC_MSG_WARN([Joystick not yet supported under Mac OS X... disabled]) wxUSE_JOYSTICK=no fi @@ -4471,22 +4735,22 @@ if test "$wxUSE_PRINTING_ARCHITECTURE" = "yes" ; then SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS printing" fi -if test "$wxUSE_PROLOGIO" = "yes" ; then - AC_DEFINE(wxUSE_PROLOGIO) - ALL_OBJECTS="$ALL_OBJECTS parser.o" -fi +dnl if test "$wxUSE_PROLOGIO" = "yes" ; then +dnl AC_DEFINE(wxUSE_PROLOGIO) +dnl ALL_OBJECTS="$ALL_OBJECTS parser.o" +dnl fi -if test "$wxUSE_RESOURCES" = "yes" ; then - if test "$wxUSE_NANOX" = "yes"; then - AC_MSG_WARN([Cannot use resource database functions in NanoX]) - else - AC_DEFINE(wxUSE_RESOURCES) - SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS resource" - fi - if test "$wxUSE_PROLOGIO" != "yes" ; then - ALL_OBJECTS="$ALL_OBJECTS parser.o" - fi -fi +dnl if test "$wxUSE_RESOURCES" = "yes" ; then +dnl if test "$wxUSE_NANOX" = "yes"; then +dnl AC_MSG_WARN([Cannot use resource database functions in NanoX]) +dnl else +dnl AC_DEFINE(wxUSE_RESOURCES) +dnl SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS resource" +dnl fi +dnl if test "$wxUSE_PROLOGIO" != "yes" ; then +dnl ALL_OBJECTS="$ALL_OBJECTS parser.o" +dnl fi +dnl fi if test "$wxUSE_X_RESOURCES" = "yes"; then AC_DEFINE(wxUSE_X_RESOURCES) @@ -4542,50 +4806,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) @@ -4699,16 +4919,14 @@ if test "$wxUSE_CHECKLST" = "yes"; then SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS checklst" fi -if test "$wxUSE_GAUGE" = "yes"; then - AC_DEFINE(wxUSE_GAUGE) - USES_CONTROLS=1 +if test "$wxUSE_DISPLAY" = "yes"; then + AC_DEFINE(wxUSE_DISPLAY) + SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS display" fi -if test "$wxUSE_NEW_GRID" = "yes"; then - wxUSE_GRID="yes" - AC_DEFINE(wxUSE_NEW_GRID) +if test "$wxUSE_GAUGE" = "yes"; then + AC_DEFINE(wxUSE_GAUGE) USES_CONTROLS=1 - SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS newgrid" fi if test "$wxUSE_GRID" = "yes"; then @@ -4742,11 +4960,11 @@ if test "$wxUSE_NOTEBOOK" = "yes"; then SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS notebook" fi -if test "$wxUSE_PROPSHEET" = "yes"; then - AC_DEFINE(wxUSE_PROPSHEET) - USES_CONTROLS=1 - SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS proplist" -fi +dnl if test "$wxUSE_PROPSHEET" = "yes"; then +dnl AC_DEFINE(wxUSE_PROPSHEET) +dnl USES_CONTROLS=1 +dnl SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS proplist" +dnl fi if test "$wxUSE_RADIOBOX" = "yes"; then AC_DEFINE(wxUSE_RADIOBOX) @@ -4805,12 +5023,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 @@ -4832,7 +5046,7 @@ if test "$wxUSE_TEXTCTRL" = "yes"; then fi if test "$wxUSE_TOGGLEBTN" = "yes"; then - if test "$wxUSE_MAC" = 1; then + if test "$wxUSE_MAC" = 1 -o "$wxUSE_COCOA" = 1 ; then AC_MSG_WARN([Toggle button not yet supported under Mac OS X... disabled]) wxUSE_TOGGLEBTN=no fi @@ -4874,14 +5088,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 @@ -4897,7 +5107,7 @@ if test "$wxUSE_TREECTRL" = "yes"; then fi if test "$wxUSE_POPUPWIN" = "yes"; then - if test "$wxUSE_MAC" = 1; then + if test "$wxUSE_MAC" = 1 -o "$wxUSE_COCOA" = 1 ; then AC_MSG_WARN([Popup window not yet supported under Mac OS X... disabled]) else if test "$wxUSE_MOTIF" = 1; then @@ -4930,10 +5140,10 @@ dnl --------------------------------------------------------------------------- dnl misc options dnl --------------------------------------------------------------------------- -if test "$wxUSE_TREELAYOUT" = "yes"; then - AC_DEFINE(wxUSE_TREELAYOUT) - SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS treelay" -fi +dnl if test "$wxUSE_TREELAYOUT" = "yes"; then +dnl AC_DEFINE(wxUSE_TREELAYOUT) +dnl SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS treelay" +dnl fi if test "$wxUSE_DRAGIMAGE" = "yes"; then AC_DEFINE(wxUSE_DRAGIMAGE) @@ -5140,6 +5350,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 --------------------------------------------------------------------------- @@ -5152,6 +5365,9 @@ dnl extended.c uses floor() and is always linked in if test "$wxUSE_MAC" = 1 ; then LDFLAGS="$LDFLAGS -framework Carbon -framework System" fi +if test "$wxUSE_COCOA" = 1 ; then + LDFLAGS="$LDFLAGS -framework Cocoa -framework System" +fi dnl FIXME: should this be covered by the conditional above dnl given the -lm comment there? Or should that comment (and @@ -5211,7 +5427,7 @@ if test "$wxUSE_GUI" = "yes"; then dnl ipc, mfc, nativdlg, oleauto, ownerdrw SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS artprov controls dialogs \ drawing dynamic erase event exec font image \ - minimal propsize rotate widgets" + minimal propsize rotate shaped widgets" dnl this is needed to be able to find AFM files CPPFLAGS="$CPPFLAGS \$(EXTRADEFS) \$(APPEXTRADEFS)" @@ -5329,6 +5545,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) @@ -5373,8 +5590,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) @@ -5384,6 +5602,7 @@ AC_SUBST(NM) AC_SUBST(LD) AC_SUBST(MAKEINFO) AC_SUBST(INSTALL_LIBRARY) +AC_SUBST(INSTALL_DIR) dnl MAKE_SET will be replaced with "MAKE=..." or nothing if make sets MAKE dnl itself (this macro is required if SUBDIRS variable is used in Makefile.am @@ -5483,6 +5702,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}"