dnl initialization
dnl ---------------------------------------------------------------------------
-AC_INIT([wxWidgets], [2.6.2], [wx-dev@lists.wxwidgets.org])
+AC_INIT([wxWidgets], [2.7.0], [wx-dev@lists.wxwidgets.org])
dnl the file passed to AC_CONFIG_SRCDIR should be specific to our package
AC_CONFIG_SRCDIR([wx-config.in])
dnl wx_release_number += 1
wx_major_version_number=2
-wx_minor_version_number=6
-wx_release_number=2
-wx_subrelease_number=1
+wx_minor_version_number=7
+wx_release_number=0
+wx_subrelease_number=0
WX_RELEASE=$wx_major_version_number.$wx_minor_version_number
WX_VERSION=$WX_RELEASE.$wx_release_number
NEEDS_D_REENTRANT_FOR_R_FUNCS=1
SO_SUFFIX=sl
AC_DEFINE(__HPUX__)
+
+ dnl many standard declarations in HP-UX headers are only included if either
+ dnl _HPUX_SOURCE is defined, see stdsyms(5)
+ CPPFLAGS="-D_HPUX_SOURCE $CPPFLAGS"
;;
*-*-linux* )
USE_LINUX=1
AC_DEFINE(__NETBSD__)
AC_DEFINE(__BSD__)
DEFAULT_DEFAULT_wxUSE_GTK=1
+ NEEDS_D_REENTRANT_FOR_R_FUNCS=1
+
+ dnl some standard declarations in NetBSD headers are only included if
+ dnl _NETBSD_SOURCE and _LIBC are defined, e.g. getservbyname_r in netdb.h
+ CPPFLAGS="-D_NETBSD_SOURCE -D_LIBC $CPPFLAGS"
;;
*-*-osf* )
USE_ALPHA=1
DEFAULT_wxUSE_NO_DEPS=no
DEFAULT_wxUSE_NO_RTTI=no
DEFAULT_wxUSE_NO_EXCEPTIONS=no
+ DEFAULT_wxUSE_UNIVERSAL_BINARY=no
DEFAULT_wxUSE_RPATH=yes
DEFAULT_wxUSE_PERMISSIVE=no
DEFAULT_wxUSE_DEBUG_FLAG=yes
DEFAULT_wxUSE_LIBMSPACK=no
DEFAULT_wxUSE_LIBSDL=no
DEFAULT_wxUSE_LIBGNOMEPRINT=no
+ DEFAULT_wxUSE_LIBGNOMEVFS=no
+ DEFAULT_wxUSE_LIBHILDON=no
DEFAULT_wxUSE_ODBC=no
DEFAULT_wxUSE_OPENGL=no
DEFAULT_wxUSE_TEXTBUFFER=no
DEFAULT_wxUSE_TEXTFILE=no
DEFAULT_wxUSE_SOUND=no
- DEFAULT_wxUSE_MEDIACTRL=no
+ DEFAULT_wxUSE_MEDIACTRL=no
+ DEFAULT_wxUSE_GSTREAMER8=no
DEFAULT_wxUSE_INTL=no
DEFAULT_wxUSE_CONFIG=no
DEFAULT_wxUSE_FONTMAP=no
DEFAULT_wxUSE_MENUS=no
DEFAULT_wxUSE_MINIFRAME=no
DEFAULT_wxUSE_HTML=no
+ DEFAULT_wxUSE_RICHTEXT=no
DEFAULT_wxUSE_XRC=no
DEFAULT_wxUSE_WEBKIT=no
DEFAULT_wxUSE_FILESYSTEM=no
DEFAULT_wxUSE_CHOICE=no
DEFAULT_wxUSE_CHOICEBOOK=no
DEFAULT_wxUSE_COMBOBOX=no
+ DEFAULT_wxUSE_COMBOCONTROL=no
DEFAULT_wxUSE_DATEPICKCTRL=no
DEFAULT_wxUSE_DISPLAY=no
DEFAULT_wxUSE_GAUGE=no
DEFAULT_wxUSE_GRID=no
+ DEFAULT_wxUSE_DATAVIEWCTRL=no
DEFAULT_wxUSE_IMAGLIST=no
DEFAULT_wxUSE_LISTBOOK=no
DEFAULT_wxUSE_LISTBOX=no
DEFAULT_wxUSE_LISTCTRL=no
DEFAULT_wxUSE_NOTEBOOK=no
+ DEFAULT_wxUSE_OWNERDRAWNCOMBOBOX=no
DEFAULT_wxUSE_RADIOBOX=no
DEFAULT_wxUSE_RADIOBTN=no
DEFAULT_wxUSE_SASH=no
DEFAULT_wxUSE_STATLINE=no
DEFAULT_wxUSE_STATTEXT=no
DEFAULT_wxUSE_STATUSBAR=yes
- DEFAULT_wxUSE_TABDIALOG=no
+ DEFAULT_wxUSE_TAB_DIALOG=no
DEFAULT_wxUSE_TEXTCTRL=no
DEFAULT_wxUSE_TOGGLEBTN=no
DEFAULT_wxUSE_TOOLBAR=no
DEFAULT_wxUSE_TOOLBAR_NATIVE=no
DEFAULT_wxUSE_TOOLBAR_SIMPLE=no
+ DEFAULT_wxUSE_TREEBOOK=no
+ DEFAULT_wxUSE_TOOLBOOK=no
DEFAULT_wxUSE_TREECTRL=no
DEFAULT_wxUSE_POPUPWIN=no
DEFAULT_wxUSE_TIPWINDOW=no
DEFAULT_wxUSE_XPM=no
DEFAULT_wxUSE_ICO_CUR=no
DEFAULT_wxUSE_ACCESSIBILITY=no
-
+
DEFAULT_wxUSE_MONOLITHIC=no
DEFAULT_wxUSE_PLUGINS=no
DEFAULT_wxUSE_OFFICIAL_BUILD=no
DEFAULT_wxUSE_NO_DEPS=no
DEFAULT_wxUSE_NO_RTTI=no
DEFAULT_wxUSE_NO_EXCEPTIONS=no
+ DEFAULT_wxUSE_UNIVERSAL_BINARY=no
DEFAULT_wxUSE_RPATH=yes
DEFAULT_wxUSE_PERMISSIVE=no
DEFAULT_wxUSE_DEBUG_FLAG=no
DEFAULT_wxUSE_LIBMSPACK=yes
DEFAULT_wxUSE_LIBSDL=no
DEFAULT_wxUSE_LIBGNOMEPRINT=no
+ DEFAULT_wxUSE_LIBGNOMEVFS=no
+ DEFAULT_wxUSE_LIBHILDON=no
DEFAULT_wxUSE_ODBC=no
DEFAULT_wxUSE_OPENGL=no
DEFAULT_wxUSE_TEXTFILE=yes
DEFAULT_wxUSE_SOUND=yes
DEFAULT_wxUSE_MEDIACTRL=no
+ DEFAULT_wxUSE_GSTREAMER8=no
DEFAULT_wxUSE_INTL=yes
DEFAULT_wxUSE_CONFIG=yes
DEFAULT_wxUSE_FONTMAP=yes
DEFAULT_wxUSE_MENUS=yes
DEFAULT_wxUSE_MINIFRAME=yes
DEFAULT_wxUSE_HTML=yes
+ DEFAULT_wxUSE_RICHTEXT=yes
DEFAULT_wxUSE_XRC=yes
DEFAULT_wxUSE_WEBKIT=yes
DEFAULT_wxUSE_FILESYSTEM=yes
DEFAULT_wxUSE_CHOICE=yes
DEFAULT_wxUSE_CHOICEBOOK=yes
DEFAULT_wxUSE_COMBOBOX=yes
+ DEFAULT_wxUSE_COMBOCONTROL=yes
DEFAULT_wxUSE_DATEPICKCTRL=yes
DEFAULT_wxUSE_DISPLAY=yes
DEFAULT_wxUSE_GAUGE=yes
DEFAULT_wxUSE_GRID=yes
+ DEFAULT_wxUSE_DATAVIEWCTRL=no
DEFAULT_wxUSE_IMAGLIST=yes
DEFAULT_wxUSE_LISTBOOK=yes
DEFAULT_wxUSE_LISTBOX=yes
DEFAULT_wxUSE_LISTCTRL=yes
DEFAULT_wxUSE_NOTEBOOK=yes
+ DEFAULT_wxUSE_OWNERDRAWNCOMBOBOX=yes
DEFAULT_wxUSE_RADIOBOX=yes
DEFAULT_wxUSE_RADIOBTN=yes
DEFAULT_wxUSE_SASH=yes
DEFAULT_wxUSE_STATLINE=yes
DEFAULT_wxUSE_STATTEXT=yes
DEFAULT_wxUSE_STATUSBAR=yes
- DEFAULT_wxUSE_TABDIALOG=no
+ DEFAULT_wxUSE_TAB_DIALOG=no
DEFAULT_wxUSE_TEXTCTRL=yes
DEFAULT_wxUSE_TOGGLEBTN=yes
DEFAULT_wxUSE_TOOLBAR=yes
DEFAULT_wxUSE_TOOLBAR_NATIVE=yes
DEFAULT_wxUSE_TOOLBAR_SIMPLE=yes
+ DEFAULT_wxUSE_TREEBOOK=yes
+ DEFAULT_wxUSE_TOOLBOOK=yes
DEFAULT_wxUSE_TREECTRL=yes
DEFAULT_wxUSE_POPUPWIN=yes
DEFAULT_wxUSE_TIPWINDOW=yes
DEFAULT_wxUSE_XPM=yes
DEFAULT_wxUSE_ICO_CUR=yes
DEFAULT_wxUSE_ACCESSIBILITY=no
-
+
DEFAULT_wxUSE_MONOLITHIC=no
DEFAULT_wxUSE_PLUGINS=no
DEFAULT_wxUSE_OFFICIAL_BUILD=no
has_toolkit_in_cache=1
eval "DEFAULT_$LINE"
eval "CACHE_$toolkit=1"
-
+
LINE=`grep "wx${toolkit}_VERSION=" ${wx_arg_cache_file}`
if test "x$LINE" != "x" ; then
eval "DEFAULT_$LINE"
WX_ARG_ENABLE(gui, [ --enable-gui use GUI classes], wxUSE_GUI)
WX_ARG_ENABLE(monolithic, [ --enable-monolithic build wxWidgets as single library], wxUSE_MONOLITHIC)
WX_ARG_ENABLE(plugins, [ --enable-plugins build parts of wxWidgets as loadable components], wxUSE_PLUGINS)
+WX_ARG_WITH(subdirs, [ --without-subdirs don't generate makefiles for samples/demos/...], wxWITH_SUBDIRS, without)
if test "$wxUSE_GUI" = "yes"; then
WX_ARG_SYS_WITH(libxpm, [ --with-libxpm use libxpm (XPM file format)], wxUSE_LIBXPM)
WX_ARG_WITH(libmspack, [ --with-libmspack use libmspack (CHM help files loading)], wxUSE_LIBMSPACK)
WX_ARG_WITH(sdl, [ --with-sdl use SDL for audio on Unix], wxUSE_LIBSDL)
-WX_ARG_WITH(gnomeprint, [ --with-gnomeprint use GNOME print for printing under Unix], wxUSE_LIBGNOMEPRINT)
+WX_ARG_WITH(gnomeprint, [ --with-gnomeprint use GNOME print for printing under GNOME], wxUSE_LIBGNOMEPRINT)
+WX_ARG_WITH(gnomevfs, [ --with-gnomevfs use GNOME VFS for associating MIME types], wxUSE_LIBGNOMEVFS)
+WX_ARG_WITH(hildon, [ --with-hildon use Hildon framework for Nokia 770], wxUSE_LIBHILDON)
WX_ARG_WITH(opengl, [ --with-opengl use OpenGL (or Mesa)], wxUSE_OPENGL)
fi
WX_ARG_ENABLE(no_exceptions, [ --enable-no_exceptions create code without C++ exceptions handling], wxUSE_NO_EXCEPTIONS)
WX_ARG_ENABLE(permissive, [ --enable-permissive compile code disregarding strict ANSI], wxUSE_PERMISSIVE)
WX_ARG_ENABLE(no_deps, [ --enable-no_deps create code without dependency information], wxUSE_NO_DEPS)
+WX_ARG_ENABLE(universal_binary, [ --enable-universal_binary create Mac PowerPC and Intel Universal binary (not yet working)], wxUSE_UNIVERSAL_BINARY)
-WX_ARG_ENABLE(compat22, [ --enable-compat22 enable wxWidgets 2.2 compatibility], WXWIN_COMPATIBILITY_2_2)
-WX_ARG_ENABLE(compat24, [ --disable-compat24 disable wxWidgets 2.4 compatibility], WXWIN_COMPATIBILITY_2_4, disable)
+WX_ARG_ENABLE(compat24, [ --enable-compat24 enable wxWidgets 2.4 compatibility], WXWIN_COMPATIBILITY_2_4, enable)
+WX_ARG_ENABLE(compat26, [ --disable-compat26 disable wxWidgets 2.6 compatibility], WXWIN_COMPATIBILITY_2_6, disable)
WX_ARG_ENABLE(rpath, [ --disable-rpath disable use of rpath for uninstalled builds], wxUSE_RPATH)
WX_ARG_ENABLE(unicode, [ --enable-unicode compile wxString with Unicode support], wxUSE_UNICODE)
WX_ARG_ENABLE(sound, [ --enable-sound use wxSound class], wxUSE_SOUND)
WX_ARG_ENABLE(mediactrl, [ --enable-mediactrl use wxMediaCtrl class], wxUSE_MEDIACTRL)
+WX_ARG_ENABLE(gstreamer8, [ --enable-gstreamer8 force GStreamer 0.8 instead of 0.10 with the wxMediaCtrl class on unix], wxUSE_GSTREAMER8)
WX_ARG_ENABLE(wxprintfv, [ --enable-wxprintfv use wxWidgets implementation of vprintf()], wxUSE_EXPERIMENTAL_PRINTF)
WX_ARG_ENABLE(zipstream, [ --enable-zipstream use wxZip streams], wxUSE_ZIPSTREAM)
WX_ARG_ENABLE(logwin, [ --enable-logwin use wxLogWindow], wxUSE_LOGWINDOW)
WX_ARG_ENABLE(logdialog, [ --enable-logdialog use wxLogDialog], wxUSE_LOGDIALOG)
WX_ARG_ENABLE(webkit, [ --enable-webkit use wxWebKitCtrl (Mac)], wxUSE_WEBKIT)
+WX_ARG_ENABLE(html, [ --enable-richtext use wxRichTextCtrl], wxUSE_RICHTEXT)
dnl ---------------------------------------------------------------------------
dnl PostScript options
DEFAULT_wxUSE_DATEPICKCTRL=yes
DEFAULT_wxUSE_GAUGE=yes
DEFAULT_wxUSE_GRID=yes
+ DEFAULT_wxUSE_DATAVIEWCTRL=no
DEFAULT_wxUSE_IMAGLIST=yes
DEFAULT_wxUSE_LISTBOOK=yes
DEFAULT_wxUSE_LISTBOX=yes
DEFAULT_wxUSE_TOOLBAR_NATIVE=yes
DEFAULT_wxUSE_TOOLBAR_SIMPLE=yes
DEFAULT_wxUSE_TOOLTIPS=yes
+ DEFAULT_wxUSE_TREEBOOK=yes
+ DEFAULT_wxUSE_TOOLBOOK=yes
DEFAULT_wxUSE_TREECTRL=yes
DEFAULT_wxUSE_POPUPWIN=yes
DEFAULT_wxUSE_TIPWINDOW=yes
DEFAULT_wxUSE_DATEPICKCTRL=no
DEFAULT_wxUSE_GAUGE=no
DEFAULT_wxUSE_GRID=no
+ DEFAULT_wxUSE_DATAVIEWCTRL=no
DEFAULT_wxUSE_IMAGLIST=no
DEFAULT_wxUSE_LISTBOOK=no
DEFAULT_wxUSE_LISTBOX=no
DEFAULT_wxUSE_TOOLBAR_NATIVE=no
DEFAULT_wxUSE_TOOLBAR_SIMPLE=no
DEFAULT_wxUSE_TOOLTIPS=no
+ DEFAULT_wxUSE_TREEBOOK=no
+ DEFAULT_wxUSE_TOOLBOOK=no
DEFAULT_wxUSE_TREECTRL=no
DEFAULT_wxUSE_POPUPWIN=no
DEFAULT_wxUSE_TIPWINDOW=no
WX_ARG_ENABLE(choice, [ --enable-choice use wxChoice class], wxUSE_CHOICE)
WX_ARG_ENABLE(choicebook, [ --enable-choicebook use wxChoicebook class], wxUSE_CHOICEBOOK)
WX_ARG_ENABLE(combobox, [ --enable-combobox use wxComboBox class], wxUSE_COMBOBOX)
+WX_ARG_ENABLE(combocontrol,[ --enable-combocontrol use wxComboControl class], wxUSE_COMBOCONTROL)
WX_ARG_ENABLE(datepick, [ --enable-datepick use wxDatePickerCtrl class], wxUSE_DATEPICKCTRL)
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(dataviewctrl,[ --enable-dataviewctrl, use wxDataViewCtrl class], wxUSE_DATAVIEWCTRL)
WX_ARG_ENABLE(imaglist, [ --enable-imaglist use wxImageList class], wxUSE_IMAGLIST)
WX_ARG_ENABLE(listbook, [ --enable-listbook use wxListbook class], wxUSE_LISTBOOK)
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(odcombo, [ --enable-odcombo use wxOwnerDrawnComboBox class], wxUSE_OWNERDRAWNCOMBOBOX)
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)
WX_ARG_ENABLE(statline, [ --enable-statline use wxStaticLine class], wxUSE_STATLINE)
WX_ARG_ENABLE(stattext, [ --enable-stattext use wxStaticText class], wxUSE_STATTEXT)
WX_ARG_ENABLE(statusbar, [ --enable-statusbar use wxStatusBar class], wxUSE_STATUSBAR)
-WX_ARG_ENABLE(tabdialog, [ --enable-tabdialog use wxTabControl class], wxUSE_TABDIALOG)
+WX_ARG_ENABLE(tabdialog, [ --enable-tabdialog use wxTabControl class], wxUSE_TAB_DIALOG)
WX_ARG_ENABLE(textctrl, [ --enable-textctrl use wxTextCtrl class], wxUSE_TEXTCTRL)
WX_ARG_ENABLE(togglebtn, [ --enable-togglebtn use wxToggleButton class], wxUSE_TOGGLEBTN)
WX_ARG_ENABLE(toolbar, [ --enable-toolbar use wxToolBar class], wxUSE_TOOLBAR)
WX_ARG_ENABLE(tbarnative, [ --enable-tbarnative use native wxToolBar class], wxUSE_TOOLBAR_NATIVE)
WX_ARG_ENABLE(tbarsmpl, [ --enable-tbarsmpl use wxToolBarSimple class], wxUSE_TOOLBAR_SIMPLE)
+WX_ARG_ENABLE(treebook, [ --enable-treebook use wxTreebook class], wxUSE_TREEBOOK)
+WX_ARG_ENABLE(toolbook, [ --enable-toolbook use wxToolbook class], wxUSE_TOOLBOOK)
WX_ARG_ENABLE(treectrl, [ --enable-treectrl use wxTreeCtrl class], wxUSE_TREECTRL)
WX_ARG_ENABLE(tipwindow, [ --enable-tipwindow use wxTipWindow class], wxUSE_TIPWINDOW)
WX_ARG_ENABLE(popupwin, [ --enable-popupwin use wxPopUpWindow class], wxUSE_POPUPWIN)
dnl adds -traditional for gcc if needed
AC_PROG_GCC_TRADITIONAL
-AC_LANG_SAVE
-AC_LANG_CPLUSPLUS
+dnl do all checks from now on using the C++ compiler: this saves us a lot of
+dnl problems with various functions which may be available in libc but not
+dnl declared in the header and various pointer conversions which compile with
+dnl the C compiler but not in C++
+AC_LANG_PUSH(C++)
dnl C++-compiler checks
dnl defines CXX with the compiler to use
CXXFLAGS=${CXXFLAGS:=}
AC_BAKEFILE_PROG_CXX
-AC_LANG_RESTORE
-
dnl ranlib command
dnl defines RANLIB with the appropriate command
AC_PROG_RANLIB
dnl Win32 tools
if test "$wxUSE_WINE" = "yes"; then
- AC_CHECK_TOOL(RESCOMP, wrc)
+ AC_CHECK_TOOL(WINDRES, wrc)
+ RESCOMP="$WINDRES"
else
case "${host}" in
*-*-cygwin* | *-*-mingw32* )
- AC_CHECK_TOOL(RESCOMP, windres)
+ dnl Bakefile CVS (as of 2005-11-24) now detects windres properly
+ dnl ... maybe it does, but it does not make it available here
+ dnl anymore, so do it ourselves still.
+ AC_CHECK_TOOL(WINDRES, windres)
+ RESCOMP="$WINDRES"
AC_CHECK_TOOL(DLLTOOL, dlltool)
;;
esac
dnl needed for making link to setup.h
AC_PROG_LN_S
+
dnl ------------------------------------------------------------------------
dnl Platform specific tests
dnl ------------------------------------------------------------------------
dnl xlC needs -qunique under AIX so that one source file can be
dnl compiled to multiple object files and safely linked together.
if test "x$XLCXX" = "xyes" -a "x$USE_AIX" = "x1"; then
- CXXFLAGS="$CXXFLAGS -qunique"
+ CXXFLAGS="-qunique $CXXFLAGS"
fi
dnl This case is for PowerPC OS X vs. everything else
[AC_MSG_RESULT([yes])
dnl We must use -D so source files that don't include wx/setup.h
dnl but do include CFBase will work.
- CPPFLAGS="$CPPFLAGS -D__CF_USE_FRAMEWORK_INCLUDES__"],
+ CPPFLAGS="-D__CF_USE_FRAMEWORK_INCLUDES__ $CPPFLAGS"],
[AC_MSG_FAILURE([no. CoreFoundation not available.])]
)
]
dnl not "g++/c++".
dnl ---------------------------------------------------------------------
dnl (OS/2-only piece)
+ AC_LANG_PUSH(C)
if test "$wxUSE_MOTIF" = 1 -o "$wxUSE_GTK" = 1 -o "$wxUSE_X11" = 1; then
dnl More complete Unix emulation for unix-like ports
dnl by linking in POSIX/2's cExt (if available).
dnl wx_cv_gccversion = Innotek6 -> gcc-3.3.5 with Innotek libc6.
AC_CACHE_CHECK([for gcc/libc version], wx_cv_gccversion,[
AC_TRY_RUN(
- dnl Check the gcc version macro.
+ dnl Check the gcc version macro.
[
#include <stdio.h>
wx_cv_gccversion="EMX2"
)
])
+ AC_LANG_POP
if test "$wx_cv_gccversion" = "EMX2"; then
LIBS="$LIBS -lstdcpp"
LDFLAGS="$LDFLAGS -Zsysv-signals"
dnl ---------------------------------------------------------------------
dnl (non-OS/2-only piece)
- AC_LANG_SAVE
- AC_LANG_CPLUSPLUS
-
AC_CACHE_CHECK([for strcasecmp() in string.h], ac_cv_string_strcasecmp, [
AC_TRY_LINK([
#include <string.h>
fi
fi
- AC_LANG_RESTORE
dnl (end of non-OS/2-only piece)
;;
esac
AC_CHECK_SIZEOF(long long, 0)
if test "$ac_cv_sizeof_long_long" != "0"; then
dnl HPUX 10.20 headers need this define in order to use long long definitions
- CPPFLAGS="$CPPFLAGS -D_INCLUDE_LONGLONG"
+ CPPFLAGS="-D_INCLUDE_LONGLONG $CPPFLAGS"
fi
;;
* )
dnl problems
if test "x$wx_largefile" = "xyes"; then
if test "x$ac_cv_sys_file_offset_bits" = "x64"; then
- WX_LARGEFILE_FLAGS="-D_FILE_OFFSET_BITS=64 -D_LARGE_FILES"
+ WXCONFIG_CPPFLAGS="$WXCONFIG_CPPFLAGS -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES"
dnl We get "Large Files (ILP32) not supported in strict ANSI mode."
dnl #error from HP standard headers unless __STDC_EXT__ is defined.
[if -D__STDC_EXT__ is required],
wx_cv_STDC_EXT_required,
[
- AC_LANG_SAVE
- AC_LANG_CPLUSPLUS
AC_TRY_COMPILE(
[],
[
wx_cv_STDC_EXT_required=no,
wx_cv_STDC_EXT_required=yes
)
- AC_LANG_RESTORE
]
)
if test "x$wx_cv_STDC_EXT_required" = "xyes"; then
- CXXFLAGS="$CXXFLAGS -D__STDC_EXT__"
+ WXCONFIG_CXXFLAGS="$WXCONFIG_CXXFLAGS -D__STDC_EXT__"
fi
fi
else
- WX_LARGEFILE_FLAGS="-D_LARGE_FILES"
+ WXCONFIG_CPPFLAGS="$WXCONFIG_CPPFLAGS -D_LARGE_FILES"
fi
dnl AC_FUNC_FSEEKO sets HAVE_FSEEKO and $ac_cv_sys_largefile_source
AC_FUNC_FSEEKO
if test "$ac_cv_sys_largefile_source" != no; then
- WX_LARGEFILE_FLAGS="$WX_LARGEFILE_FLAGS -D_LARGEFILE_SOURCE=$ac_cv_sys_largefile_source"
+ WXCONFIG_CPPFLAGS="$WXCONFIG_CPPFLAGS -D_LARGEFILE_SOURCE=$ac_cv_sys_largefile_source"
fi
- CPPFLAGS="$CPPFLAGS $WX_LARGEFILE_FLAGS"
fi
dnl check for bytesex stuff (don't use AC_C_BIGENDIAN to allow cross-compiling)
dnl With Sun CC, temporaries have block scope by default. This flag is needed
dnl to get the expression scope behaviour that conforms to the standard.
if test "x$SUNCXX" = xyes; then
- CXXFLAGS="$CXXFLAGS -features=tmplife"
+ CXXFLAGS="-features=tmplife $CXXFLAGS"
fi
dnl Sun X11 headers are (still, in 2005!) non-ANSI and the best they could do
dnl still spits out dozens of warnings for each X include file, so suppress
dnl them
if test "x$SUNCC" = xyes; then
- CFLAGS="$CFLAGS -erroff=E_NO_EXPLICIT_TYPE_GIVEN"
+ CFLAGS="-erroff=E_NO_EXPLICIT_TYPE_GIVEN $CFLAGS"
fi
dnl SGI mipsPro compiler gives this warning for "conversion from pointer to
dnl a better long term solution would be to use #pragma set/reset woff in
dnl wxPtrToUInt() and use it instead of casts elsewhere
if test "x$SGICC" = "xyes"; then
- CFLAGS="$CFLAGS -woff 3970"
+ CFLAGS="-woff 3970 $CFLAGS"
fi
if test "x$SGICXX" = "xyes"; then
- CXXFLAGS="$CXXFLAGS -woff 3970"
+ CXXFLAGS="-woff 3970 $CXXFLAGS"
+fi
+
+dnl HP-UX c89/aCC compiler warnings
+if test "x$HPCC" = "xyes"; then
+ dnl 2011: "unrecognized preprocessor directive": nice warning but it's given
+ dnl even for directives inside #if which is not true (i.e. which are
+ dnl used for other compilers/OS) and so we have no way to get rid of it
+ dnl 2450: "long long is non standard" -- yes, we know
+ CFLAGS="+W 2011,2450 $CFLAGS"
+fi
+if test "x$HPCXX" = "xyes"; then
+ dnl 2340: "value copied to temporary, reference to temporary used": very
+ dnl painful as triggered by any occurrence of user-defined conversion
+ CXXFLAGS="+W 2340 $CXXFLAGS"
+fi
+
+dnl DEC/Compaq/HP cxx warnings
+if test "x$COMPAQCXX" = "xyes"; then
+ dnl -w0 enables all warnings, then we disable some of them:
+ dnl basclsnondto: base class dtor non virtual (sometimes we do want this)
+ dnl unrimpret: "end of routine block may be unreachable" is given for
+ dnl every "if ( ) return ...; else return ...;"
+ dnl intconlosbit: "conversion to integral type of smaller size could lose
+ dnl data" this is a useful warning but there are too many of
+ dnl them for now
+ CXXFLAGS="-w0 -msg_disable basclsnondto,unrimpret,intconlosbit"
fi
dnl check for std::string or std::wstring
if test "$wxUSE_STD_STRING" = "yes" -o "$wxUSE_STL" = "yes"; then
- AC_LANG_PUSH(C++)
-
if test "$wxUSE_UNICODE" = "yes"; then
std_string="std::wstring"
char_type="wchar_t"
]
)
])
-
- AC_LANG_POP
fi
if test "$wxUSE_STD_IOSTREAM" = "yes"; then
- AC_LANG_PUSH(C++)
-
AC_CHECK_TYPES([std::istream, std::ostream],,
[wxUSE_STD_IOSTREAM=no],
[#include <iostream>])
AC_MSG_WARN([No std::iostreams, switching to --disable-std_iostreams])
fi
fi
-
- AC_LANG_POP
fi
if test "$wxUSE_STL" = "yes"; then
- AC_LANG_PUSH(C++)
-
dnl check for basic STL functionality
AC_MSG_CHECKING([for basic STL functionality])
AC_TRY_COMPILE([#include <string>
#include <list>],
[std::vector<int> moo;
std::list<int> foo;
- std::vector<int>::iterator it =
+ std::vector<int>::iterator it =
std::find_if(moo.begin(), moo.end(),
std::bind2nd(std::less<int>(), 3));],
[AC_MSG_RESULT([yes])],
AC_DEFINE(HAVE_GNU_CXX_HASH_MAP)],
[AC_MSG_RESULT(no)])
])
-
- AC_LANG_POP
fi
dnl ---------------------------------------------------------------------------
dnl strip out any that don't start '^/usr'.
SEARCH_LIB=`for x in $SEARCH_LIB; do echo $x; done | sed -ne "s|^/usr|$cross_root|p"`
SEARCH_INCLUDE=`for x in $SEARCH_INCLUDE; do echo $x; done | sed -ne "s|^/usr|$cross_root|p"`
+ SEARCH_INCLUDE="$SEARCH_INCLUDE $cross_root/include"
dnl also have pkg-config search for *.pc files under this 'root'
if test -z "$PKG_CONFIG_PATH"; then
fi
fi
+dnl Only add the -lm library if floating point functions cannot be used
+dnl without it. This check is important on cygwin because of the bizarre
+dnl way that they have organized functions into libraries. On cygwin, both
+dnl libc.a and libm.a are symbolic links to a single lib libcygwin.a. This
+dnl means that
+dnl 1) linking with -lm is not necessary, and
+dnl 2) linking with -lm is dangerous if the order of libraries is wrong
+dnl In particular, if you compile any program with -mno-cygwin and link with
+dnl -lm, it will crash instantly when it is run. This happens because the
+dnl linker incorrectly links the Cygwin libm.a (==libcygwin.a), which replaces
+dnl the ___main function instead of allowing it to be defined by
+dnl /usr/lib/mingw/libmingw32.a as it should be.
+dnl
+dnl On MacOS X, this test will find that -lm is unnecessary and leave it out.
+dnl
+dnl Just check a few floating point functions. If they are all found without
+dnl -lm, then we must not need -lm.
+have_cos=0
+have_floor=0
+AC_CHECK_FUNCS(cos, have_cos=1)
+AC_CHECK_FUNCS(floor, have_floor=1)
+AC_MSG_CHECKING(if floating point functions link without -lm)
+if test "$have_cos" = 1 -a "$have_floor" = 1; then
+ AC_MSG_RESULT(yes)
+else
+ AC_MSG_RESULT(no)
+ LIBS="$LIBS -lm"
+ # use different functions to avoid configure caching
+ have_sin=0
+ have_ceil=0
+ AC_CHECK_FUNCS(sin, have_sin=1)
+ AC_CHECK_FUNCS(ceil, have_ceil=1)
+ AC_MSG_CHECKING(if floating point functions link with -lm)
+ if test "$have_sin" = 1 -a "$have_ceil" = 1; then
+ AC_MSG_RESULT(yes)
+ else
+ AC_MSG_RESULT(no)
+ # not sure we should warn the user, crash, etc.
+ fi
+fi
+
dnl ---------------------------------------------------------------------------
dnl Optional libraries
dnl
if test "$wxUSE_REGEX" != "no"; then
AC_DEFINE(wxUSE_REGEX)
-
+
if test "$wxUSE_UNICODE" = "yes" -a "$wxUSE_REGEX" = "yes"; then
AC_MSG_WARN([Defaulting to the the builtin regex library for Unicode build.])
wxUSE_REGEX=builtin
if test "$wxUSE_REGEX" = "sys" -o "$wxUSE_REGEX" = "yes" ; 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)])
+ AC_CHECK_HEADER(regex.h, [AC_CHECK_FUNCS(regcomp re_search)])
if test "x$ac_cv_func_regcomp" != "xyes"; then
if test "$wxUSE_REGEX" = "sys" ; then
wxUSE_XML=yes
AC_DEFINE(wxUSE_EXPAT)
AC_DEFINE(wxUSE_XML)
-
- if test "$wxUSE_EXPAT" = "sys" -o "$wxUSE_EXPAT" = "yes" ; then
+
+ if test "$wxUSE_EXPAT" = "sys" -o "$wxUSE_EXPAT" = "yes" ; then
AC_CHECK_HEADER([expat.h], [found_expat_h=1])
if test "x$found_expat_h" = "x1"; then
dnl Expat 1.95.6 comes with broken expat.h:
AC_CACHE_CHECK([if expat.h is valid C++ header],
wx_cv_expat_is_not_broken,
[
- AC_LANG_SAVE
- AC_LANG_CPLUSPLUS
AC_TRY_COMPILE([#include <expat.h>],[],
wx_cv_expat_is_not_broken=yes,
wx_cv_expat_is_not_broken=no
)
- AC_LANG_RESTORE
]
)
if test "$wx_cv_expat_is_not_broken" = "yes" ; then
*-*-cygwin* )
dnl Cygwin doesn't include these by default
LIBS="$LIBS -lkernel32 -luser32"
- TOOLCHAIN_DEFS="${TOOLCHAIN_DEFS} -D__WIN95__"
esac
dnl add extra odbc libs if we have compiled in odbc
fi
dnl We might want to abort here if wxUSE_ODBC="builtin" isn't supported on msw.
+ dnl This one is still used by some sample makefiles.
RESFLAGS="--include-dir \$(top_srcdir)/include --include-dir \$(top_srcdir)/\$(program_dir) --define __WIN32__ --define __WIN95__ --define __GNUWIN32__"
RESPROGRAMOBJ="\$(PROGRAM)_resources.o"
+ dnl This lot we export to wx-config. It must add the relevant
+ dnl include directories at the point when they can be known.
+ dnl (but are these (still) required anyway?)
+ WXCONFIG_RESFLAGS="--define __WIN32__ --define __WIN95__ --define __GNUWIN32__"
+
dnl install Win32-specific files in "make install"
WIN32INSTALL=win32install
fi
fi
if test "$wxUSE_GTK" = 1; then
+ dnl GTK+ test program must be compiled with C compiler
+ AC_LANG_PUSH(C)
+
AC_MSG_CHECKING([for GTK+ version])
gtk_version_cached=1
case "${host}" in
*-*-solaris2* )
if test "$wxUSE_THREADS" = "yes" -a "$GCC" = yes; then
- enable_gtktest=no
+ enable_gtktest=no
fi
esac
esac
if test "$WXGTK20" = 1; then
- save_CFLAGS="$CFLAGS"
+ save_CXXFLAGS="$CFLAGS"
save_LIBS="$LIBS"
- CFLAGS="$CFLAGS $wx_cv_cflags_gtk"
+ CFLAGS="$wx_cv_cflags_gtk $CFLAGS"
LIBS="$LIBS $wx_cv_libs_gtk"
dnl gtk_icon_size_lookup is not available in the GTK+ headers
fi
fi
+ AC_LANG_POP
+
dnl we need poll() in src/gtk/app.cpp (we know that Darwin doesn't
dnl have it but we do the check for the others)
if test "$USE_DARWIN" != 1; then
dnl test for XIM support in libgdk
AC_CHECK_LIB(gdk, gdk_im_open, AC_DEFINE(HAVE_XIM))
-
-
+
+
dnl test for external libxpm if we're configured to use it
if test "$wxUSE_GPE" = "yes"; then
AC_MSG_CHECKING(for gpewidget library)
AC_PATH_XTRA
if test "$no_x" = "yes"; then
- AC_MSG_ERROR(X11 not found, please use --x-includes and/or --x-libraries options)
+ AC_MSG_ERROR([X11 not found, please use --x-includes and/or --x-libraries options (see config.log for details)])
fi
dnl for some reason AC_PATH_XTRA seems to add -INONE and -LNONE (and
if test "$wxUSE_UNICODE" = "yes"; then
PKG_CHECK_MODULES(PANGOX, pangox,
[
- CXXFLAGS="$CXXFLAGS $PANGOX_CFLAGS"
+ CXXFLAGS="$PANGOX_CFLAGS $CXXFLAGS"
GUI_TK_LIBRARY="$GUI_TK_LIBRARY $PANGOX_LIBS"
],
[
)
PKG_CHECK_MODULES(PANGOFT2, pangoft2,
[
- CXXFLAGS="$CXXFLAGS $PANGOFT2_CFLAGS"
+ CXXFLAGS="$PANGOFT2_CFLAGS $CXXFLAGS"
GUI_TK_LIBRARY="$GUI_TK_LIBRARY $PANGOFT2_LIBS"
],
[
PKG_CHECK_MODULES(PANGOXFT, pangoxft,
[
AC_DEFINE(HAVE_PANGO_XFT)
- CXXFLAGS="$CXXFLAGS $PANGOXFT_CFLAGS"
+ CXXFLAGS="$PANGOXFT_CFLAGS $CXXFLAGS"
GUI_TK_LIBRARY="$GUI_TK_LIBRARY $PANGOXFT_LIBS"
],
[
AC_MSG_WARN([pangoxft library not found, library will be compiled without anti-aliasing support])
]
)
- save_CFLAGS="$CFLAGS"
+ save_CXXFLAGS="$CXXFLAGS"
save_LIBS="$LIBS"
- CFLAGS="$CFLAGS $PANGOX_CFLAGS"
+ CXXFLAGS="$PANGOX_CFLAGS $CXXFLAGS"
LIBS="$LIBS $PANGOX_LIBS"
AC_CHECK_FUNCS([pango_font_family_is_monospace])
- CFLAGS="$save_CFLAGS"
+ CXXFLAGS="$save_CXXFLAGS"
LIBS="$save_LIBS"
fi
WX_INCLUDE_PATH_EXIST($ac_find_includes, $TOOLKIT_INCLUDE)
TOOLKIT_INCLUDE="$TOOLKIT_INCLUDE$ac_path_to_include"
else
- save_CFLAGS=$CFLAGS
- CFLAGS="$CFLAGS $TOOLKIT_INCLUDE"
+ save_CXXFLAGS=$CXXFLAGS
+ CXXFLAGS="$TOOLKIT_INCLUDE $CXXFLAGS"
AC_TRY_COMPILE(
[
]
)
- CFLAGS=$save_CFLAGS
+ CXXFLAGS=$save_CXXFLAGS
fi
dnl it might happen that we found headers in one of the standard
dnl paths but the libs are elsewhere but still in default (linker)
dnl path -- try to compile a test program to check for this
- save_CFLAGS=$CFLAGS
- CFLAGS="$CFLAGS $TOOLKIT_INCLUDE"
+ save_CXXFLAGS=$CXXFLAGS
+ CXXFLAGS="$TOOLKIT_INCLUDE $CXXFLAGS"
save_LIBS="$LIBS"
LIBS="$GUI_TK_LIBRARY -lXm -lXmu -lXext -lX11"
]
)
- CFLAGS=$save_CFLAGS
+ CXXFLAGS=$save_CXXFLAGS
LIBS="$save_LIBS"
fi
if test "$libs_found" = "0"; then
save_LIBS="$LIBS"
LIBS="$GUI_TK_LIBRARY -lXm ${libp} -lXmu -lXext -lXt${libsm_ice} -lX11"
- save_CFLAGS=$CFLAGS
- CFLAGS="$CFLAGS $TOOLKIT_INCLUDE"
+ save_CXXFLAGS=$CXXFLAGS
+ CXXFLAGS="$TOOLKIT_INCLUDE $CXXFLAGS"
AC_TRY_LINK(
[
)
LIBS="$save_LIBS"
- CFLAGS=$save_CFLAGS
+ CXXFLAGS=$save_CXXFLAGS
fi
done
fi
dnl elsewhere
AC_CHECK_LIB(Sgm, [SgCreateList], [libsgm_link=" -lSgm"])
- save_CFLAGS=$CFLAGS
- CFLAGS="$CFLAGS $TOOLKIT_INCLUDE"
+ save_CXXFLAGS=$CXXFLAGS
+ CXXFLAGS="$TOOLKIT_INCLUDE $CXXFLAGS"
AC_CACHE_CHECK([for Motif 2],
wx_cv_lib_motif2,
AC_DEFINE(__WXLESSTIF__,0)
fi
- CFLAGS=$save_CFLAGS
+ CXXFLAGS=$save_CXXFLAGS
GUI_TK_LIBRARY="$GUI_TK_LIBRARY${libsgm_link} -lXm${libp_link} -lXmu -lXext -lXt${libsm_ice_link} -lX11"
TOOLKIT=MOTIF
AC_CACHE_CHECK([for X11/xpm.h],
wx_cv_x11_xpm_h,
[
- save_CFLAGS=$CFLAGS
- CFLAGS="$CFLAGS $TOOLKIT_INCLUDE"
+ save_CXXFLAGS=$CXXFLAGS
+ CXXFLAGS="$TOOLKIT_INCLUDE $CXXFLAGS"
AC_TRY_COMPILE(
[
wx_cv_x11_xpm_h=no
)
- CFLAGS=$save_CFLAGS
+ CXXFLAGS=$save_CXXFLAGS
]
)
[], [$GUI_TK_LIBRARY -lX11])
if test "$wxHAVE_XEXT_LIB" = 1; then
- save_CFLAGS="$CFLAGS"
- CFLAGS="$CFLAGS $TOOLKIT_INCLUDE"
+ save_CXXFLAGS="$CXXFLAGS"
+ CXXFLAGS="$TOOLKIT_INCLUDE $CXXFLAGS"
AC_MSG_CHECKING([for X11/extensions/shape.h])
AC_TRY_COMPILE([
- #include <X11/Xlib.h>
+ #include <X11/Xlib.h>
#include <X11/extensions/shape.h>
],
[
[
AC_MSG_RESULT([not found])
])
- CFLAGS="$save_CFLAGS"
+ CXXFLAGS="$save_CXXFLAGS"
fi
fi
fi
if test "x$wxUSE_UNIX" = "xyes"; then
- CPPFLAGS="$CPPFLAGS $CPPFLAGS_PASCAL -I\${top_srcdir}/src/mac/carbon/morefilex -I/Developer/Headers/FlatCarbon"
+ CPPFLAGS="$CPPFLAGS_PASCAL -I\${top_srcdir}/src/mac/carbon/morefilex -I/Developer/Headers/FlatCarbon $CPPFLAGS"
else
dnl platform.h needs TARGET_CARBON before setup.h
- CPPFLAGS="$CPPFLAGS $CPPFLAGS_PASCAL -I\${top_srcdir}/src/mac/carbon/morefilex -DTARGET_CARBON"
+ CPPFLAGS="$CPPFLAGS_PASCAL -I\${top_srcdir}/src/mac/carbon/morefilex -DTARGET_CARBON $CPPFLAGS"
fi
TOOLKIT=MAC
if test "$wxUSE_UNIX" = "yes" -a "$wxUSE_PM" != 1; then
dnl defines HAVE_X11_XKBLIB_H
AC_CHECK_HEADERS(X11/Xlib.h)
- AC_CHECK_HEADERS([X11/XKBlib.h], [], [],
+ AC_CHECK_HEADERS([X11/XKBlib.h], [], [],
[
#if HAVE_X11_XLIB_H
#include <X11/Xlib.h>
IODBC_C_SRC=""
-dnl ODBC is handled separately for MSW
+dnl ODBC is handled separately for MSW
if test "$TOOLKIT" != "MSW" ; then
if test "$wxUSE_ODBC" = "sys" -o "$wxUSE_ODBC" = "yes" ; then
AC_CHECK_LIB(odbc, SQLAllocEnv, ODBC_LINK=" -lodbc")
])
])
- fi
+ fi
if test "x$ODBC_LINK" = "x" ; then
if test "$wxUSE_ODBC" = "sys" ; then
AC_MSG_ERROR([system ODBC library not found! Use --with-odbc=builtin to use built-in version])
SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS db"
dnl is this still necessary?
- WXODBCFLAG="-D_IODBC_"
+ WXCONFIG_CPPFLAGS="$WXCONFIG_CPPFLAGS -D_IODBC_"
fi
dnl ---------------------------------------------------------------------------
[
GUI_TK_LIBRARY="$GUI_TK_LIBRARY -lXxf86vm"
],
- [],
+ [],
[
#if HAVE_X11_XLIB_H
#include <X11/Xlib.h>
else
AC_MSG_RESULT([no])
fi
-
+
else
AC_MSG_RESULT([no])
AC_MSG_WARN([Xinerama not found; disabling wxDisplay])
fi
elif test "$wxUSE_MSW" = 1; then
dnl ---------------------------------------------------------------------------
-dnl DirectDraw / Multimon for MSW
+dnl DirectDraw for MSW - optionally used by WxDisplay.
dnl ---------------------------------------------------------------------------
- AC_CHECK_HEADERS([multimon.h ddraw.h], [],
- [
- wxUSE_DISPLAY="no"
- AC_MSG_WARN([ddraw.h or multimon.h not found; disabling wxDisplay])
- ],
- [#include <windows.h>])
+ AC_CHECK_HEADERS([ddraw.h], [], [], [#include <windows.h>])
fi
fi
if test "$ac_find_includes" != "" ; then
AC_MSG_RESULT(found in $ac_find_includes)
WX_INCLUDE_PATH_EXIST($ac_find_includes, $CPPFLAGS)
- CPPFLAGS="$CPPFLAGS$ac_path_to_include"
+ CPPFLAGS="$ac_path_to_include $CPPFLAGS"
fi
AC_CHECK_HEADER(GL/gl.h,
if test "$GCC" = yes ; then
dnl newer versions of gcc need -isystem to compile X headers on
dnl Solaris (which use old style C syntax)
- CPPFLAGS="$CPPFLAGS -isystem /usr/openwin/include"
+ CPPFLAGS="-isystem /usr/openwin/include $CPPFLAGS"
dnl gcc may use Sun's ld, in which case -rpath gives a confusing
dnl error message. We have to try both -Wl,-rpath and -Wl,-R:
WXCONFIG_RPATH="-Wl,-R,\$libdir"
],[
AC_MSG_RESULT([no])
- ])
+ ])
])
LDFLAGS="$saveLdflags"
else
WXCONFIG_RPATH="-R\$libdir"
fi
;;
-
+
*-*-darwin* )
install_name_tool=`which install_name_tool`
if test "$install_name_tool" -a -x "$install_name_tool"; then
chmod +x change-install-names
fi
;;
-
+
*-*-cygwin* | *-*-mingw32* )
- TOOLCHAIN_DLL_DEFS="${TOOLCHAIN_DLL_DEFS} -DWXUSINGDLL=1"
- ;;
-
+ dnl this one shouldn't be used for the library build so put it in a
+ dnl separate variable from WXCONFIG_CPPFLAGS
+ WXCONFIG_ONLY_CPPFLAGS="$WXCONFIG_ONLY_CPPFLAGS -DWXUSINGDLL"
+ ;;
+
*-*-hpux* )
SAMPLES_RPATH_FLAG="-Wl,+b,\$(top_builddir)lib"
WXCONFIG_RPATH="-Wl,+b,\$libdir"
- ;;
-
+ ;;
+
esac
if test $wxUSE_RPATH = "no"; then
dnl add the resources target for wxMac
LIBWXMACRES="\$(top_builddir)lib/${WX_RESOURCES_MACOSX_ASCII}"
- AC_CHECK_PROG(RESCOMP, Rez, Rez, /Developer/Tools/Rez)
+ AC_CHECK_PROG(REZ, Rez, Rez, /Developer/Tools/Rez)
AC_CHECK_PROG(DEREZ, DeRez, DeRez, /Developer/Tools/DeRez)
AC_CHECK_PROG(SETFILE, SetFile, SetFile, /Developer/Tools/SetFile)
dnl resources are bundled both with shared library and applications
dnl since the carb resource *must* be included in the application
if test "$wxUSE_MAC" = 1; then
- MACRESCOMP="\$(RESCOMP) -d __DARWIN__ -t APPL Carbon.r -o"
-
- dnl this command is used to implement `wx-config --rezflags` and it is
- dnl eval'd there so escape any metacharacters inside
- MACRESWXCONFIG="${RESCOMP} -d __DARWIN__ -t APPL Carbon.r -o"
+ POSTLINK_COMMAND="\$(REZ) -d __DARWIN__ -t APPL Carbon.r -o"
+ RESCOMP="$REZ"
+ WXCONFIG_RESFLAGS="-d __DARWIN__ -t APPL Carbon.r -o"
else
- MACRESCOMP="echo -n | \$(RESCOMP) -d __DARWIN__ -t APPL ${LIBWXMACRES} -o"
- MACRESWXCONFIG="echo -n \\\| ${RESCOMP} -d __DARWIN__ -t APPL \\\${exec_prefix}/lib/${WX_RESOURCES_MACOSX_ASCII} -o"
+ POSTLINK_COMMAND="echo -n | \$(REZ) -d __DARWIN__ -t APPL ${LIBWXMACRES}"
+ RESCOMP="echo -n \| $REZ"
+ WXCONFIG_RESFLAGS="-d __DARWIN__ -t APPL \$libdir/$WX_RESOURCES_MACOSX_ASCII"
fi
+
else
dnl default value is to (silently) do nothing in the makefile
MACSETFILE="@true"
- MACRESWXCONFIG="@true"
- dnl confusingly, wxOS2 also uses MACRESCOMP in its post-link step
if test "$wxUSE_PM" = 1; then
- MACRESCOMP="emxbind -ep"
+ RESCOMP="emxbind"
+ WXCONFIG_RESFLAGS="-ep"
+
+ dnl Is this one really used anywhere for pm?
+ POSTLINK_COMMAND="$RESCOMP $WXCONFIG_RESFLAGS"
else
- MACRESCOMP="@true"
+ POSTLINK_COMMAND="@true"
fi
+
fi
dnl check what exactly size_t is on this machine - this is necessary to avoid
dnl ambiguous overloads in several places, notably wx/string.h and wx/array.h
-AC_LANG_SAVE
-AC_LANG_CPLUSPLUS
AC_CACHE_CHECK([if size_t is unsigned int],
wx_cv_size_t_is_uint,
[
fi
fi
-AC_LANG_RESTORE
-
dnl ---------------------------------------------------------------------------
dnl Checks for structures
dnl ---------------------------------------------------------------------------
dnl with g++'s in <cwchar> (unless -D_INCLUDE__STDC_A1_SOURCE is in the
dnl flags when g++ is configured, it will declare it's own).
if test "$USE_HPUX" = 1 -a "$GCC" != "yes"; then
- CPPFLAGS="$CPPFLAGS -D_INCLUDE__STDC_A1_SOURCE "
+ CPPFLAGS="-D_INCLUDE__STDC_A1_SOURCE $CPPFLAGS"
fi
dnl Try to use wcsrtombs instead of wcstombs which is buggy in old GNU
AC_MSG_WARN([Wide character support is unavailable])
fi
-dnl *printf() functions sometimes are available in the library but not
-dnl prototyped -- if this is the case, we can't use them from C++ code, but to
-dnl detect this we have to use C++ compiler for testing
-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 (e.g HP-UX 10) this function is
[AC_MSG_RESULT([no])]);
fi
-AC_LANG_RESTORE
-
if test "x$ac_cv_header_fnmatch_h" = "xyes"; then
AC_CHECK_FUNCS(fnmatch)
fi
dnl check for available version of iconv()
-AC_LANG_SAVE
-AC_LANG_CPLUSPLUS
AM_ICONV
LIBS="$LIBICONV $LIBS"
-AC_LANG_RESTORE
dnl check for POSIX signals if we need them
if test "$wxUSE_ON_FATAL_EXCEPTION" = "yes" -a "$wxUSE_UNIX" = "yes"; then
fi
if test "$wxUSE_ON_FATAL_EXCEPTION" = "yes"; then
- AC_LANG_SAVE
- AC_LANG_CPLUSPLUS
-
AC_CACHE_CHECK([for sa_handler type], wx_cv_type_sa_handler,
[
AC_TRY_COMPILE([#include <signal.h>],
])
])
- AC_LANG_RESTORE
-
AC_DEFINE_UNQUOTED(wxTYPE_SA_HANDLER, $wx_cv_type_sa_handler)
fi
fi
dnl backtrace() and backtrace_symbols() for wxStackWalker
if test "$wxUSE_STACKWALKER" = "yes" -a "$wxUSE_UNIX" = "yes"; then
- AC_LANG_SAVE
- AC_LANG_CPLUSPLUS
-
AC_CACHE_CHECK([for backtrace() in <execinfo.h>], wx_cv_func_backtrace,
[
AC_TRY_COMPILE([#include <execinfo.h>],
AC_DEFINE(HAVE_CXA_DEMANGLE)
fi
fi
-
- AC_LANG_RESTORE
fi
-if test "$wxUSE_STACKWALKER" = "yes" -a "$USE_WIN32" != "1" -a "$USE_UNIX" != "1"; then
+if test "$wxUSE_STACKWALKER" = "yes" -a "$USE_WIN32" != "1" -a "$USE_UNIX" != "1"; then
AC_MSG_WARN([wxStackWalker is only available on Win32 and UNIX... disabled])
wxUSE_STACKWALKER=no
fi
if test "$wx_cv_func_statfs" = "yes"; then
dnl check whether we have its dcelaration too: some systems (AIX 4) lack it
- AC_LANG_SAVE
- AC_LANG_CPLUSPLUS
AC_CACHE_CHECK(for statfs declaration, wx_cv_func_statfs_decl,
AC_TRY_COMPILE(
[
wx_cv_func_statfs_decl=no
)
)
- AC_LANG_RESTORE
if test "$wx_cv_func_statfs_decl" = "yes"; then
AC_DEFINE(HAVE_STATFS_DECL)
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(
[
)
)
- AC_LANG_RESTORE
-
if test "$wx_cv_type_statvfs_t" != "unknown"; then
AC_DEFINE(HAVE_STATVFS)
fi
dnl check for uname (POSIX) and gethostname (BSD)
AC_CHECK_FUNCS(uname gethostname, break)
-dnl check for MT-safe version of strtok (on DEC Alpha, it's ok for C compiler
-dnl but not for C++ one - hence change language)
-AC_LANG_SAVE
-AC_LANG_CPLUSPLUS
-
AC_CHECK_FUNCS(strtok_r)
-AC_LANG_RESTORE
-
dnl check for inet_addr and inet_aton (these may live either in libc, or in
dnl libnsl or libresolv or libsocket)
INET_LINK=
dnl ---------------------------------------------------------------------------
dnl under MSW (except mingw32) we always have thread support
-CPP_MT_FLAG=
if test "$TOOLKIT" != "MSW" -a "$USE_OS2" != 1; then
dnl the code below:
dnl
- dnl defines THREADS_LINK and THREADS_CFLAGS which are the options
+ dnl defines THREADS_LINK and THREADS_CXXFLAGS which are the options
dnl necessary to build the MT programs for the linker and compiler
dnl respectively
dnl
dnl sets wxUSE_THREADS=1 if thread support is activated
THREADS_LINK=
- THREADS_CFLAGS=
+ THREADS_CXXFLAGS=
if test "$wxUSE_THREADS" = "yes" ; then
if test "$USE_BEOS" = 1; then
if test "x$GCC" = "xyes"; then
dnl g++ versions before 3.3.2 don't support -pthread.
$CXX -dumpspecs | grep 'pthread:' >/dev/null ||
- THREAD_OPTS=""
+ THREAD_OPTS=""
else
- dnl HP-UX aCC only gives a warning, not an error about
- dnl -pthread but it doesn't work and we have to use
- dnl -lpthread there
- THREAD_OPTS=""
+ dnl HP-UX aCC (tested with version B3910B A.06.05 [Jul 25
+ dnl 2005]) supports -mt
+ THREAD_OPTS="-mt"
fi
;;
-*)
AC_MSG_CHECKING([whether pthreads work with $flag])
- THREADS_CFLAGS="$flag"
+ THREADS_CXXFLAGS="$flag"
;;
*)
esac
save_LIBS="$LIBS"
- save_CFLAGS="$CFLAGS"
+ save_CXXFLAGS="$CXXFLAGS"
LIBS="$THREADS_LINK $LIBS"
- CFLAGS="$THREADS_CFLAGS $CFLAGS"
+ CXXFLAGS="$THREADS_CXXFLAGS $CXXFLAGS"
AC_TRY_LINK([#include <pthread.h>],
[pthread_create(0,0,0,0);],
THREADS_OK=yes)
LIBS="$save_LIBS"
- CFLAGS="$save_CFLAGS"
+ CXXFLAGS="$save_CXXFLAGS"
AC_MSG_RESULT($THREADS_OK)
if test "x$THREADS_OK" = "xyes"; then
fi
THREADS_LINK=""
- THREADS_CFLAGS=""
+ THREADS_CXXFLAGS=""
done
if test "x$THREADS_OK" != "xyes"; then
else
dnl yes, these special compiler flags should be used with the
dnl linker as well
- LDFLAGS="$THREADS_CFLAGS $LDFLAGS"
+ LDFLAGS="$THREADS_CXXFLAGS $LDFLAGS"
LIBS="$THREADS_LINK $LIBS"
AC_MSG_CHECKING([if more special flags are required for pthreads])
esac
AC_MSG_RESULT(${flag})
if test "x$flag" != xno; then
- THREADS_CFLAGS="$THREADS_CFLAGS $flag"
+ THREADS_CXXFLAGS="$THREADS_CXXFLAGS $flag"
fi
- if test "x$THREADS_CFLAGS" != "x"; then
- dnl don't add these options to CPPFLAGS as cpp might not know them
- CFLAGS="$CFLAGS $THREADS_CFLAGS"
- CXXFLAGS="$CXXFLAGS $THREADS_CFLAGS"
- fi
+ dnl don't add these options to CPPFLAGS as cpp might not know them
+ WXCONFIG_CXXFLAGS="$WXCONFIG_CXXFLAGS $THREADS_CXXFLAGS"
fi
fi
[
pthread_mutexattr_t attr;
pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE);
- ], [
- wx_cv_type_pthread_mutexattr_t=yes
- ], [
- wx_cv_type_pthread_mutexattr_t=no
- ]
+ ],
+ wx_cv_type_pthread_mutexattr_t=yes,
+ wx_cv_type_pthread_mutexattr_t=no
)
])
if test "$wx_cv_type_pthread_mutexattr_t" = "yes"; then
AC_DEFINE(HAVE_PTHREAD_MUTEXATTR_T)
+
+ dnl check if we already have the declaration we need, it is not
+ dnl present in some systems' headers
+ AC_CACHE_CHECK([for pthread_mutexattr_settype declaration],
+ wx_cv_func_pthread_mutexattr_settype_decl, [
+ AC_TRY_COMPILE([#include <pthread.h>],
+ [
+ pthread_mutexattr_t attr;
+ pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE);
+ ],
+ wx_cv_func_pthread_mutexattr_settype_decl=yes,
+ wx_cv_func_pthread_mutexattr_settype_decl=no
+ )
+ ])
+ if test "$wx_cv_func_pthread_mutexattr_settype_decl" = "yes"; then
+ AC_DEFINE(HAVE_PTHREAD_MUTEXATTR_SETTYPE_DECL)
+ fi
else
dnl don't despair, there may be another way to do it
AC_CACHE_CHECK([for PTHREAD_RECURSIVE_MUTEX_INITIALIZER],
AC_CACHE_CHECK([if compiler supports -mthreads],
wx_cv_cflags_mthread,
[
- CFLAGS_OLD="$CFLAGS"
- CFLAGS="$CFLAGS -mthreads"
+ CXXFLAGS_OLD="$CXXFLAGS"
+ CXXFLAGS="-mthreads $CXXFLAGS"
AC_TRY_COMPILE([], [],
wx_cv_cflags_mthread=yes,
wx_cv_cflags_mthread=no
if test "$wx_cv_cflags_mthread" = "yes"; then
dnl it does, use it
- CXXFLAGS="$CXXFLAGS -mthreads"
- TOOLCHAIN_DEFS="$TOOLCHAIN_DEFS -mthreads"
+ WXCONFIG_CXXFLAGS="$WXCONFIG_CXXFLAGS -mthreads"
LDFLAGS="$LDFLAGS -mthreads"
else
dnl it doesn't
- CFLAGS="$CFLAGS_OLD"
+ CXXFLAGS="$CXXFLAGS_OLD"
fi
;;
*-pc-os2*emx )
- CFLAGS="$CFLAGS -Zmt -D__ST_MT_ERRNO__"
- CXXFLAGS="$CXXFLAGS -Zmt -D__ST_MT_ERRNO__"
+ WXCONFIG_CFLAGS="$WXCONFIG_CFLAGS -Zmt -D__ST_MT_ERRNO__"
+ WXCONFIG_CXXFLAGS="$WXCONFIG_CXXFLAGS -Zmt -D__ST_MT_ERRNO__"
LDFLAGS="$LDFLAGS -Zmt"
;;
esac
fi
fi
+AC_CHECK_FUNC(localtime_r, [ AC_DEFINE(HAVE_LOCALTIME_R) ])
+AC_CHECK_FUNC(gmtime_r, [ AC_DEFINE(HAVE_GMTIME_R) ])
+AC_CHECK_FUNC(readdir_r, [ AC_DEFINE(HAVE_READDIR_R) ])
+dnl By preference, we probably should use getaddrinfo which avoids thread
+dnl safety issues and supports IPv6, however there currently is no code
+dnl for it, so testing for it is temporarily disabled and we are restricted
+dnl to gethostbyname_r/gethostbyaddr_r and getservbyname_r
+
+dnl AC_CHECK_FUNC(getaddrinfo, AC_DEFINE(HAVE_GETADDRINFO), [
+ dnl no getaddrinfo, so check for gethostbyname_r and
+ dnl related functions (taken from python's configure.in)
+ dnl sigh -- gethostbyname_r is a mess; it can have 3, 5 or 6 arguments
+ AX_FUNC_WHICH_GETHOSTBYNAME_R
+ if test "x$ac_cv_func_which_gethostbyname_r" = "xno" -o \
+ "x$ac_cv_func_which_gethostbyname_r" = "xunknown" ; then
+ AC_CHECK_FUNC(gethostbyname, [ AC_DEFINE(HAVE_GETHOSTBYNAME) ])
+ fi
+ dnl A similar test for getservbyname_r
+ dnl I'm tempted to just not do this test which is taking much time and
+ dnl do something similar as for gethostbyaddr_r, but OTOH the macro
+ dnl doing the test already exists, so using it is easy enough. - SN
+ AC_raf_FUNC_WHICH_GETSERVBYNAME_R
+ if test "x$ac_cv_func_which_getservbyname_r" = "xno" -o \
+ "x$ac_cv_func_which_getservbyname_r" = "xunknown" ; then
+ AC_CHECK_FUNCS(getservbyname,[ AC_DEFINE(HAVE_GETSERVBYNAME) ])
+ fi
+ dnl For gethostbyaddr_r, we currently do no separate test, instead, we
+ dnl silently assume it's available exactly if gethostbyname_r is
+ dnl available and always requires two more arguments than
+ dnl gethostbyname_r.
+ dnl (also, I'm lazy and there no m4 file that's ready for use for this
+ dnl function, although it should be easy to rewrite the gethostbyname_r
+ dnl check to fit this case, if it's really needed. - SN )
+dnl ]
+dnl )
+
if test "$wxUSE_THREADS" = "yes"; then
AC_DEFINE(wxUSE_THREADS)
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
- TOOLCHAIN_DEFS="${TOOLCHAIN_DEFS} -D_REENTRANT"
+ WXCONFIG_CPPFLAGS="$WXCONFIG_CPPFLAGS -D_REENTRANT"
AC_MSG_RESULT(yes)
else
AC_MSG_RESULT(no)
AC_DEFINE_UNQUOTED(__WXGPE__,$WXGPE)
fi
-WXDEBUG=
-
+dnl DEBUG_CFLAGS contains debugging options (supposed to be the same for C and C++
+dnl compilers: we'd need a separate DEBUG_CXXFLAGS if this is ever not the case)
+DEBUG_CFLAGS=
if test "$wxUSE_DEBUG_INFO" = "yes" ; then
- WXDEBUG="-g"
+ DEBUG_CFLAGS="-g"
wxUSE_OPTIMISE=no
fi
if test "$wxUSE_DEBUG_GDB" = "yes" ; then
wxUSE_DEBUG_INFO=yes
if test "$GCC" = yes; then
- WXDEBUG="-ggdb"
+ DEBUG_CFLAGS="-ggdb"
fi
fi
if test "$wxUSE_DEBUG_FLAG" = "yes" ; then
AC_DEFINE(WXDEBUG)
- WXDEBUG_DEFINE="-D__WXDEBUG__"
+ WXCONFIG_CPPFLAGS="$WXCONFIG_CPPFLAGS -D__WXDEBUG__"
else
if test "$wxUSE_GTK" = 1 ; then
- WXDEBUG_DEFINE="-DGTK_NO_CHECK_CASTS"
+ if test "x$wxGTK_VERSION" = "x1" ; then
+ CPPFLAGS="-DGTK_NO_CHECK_CASTS $CPPFLAGS"
+ fi
fi
fi
DMALLOC_LIBS="-ldmallocthcxx"
fi
-PROFILE=
+dnl cc/cxx/ld option for profiling
+PROFILE_FLAGS=
if test "$wxUSE_PROFILE" = "yes" ; then
- PROFILE=" -pg"
+ PROFILE_FLAGS=" -pg"
fi
-CODE_GEN_FLAGS=
-CODE_GEN_FLAGS_CXX=
if test "$GCC" = "yes" ; then
if test "$wxUSE_NO_RTTI" = "yes" ; then
- CODE_GEN_FLAGS_CXX="$CODE_GEN_FLAGS_CXX -fno-rtti"
+ WXCONFIG_CXXFLAGS="$WXCONFIG_CXXFLAGS -fno-rtti"
fi
if test "$wxUSE_NO_EXCEPTIONS" = "yes" ; then
- CODE_GEN_FLAGS_CXX="$CODE_GEN_FLAGS_CXX -fno-exceptions"
+ WXCONFIG_CXXFLAGS="$WXCONFIG_CXXFLAGS -fno-exceptions"
fi
if test "$wxUSE_PERMISSIVE" = "yes" ; then
- CODE_GEN_FLAGS="$CODE_GEN_FLAGS -fpermissive"
+ WXCONFIG_CFLAGS="$WXCONFIG_CFLAGS -fpermissive"
fi
dnl Ian Brown <ian.brown@printsoft.de> reports that versions of gcc before
dnl TODO: test for the gcc version here (how?)
case "${host}" in
powerpc*-*-aix* )
- CODE_GEN_FLAGS="$CODE_GEN_FLAGS -mminimal-toc"
+ WXCONFIG_CFLAGS="$WXCONFIG_CFLAGS -mminimal-toc"
;;
*-hppa* )
- CODE_GEN_FLAGS="$CODE_GEN_FLAGS -ffunction-sections"
+ WXCONFIG_CFLAGS="$WXCONFIG_CFLAGS -ffunction-sections"
;;
esac
fi
-OPTIMISE=
+dnl C/C++ compiler option for optimization (supposed to be the same for both)
+OPTIMISE_CFLAGS=
if test "$wxUSE_OPTIMISE" = "no" ; then
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"
+ OPTIMISE_CFLAGS="-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} "
- ;;
+ *-pc-os2_emx | *-pc-os2-emx )
+ dnl Not all of the supported gcc versions understand
+ dnl -fstrict-aliasing and none actually needs it (yet).
+ OPTIMISE_CFLAGS="-O2"
+ ;;
+ *)
+ dnl Switch on optimisation but keep strict-aliasing off for
+ dnl now (see -fstrict-aliasing in the gcc manual). When it is
+ dnl switched back on consider using -Wstrict-aliasing=2.
+ OPTIMISE_CFLAGS="-O2 -fno-strict-aliasing"
+ ;;
esac
else
- OPTIMISE="-O"
+ OPTIMISE_CFLAGS="-O"
fi
fi
dnl compatibility level
dnl ---------------------------------------------------------------------------
-if test "x$WXWIN_COMPATIBILITY_2_2" = "xyes"; then
- AC_DEFINE(WXWIN_COMPATIBILITY_2_2)
+if test "x$WXWIN_COMPATIBILITY_2_4" = "xyes"; then
+ AC_DEFINE(WXWIN_COMPATIBILITY_2_4)
- WXWIN_COMPATIBILITY_2_4="yes"
+ WXWIN_COMPATIBILITY_2_6="yes"
fi
-if test "x$WXWIN_COMPATIBILITY_2_4" != "xno"; then
- AC_DEFINE(WXWIN_COMPATIBILITY_2_4)
+if test "x$WXWIN_COMPATIBILITY_2_6" != "xno"; then
+ AC_DEFINE(WXWIN_COMPATIBILITY_2_6)
fi
dnl ---------------------------------------------------------------------------
AM_PATH_SDL([1.2.0],
[
EXTRALIBS_SDL="$SDL_LIBS"
- CXXFLAGS="$CXXFLAGS $SDL_CFLAGS"
+ CXXFLAGS="$SDL_CFLAGS $CXXFLAGS"
AC_DEFINE(wxUSE_LIBSDL)
],
[wxUSE_LIBSDL="no"])
fi
fi
fi
-
+
AC_DEFINE(wxUSE_SOUND)
SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS sound"
fi
if test "$WXGTK20" = 1; then
if test "$wxUSE_PRINTING_ARCHITECTURE" = "yes" ; then
if test "$wxUSE_LIBGNOMEPRINT" = "yes" ; then
-
- PKG_CHECK_MODULES(LIBGNOMEPRINTUI,
+
+ PKG_CHECK_MODULES(LIBGNOMEPRINTUI,
[libgnomeprintui-2.2 >= 2.8],
[
dnl EXTRALIBS_GNOMEPRINT="$LIBGNOMEPRINTUI_LIBS"
- CXXFLAGS="$CXXFLAGS $LIBGNOMEPRINTUI_CFLAGS"
+ CXXFLAGS="$LIBGNOMEPRINTUI_CFLAGS $CXXFLAGS"
AC_DEFINE(wxUSE_LIBGNOMEPRINT)
],
[
fi
fi
+if test "$WXGTK20" = 1; then
+ if test "$wxUSE_MIMETYPE" = "yes" ; then
+ if test "$wxUSE_LIBGNOMEVFS" = "yes" ; then
+
+ PKG_CHECK_MODULES(GNOMEVFS,
+ [gnome-vfs-2.0 >= 2.0],
+ [
+dnl EXTRALIBS_GNOMEVFS="$LIBGNOMEVFS_LIBS"
+ CXXFLAGS="$GNOMEVFS_CFLAGS $CXXFLAGS"
+ AC_DEFINE(wxUSE_LIBGNOMEVFS)
+ ],
+ [
+ AC_MSG_WARN([libgnomevfs not found, library won't be able to associate MIME type])
+ wxUSE_LIBGNOMEVFS="no"
+ ]
+ )
+ fi
+ fi
+fi
+
+if test "$WXGTK20" = 1; then
+ if test "$wxUSE_LIBHILDON" = "yes" ; then
+ PKG_CHECK_MODULES(HILDON,
+ [hildon-lgpl >= 0.9],
+ [
+ EXTRALIBS_HILDON="$HILDON_LIBS"
+ CXXFLAGS="$CXXFLAGS $HILDON_CFLAGS"
+ AC_DEFINE(wxUSE_LIBHILDON)
+ ],
+ [
+ AC_MSG_WARN([libhildon_lgpl not found])
+ wxUSE_LIBHILDON="no"
+ ]
+ )
+ fi
+fi
if test "$wxUSE_CMDLINE_PARSER" = "yes"; then
AC_DEFINE(wxUSE_CMDLINE_PARSER)
dnl ---------------------------------------------------------------------------
dnl time/date functions
-dnl ------------------------------------------------------------------------
+dnl ---------------------------------------------------------------------------
if test "$wxUSE_DATETIME" = "yes"; then
- dnl check for strptime
+ dnl check for strptime and for its declaration as some systems lack it
AC_CHECK_FUNCS(strptime)
+ if test "$ac_cv_func_strptime" = "yes"; then
+ AC_CACHE_CHECK([for strptime declaration], wx_cv_func_strptime_decl,
+ [
+ AC_TRY_COMPILE(
+ [
+ #include <time.h>
+ ],
+ [
+ struct tm t;
+ strptime("foo", "bar", &t);
+ ],
+ wx_cv_func_strptime_decl=yes,
+ wx_cv_func_strptime_decl=no
+ )
+ ]
+ )
+ fi
+ if test "$wx_cv_func_strptime_decl" = "yes"; then
+ AC_DEFINE(HAVE_STRPTIME_DECL)
+ fi
dnl check for timezone variable
dnl doesn't exist under Darwin / Mac OS X which uses tm_gmtoff instead
wx_cv_func_gettimeofday_has_2_args,
[
dnl on some _really_ old systems it takes only 1 argument
- AC_LANG_SAVE
- AC_LANG_CPLUSPLUS
-
AC_TRY_COMPILE(
[
#include <sys/time.h>
]
)
)
- AC_LANG_RESTORE
])
if test "$wx_cv_func_gettimeofday_has_2_args" != "yes"; then
dnl This test needs to be done in C++ mode since gsocket.cpp now
dnl is C++ code and pointer cast that are possible even without
dnl warning in C still fail in C++.
- AC_LANG_PUSH(C++)
AC_CACHE_CHECK([what is the type of the third argument of getsockname],
wx_cv_type_getsockname3,
[
dnl least with gcc (otherwise we'd always use size_t)
CXXFLAGS_OLD="$CXXFLAGS"
if test "$GCC" = yes ; then
- CXXFLAGS="$CXXFLAGS -Werror"
+ CXXFLAGS="-Werror $CXXFLAGS"
fi
AC_TRY_COMPILE(
dnl least with gcc (otherwise we'd always use size_t)
CXXFLAGS_OLD="$CXXFLAGS"
if test "$GCC" = yes ; then
- CXXFLAGS="$CXXFLAGS -Werror"
+ CXXFLAGS="-Werror $CXXFLAGS"
fi
AC_TRY_COMPILE(
else
AC_DEFINE_UNQUOTED(SOCKOPTLEN_T, $wx_cv_type_getsockopt5)
fi
- AC_LANG_POP
fi
fi
fi
else
if test "$wxUSE_FS_INET" = "yes"; then
- AC_MSG_WARN([HTTP filesystem require protocol classes... disabled])
+ AC_MSG_WARN([HTTP filesystem require protocol classes... disabled])
wxUSE_FS_INET="no"
fi
fi
if test "$USE_DARWIN" = 1; then
dnl check for a bug in the headers, some have bad setEventCallout
AC_MSG_CHECKING([headers have declarations needed for joystick support])
- AC_LANG_PUSH(C++)
AC_TRY_COMPILE( [ #include <IOKit/hid/IOHIDLib.h> ],
[ IOHIDQueueInterface *qi = NULL;
IOHIDCallbackFunction cb = NULL;
qi->setEventCallout(NULL, cb, NULL, NULL); ],
[ wxUSE_JOYSTICK=yes ]
)
- AC_LANG_POP
AC_MSG_RESULT($wxUSE_JOYSTICK)
fi
AC_DEFINE(wxUSE_JOYSTICK)
SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS joytest"
else
- AC_MSG_WARN(Joystick not supported by this system... disabled)
+ AC_MSG_WARN(Joystick not supported by this system... disabled)
fi
fi
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 <windows.h>
#include <ole2.h>],
[],
[AC_MSG_RESULT(no)],
[AC_MSG_RESULT(yes)
- CODE_GEN_FLAGS_CXX="$CODE_GEN_FLAGS_CXX -fvtable-thunks"])
- AC_LANG_RESTORE
+ WXCONFIG_CXXFLAGS="$WXCONFIG_CXXFLAGS -fvtable-thunks"])
LIBS=" -lrpcrt4 -loleaut32 -lole32 -luuid$LIBS"
if test "$wxUSE_OLE" = "yes" ; then
AC_DEFINE(wxUSE_OLE)
USES_CONTROLS=1
fi
+if test "$wxUSE_COMBOCONTROL" = "yes"; then
+ AC_DEFINE(wxUSE_COMBOCONTROL)
+ USES_CONTROLS=1
+fi
+
if test "$wxUSE_CHOICE" = "yes"; then
AC_DEFINE(wxUSE_CHOICE)
USES_CONTROLS=1
SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS grid"
fi
+if test "$wxUSE_DATAVIEWCTRL" = "yes"; then
+ AC_DEFINE(wxUSE_DATAVIEWCTRL)
+ USES_CONTROLS=1
+ SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS dataview"
+fi
+
if test "$wxUSE_IMAGLIST" = "yes"; then
AC_DEFINE(wxUSE_IMAGLIST)
fi
SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS notebook"
fi
+if test "$wxUSE_OWNERDRAWNCOMBOBOX" = "yes"; then
+ AC_DEFINE(wxUSE_OWNERDRAWNCOMBOBOX)
+ USES_CONTROLS=1
+ SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS combo"
+fi
+
dnl if test "$wxUSE_PROPSHEET" = "yes"; then
dnl AC_DEFINE(wxUSE_PROPSHEET)
dnl USES_CONTROLS=1
SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS statbar"
fi
-if test "$wxUSE_TABDIALOG" = "yes"; then
+if test "$wxUSE_TAB_DIALOG" = "yes"; then
AC_DEFINE(wxUSE_TAB_DIALOG)
fi
fi
fi
+if test "$wxUSE_TREEBOOK" = "yes"; then
+ AC_DEFINE(wxUSE_TREEBOOK)
+ USES_CONTROLS=1
+fi
+
+if test "$wxUSE_TOOLBOOK" = "yes"; then
+ AC_DEFINE(wxUSE_TOOLBOOK)
+ USES_CONTROLS=1
+fi
+
if test "$wxUSE_TREECTRL" = "yes"; then
if test "$wxUSE_IMAGLIST" = "yes"; then
AC_DEFINE(wxUSE_TREECTRL)
if test "$wxUSE_WEBKIT" = "yes"; then
if test "$wxUSE_MAC" = 1 -a "$USE_DARWIN" = 1; then
old_CPPFLAGS="$CPPFLAGS"
- CPPFLAGS="$CPPFLAGS -x objective-c++"
+ CPPFLAGS="-x objective-c++ $CPPFLAGS"
AC_CHECK_HEADER([WebKit/HIWebView.h],
[
AC_DEFINE(wxUSE_WEBKIT)
LIBS=" -lunicows $LIBS"
fi
+USE_RICHTEXT=0
+if test "$wxUSE_RICHTEXT" = "yes"; then
+ AC_DEFINE(wxUSE_RICHTEXT)
+ USE_RICHTEXT=1
+ SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS richtext"
+fi
+
dnl ---------------------------------------------------------------------------
dnl wxImage options
dnl ---------------------------------------------------------------------------
fi
dnl ---------------------------------------------------------------------------
-dnl wxMediaCtrl
+dnl wxMediaCtrl
dnl ---------------------------------------------------------------------------
+USE_MEDIA=0
+
if test "$wxUSE_MEDIACTRL" = "yes"; then
dnl -----------------------------------------------------------------------
- dnl GStreamer
+ dnl GStreamer
dnl -----------------------------------------------------------------------
if test "$wxUSE_GTK" = 1; then
wxUSE_GSTREAMER="yes"
-
+
dnl -------------------------------------------------------------------
- dnl Test for gstreamer module from pkg-config
+ dnl Test for at least 0.8 gstreamer module from pkg-config
+ dnl Even totem doesn't accept 0.9 evidently.
+ dnl
+ dnl So, we first check to see if 0.10 if available - if not we
+ dnl try the older 0.8 version
dnl -------------------------------------------------------------------
- PKG_CHECK_MODULES(GSTREAMER, gstreamer-0.8,
+ GST_VERSION_MAJOR=0
+ GST_VERSION_MINOR=10
+ GST_VERSION_RELEASE=0
+ GSTREAMER_REQ=$GST_VERSION_MAJOR.$GST_VERSION_MINOR.$GST_VERSION_RELEASE
+ GST_MAJORMINOR=$GST_VERSION_MAJOR.$GST_VERSION_MINOR
+
+ if test "$wxUSE_GSTREAMER8" = "no"; then
+ PKG_CHECK_MODULES(GST, gstreamer-$GST_MAJORMINOR
+ gstreamer-plugins-base-$GST_MAJORMINOR
+ gconf-2.0,
[
- CPPFLAGS="$CPPFLAGS $GSTREAMER_CFLAGS"
- LIBS="$LIBS $GSTREAMER_LIBS -lgstplay-0.8"
+ CPPFLAGS="$GST_CFLAGS $CPPFLAGS"
+ LIBS="$LIBS $GST_LIBS -lgstinterfaces-$GST_MAJORMINOR"
],
[
- AC_MSG_WARN([GStreamer installation not found])
- wxUSE_GSTREAMER="no"
+ GST_VERSION_MINOR=8
])
-
- dnl -------------------------------------------------------------------
- dnl Perform a check for a GStreamer element using gst-inspect
- dnl Thomas Vander Stichele <thomas at apestaart dot org>
- dnl Last modification: 25/01/2005
- dnl
- dnl AM_GST_ELEMENT_CHECK(ELEMENT-NAME, ACTION-IF-FOUND, ACTION-IF-NOT-FOUND)
- dnl -------------------------------------------------------------------
- AC_DEFUN([AM_GST_ELEMENT_CHECK],
- [
- if test "x$GST_INSPECT" == "x"; then
- AC_CHECK_PROG(GST_INSPECT, gst-inspect, gst-inspect, [])
- fi
-
- if test "x$GST_INSPECT" != "x"; then
- AC_MSG_CHECKING(GStreamer element $1)
- if [ $GST_INSPECT $1 > /dev/null 2> /dev/null ]; then
- AC_MSG_RESULT(found.)
- $2
else
- AC_MSG_RESULT(not found.)
- $3
- fi
+ GST_VERSION_MINOR=8
fi
- ])
-
- dnl -------------------------------------------------------------------
- dnl Test for x video sink (video useless without)
- dnl -------------------------------------------------------------------
- AM_GST_ELEMENT_CHECK(xvimagesink,[],
- [
- wxUSE_GSTREAMER="no"
- AC_MSG_WARN([x video sink not found - cannot use GStreamer])
- ])
-
- dnl -------------------------------------------------------------------
- dnl Check for gstplay-0.8 lib and corresponding x overlay header
- dnl -------------------------------------------------------------------
- AC_CHECK_HEADER(gst/xoverlay/xoverlay.h, [],
+
+ GSTREAMER_REQ=$GST_VERSION_MAJOR.$GST_VERSION_MINOR.$GST_VERSION_RELEASE
+ GST_MAJORMINOR=$GST_VERSION_MAJOR.$GST_VERSION_MINOR
+
+ if test x$GST_VERSION_MINOR = x8; then
+ PKG_CHECK_MODULES(GST, gstreamer-$GST_MAJORMINOR
+ gstreamer-interfaces-$GST_MAJORMINOR
+ gstreamer-gconf-$GST_MAJORMINOR,
[
- wxUSE_GSTREAMER="no"
- AC_MSG_WARN([xoverlay header not found, cannot use GStreamer])
+ CPPFLAGS="$GST_CFLAGS $CPPFLAGS"
+ LIBS="$LIBS $GST_LIBS"
],
- [#include <gst/gst.h>])
-
- AC_MSG_CHECKING([for gstplay 0.8])
- WX_PATH_FIND_LIBRARIES([$SEARCH_LIB],gstplay-0.8)
-
- if test "$ac_find_libraries" = "" ; then
- AC_MSG_RESULT([no])
+ [
+ AC_MSG_WARN([Proper GStreamer .8/.10 installation not found])
wxUSE_GSTREAMER="no"
- else
- AC_MSG_RESULT([yes])
+ ])
fi
-
+
+
if test "$wxUSE_GSTREAMER" = "yes"; then
AC_DEFINE(wxUSE_GSTREAMER)
AC_MSG_RESULT([GStreamer detection successful])
fi
fi
+ USE_MEDIA=1
SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS mediaplayer"
AC_DEFINE(wxUSE_MEDIACTRL)
fi
AC_SUBST(CORE_BASE_LIBS)
AC_SUBST(CORE_GUI_LIBS)
-
dnl ---------------------------------------------------------------------------
dnl Output the makefiles and such from the results found above
dnl ---------------------------------------------------------------------------
-dnl all additional libraries (except wxWidgets itself) we link with
+dnl no more tests from here
+AC_LANG_POP
-dnl note that we always link with -lm except for Mac OS X
-dnl extended.c uses floor() and is always linked in
+dnl all additional libraries (except wxWidgets itself) we link with
if test "$wxUSE_MAC" = 1 ; then
if test "$wxUSE_SOUND" = "yes" || test "$wxUSE_MEDIACTRL" = "yes"; then
LDFLAGS="$LDFLAGS -framework IOKit -framework CoreServices -framework System -framework ApplicationServices"
fi
-dnl FIXME: should this be covered by the conditional above
-dnl given the -lm comment there? Or should that comment (and
-dnl this one) be removed.. [ 7 Nov 2001 ]
-
LIBS="$ZLIB_LINK $POSIX4_LINK $INET_LINK $WCHAR_LINK $DL_LINK $LIBS"
-dnl Only add the -lm library if floating point functions cannot be used
-dnl without it. This check is important on cygwin because of the bizarre
-dnl way that they have organized functions into libraries. On cygwin, both
-dnl libc.a and libm.a are symbolic links to a single lib libcygwin.a. This
-dnl means that
-dnl 1) linking with -lm is not necessary, and
-dnl 2) linking with -lm is dangerous if the order of libraries is wrong
-dnl In particular, if you compile any program with -mno-cygwin and link with
-dnl -lm, it will crash instantly when it is run. This happens because the
-dnl linker incorrectly links the Cygwin libm.a (==libcygwin.a), which replaces
-dnl the ___main function instead of allowing it to be defined by
-dnl /usr/lib/mingw/libmingw32.a as it should be.
-dnl
-dnl On MacOS X, this test will find that -lm is unnecessary and leave it out.
-dnl
-dnl Just check a few floating point functions. If they are all found without
-dnl -lm, then we must not need -lm.
-have_cos=0
-have_floor=0
-AC_CHECK_FUNCS(cos, have_cos=1)
-AC_CHECK_FUNCS(floor, have_floor=1)
-AC_MSG_CHECKING(if floating point functions link without -lm)
-if test "$have_cos" = 1 -a "$have_floor" = 1; then
- AC_MSG_RESULT(yes)
-else
- AC_MSG_RESULT(no)
- LIBS="$LIBS -lm"
- # use different functions to avoid configure caching
- have_sin=0
- have_ceil=0
- AC_CHECK_FUNCS(sin, have_sin=1)
- AC_CHECK_FUNCS(ceil, have_ceil=1)
- AC_MSG_CHECKING(if floating point functions link with -lm)
- if test "$have_sin" = 1 -a "$have_ceil" = 1; then
- AC_MSG_RESULT(yes)
- else
- AC_MSG_RESULT(no)
- # not sure we should warn the user, crash, etc.
- fi
-fi
-
if test "$wxUSE_GUI" = "yes"; then
dnl TODO add checks that these samples will really compile (i.e. all the
SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS artprov controls dialogs drawing \
dynamic erase event exec font image minimal mobile \
mobile/wxedit mobile/styles propsize render \
- richedit rotate shaped vscroll widgets"
+ rotate shaped vscroll widgets"
if test "$wxUSE_MONOLITHIC" != "yes"; then
SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS console"
fi
-dnl all -I options we must pass to the compiler
-dnl
-dnl note that the order is somewhat important: wxWidgets headers should
-dnl come first and the one with setup.h should be before $(top_srcdir)/include
-dnl in case the latter contains setup.h used by non-autoconf makefiles (e.g.
-dnl CodeWarrior):
-INCLUDES="-I\${top_builddir}lib/wx/include/${TOOLCHAIN_FULLNAME} \
--I\${top_srcdir}/include $TOOLKIT_INCLUDE"
-
dnl C/C++ compiler options used to compile wxWidgets
dnl
dnl check for icc before gcc as icc is also recognized as gcc
-if test "$GCC" = yes ; then
+if test "x$INTELCC" = "xyes" ; then
dnl Warnings which can't be easily suppressed in C code are disabled:
dnl
dnl remark #810: conversion from "x" to "y" may lose significant bits
CWARNINGS="-Wall -Wundef"
fi
-if test "$INTELCXX" = yes ; then
+if test "x$INTELCXX" = "xyes" ; then
dnl Intel compiler gives some warnings which simply can't be worked
dnl around or of which we have too many (810, 869) so it's impractical to
dnl keep them enabled even if in theory it would be nice and some others
dnl remark #981: operands are evaluated in unspecified order
dnl remark #1418: external definition with no prior declaration
dnl remark #1419: external declaration in primary source file
- CXXWARNINGS="-Wall -wd279,383,444,869,981,1418,1419"
+ CXXWARNINGS="-Wall -wd279,383,444,810,869,981,1418,1419"
elif test "$GXX" = yes ; then
dnl CXXWARNINGS="-Wall -W -Wcast-qual -Werror"
- CXXWARNINGS="-Wall -Wundef -Wno-ctor-dtor-privacy"
+ CXXWARNINGS="-Wall -Wundef -Wno-ctor-dtor-privacy"
fi
-EXTRA_CFLAGS="$WXDEBUG $WXODBCFLAG $PROFILE $OPTIMISE"
-dnl remove the extra white space from the cc/c++/ld options
-CPPFLAGS=`echo $WXDEBUG_DEFINE $INCLUDES $CPPFLAGS`
-CFLAGS=`echo $CODE_GEN_FLAGS $EXTRA_CFLAGS $CFLAGS $CWARNINGS`
-CXXFLAGS=`echo $CODE_GEN_FLAGS $CODE_GEN_FLAGS_CXX $EXTRA_CFLAGS $CXXFLAGS $CXXWARNINGS`
+dnl combine everything together and remove the extra white space while doing it
+WXCONFIG_CFLAGS=`echo $WXCONFIG_CFLAGS`
+WXCONFIG_CXXFLAGS=`echo $WXCONFIG_CFLAGS $WXCONFIG_CXXFLAGS`
+
+
+dnl add -I options we use during library compilation
+dnl
+dnl note that the order is somewhat important: wxWidgets headers should
+dnl come first and the one with setup.h should be before $(top_srcdir)/include
+dnl in case the latter contains setup.h used by non-autoconf makefiles (e.g.
+dnl CodeWarrior):
+CPPFLAGS=`echo $WXCONFIG_CPPFLAGS \
+ -I\\${top_builddir}lib/wx/include/${TOOLCHAIN_FULLNAME} \
+ -I\\${top_srcdir}/include $TOOLKIT_INCLUDE \
+ $CPPFLAGS `
+
+C_AND_CXX_FLAGS="$DEBUG_CFLAGS $PROFILE_FLAGS $OPTIMISE_CFLAGS"
+CFLAGS=`echo $WXCONFIG_CFLAGS $CWARNINGS $C_AND_CXX_FLAGS $CFLAGS `
+CXXFLAGS=`echo $WXCONFIG_CXXFLAGS $CXXWARNINGS $C_AND_CXX_FLAGS $CXXFLAGS `
+
+dnl now that we added WXCONFIG_CPPFLAGS to CPPFLAGS we can add the wx-config
+dnl only stuff to it
+WXCONFIG_CPPFLAGS=`echo $WXCONFIG_CPPFLAGS $WXCONFIG_ONLY_CPPFLAGS`
+
if test "x$MWCC" = "xyes"; then
dnl Correct MW 8.3 to be more similar to GCC. In particular we
EXTRALIBS_HTML="$MSPACK_LINK"
EXTRALIBS_ODBC="$ODBC_LINK"
if test "$wxUSE_GUI" = "yes"; then
- EXTRALIBS_GUI=`echo $GUI_TK_LIBRARY $PNG_LINK $JPEG_LINK $TIFF_LINK $WEBKIT_LINK $EXTRALIBS_GNOMEPRINT`
+ EXTRALIBS_GUI=`echo $GUI_TK_LIBRARY $PNG_LINK $JPEG_LINK $TIFF_LINK $WEBKIT_LINK $EXTRALIBS_HILDON $EXTRALIBS_GNOMEVFS $EXTRALIBS_GNOMEPRINT`
fi
if test "$wxUSE_OPENGL" = "yes"; then
EXTRALIBS_OPENGL="$LDFLAGS_GL $OPENGL_LIBS"
fi
-
-LDFLAGS="$LDFLAGS $PROFILE"
-dnl wxGTK does not need TOOLKIT includes in wx-config
-if test "$wxUSE_GTK" = 1; then
- WXCONFIG_INCLUDE=
-else
- WXCONFIG_INCLUDE="$TOOLKIT_INCLUDE"
-fi
+LDFLAGS="$LDFLAGS $PROFILE_FLAGS"
-WXCONFIG_EXTRALIBS="$LIBS"
+WXCONFIG_LIBS="$LIBS"
dnl wx-config must output builtin 3rd party libs in --libs in static build:
if test "$wxUSE_REGEX" = "builtin" ; then
fi
for i in $wxconfig_3rdparty ; do
- WXCONFIG_EXTRALIBS="-lwx${i}${lib_debug_suffix}${WX_LIB_FLAVOUR}-${WX_RELEASE}${HOST_SUFFIX} $WXCONFIG_EXTRALIBS"
+ WXCONFIG_LIBS="-lwx${i}${lib_debug_suffix}${WX_LIB_FLAVOUR}-${WX_RELEASE}${HOST_SUFFIX} $WXCONFIG_LIBS"
done
AC_SUBST(EXTRALIBS_SDL)
AC_SUBST(WITH_PLUGIN_SDL)
AC_SUBST(EXTRALIBS_GNOMEPRINT)
+AC_SUBST(EXTRALIBS_GNOMEVFS)
+AC_SUBST(EXTRALIBS_HILDON)
AC_SUBST(UNICODE)
AC_SUBST(BUILD)
AC_SUBST(DEBUG_INFO)
BAKEFILE_FORCE_PLATFORM=win32
fi
+dnl ---------------------------------------------------------------------------
+dnl Add Universal binary support
+dnl Note we don't do this earlier because adding these cpp/ld flags could
+dnl cause configure tests to fail.
+dnl ---------------------------------------------------------------------------
+if test "$wxUSE_MAC" = 1 ; then
+ if test "$wxUSE_UNIVERSAL_BINARY" = "yes" ; then
+ CXXFLAGS="-isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch ppc -arch i386 $CXXFLAGS"
+ CFLAGS="-isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch ppc -arch i386 $CFLAGS"
+ LDFLAGS="-isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch ppc -arch i386 $LDFLAGS"
+ bk_use_pch=no
+ fi
+ # TODO: where do we add "-syslibroot,/Developer/SDKs/MacOSX10.4u.sdk" for libtool (static builds only)?
+ # The makefile currently uses AR and RANLIB, which libtool apparently supercedes.
+ # TODO: how can we avoid a hardwired reference to the SDK, above? (Someone used -lSystemStubs to avoid it)
+fi
+
AC_BAKEFILE([m4_include(autoconf_inc.m4)])
+dnl HACK ALERT!!
+dnl For now, we need to alter bk-deps not to generate deps
+dnl when we've configured a Universal binary build.
+dnl The next version of Bakefile will have the correct fix for this
+dnl at which time, this hack can be removed.
+
+if test "$wxUSE_MAC" = 1 ; then
+ if test "$wxUSE_UNIVERSAL_BINARY" = "yes" ; then
+ sed "s/DEPSMODE=gcc/DEPSMODE=none/" < bk-deps > temp
+ mv temp bk-deps
+ chmod +x bk-deps
+ fi
+fi
+
if test "$wxUSE_SHARED" = "yes"; then
dnl We get the shared build linker from bakefile, since it
CPPFLAGS="-DWX_PRECOMP $CPPFLAGS"
fi
+dnl TOOLCHAIN_DEFS should be used for both wx and client code
+WXCONFIG_CPPFLAGS="$WXCONFIG_CPPFLAGS $TOOLCHAIN_DEFS"
dnl for convenience, sort the samples in alphabetical order
dnl
AC_SUBST(WX_LIBRARY_BASENAME_NOGUI)
AC_SUBST(WX_LIBRARY_BASENAME_GUI)
-dnl debugging options
-AC_SUBST(WXDEBUG_DEFINE)
-
dnl toolkit options
AC_SUBST(USE_GUI)
AC_SUBST(AFMINSTALL)
AC_SUBST(TOOLKIT_DIR)
AC_SUBST(TOOLCHAIN_NAME)
AC_SUBST(TOOLCHAIN_FULLNAME)
-AC_SUBST(TOOLCHAIN_DEFS)
-AC_SUBST(TOOLCHAIN_DLL_DEFS)
dnl wx-config options
AC_SUBST(host_alias)
AC_SUBST(WX_SUBVERSION)
AC_SUBST(WX_CHARTYPE)
AC_SUBST(WX_DEBUGTYPE)
-AC_SUBST(WXCONFIG_EXTRALIBS)
-AC_SUBST(WXCONFIG_INCLUDE)
+
+dnl note that in addition to the usual CPP/C/CXXFLAGS which are used for
+dnl building the library itself, we also have WXCONFIG_-prefixed variants which
+dnl are used when building the libraries using the library
+dnl
+dnl so put anything which should be used only during the library build in, e.g.
+dnl CXXFLAGS, but put everything else (by default) into WXCONFIG_CXXFLAGS
+dnl
+dnl and, finally, for some things which should be only used by wx-config but
+dnl not during the library compilation, use WXCONFIG_ONLY_CPPFLAGS which is
+dnl added to WXCONFIG_CPPFLAGS after adding the latter to CPPFLAGS
+AC_SUBST(WXCONFIG_CPPFLAGS)
+AC_SUBST(WXCONFIG_CFLAGS)
+AC_SUBST(WXCONFIG_CXXFLAGS)
+
+AC_SUBST(WXCONFIG_LIBS)
AC_SUBST(WXCONFIG_RPATH)
AC_SUBST(WXCONFIG_LDFLAGS_GUI)
-AC_SUBST(WX_LARGEFILE_FLAGS)
-AC_SUBST(GCC_PRAGMA_FLAGS)
-AC_SUBST(CODE_GEN_FLAGS)
-AC_SUBST(CODE_GEN_FLAGS_CXX)
+AC_SUBST(WXCONFIG_RESFLAGS)
AC_SUBST(EXE_LINKER)
dnl distribution vars
dnl additional resurces settings
AC_SUBST(RESCOMP)
+AC_SUBST(WINDRES)
+AC_SUBST(REZ)
AC_SUBST(RESFLAGS)
AC_SUBST(RESPROGRAMOBJ)
AC_SUBST(WX_RESOURCES_MACOSX_ASCII)
dnl additional for Mac OS X
AC_SUBST(DEREZ)
AC_SUBST(LIBWXMACRES)
-AC_SUBST(MACRESCOMP)
+AC_SUBST(POSTLINK_COMMAND)
AC_SUBST(MACSETFILE)
-AC_SUBST(MACRESWXCONFIG)
dnl other tools
AC_SUBST(GCC)
AC_CONFIG_HEADERS([lib/wx/include/${TOOLCHAIN_FULLNAME}/wx/setup.h:setup.h.in])
+if test "$USE_WIN32" = 1; then
+ AC_CONFIG_COMMANDS(
+ [
+ rcdefs.h
+ ],
+ [
+ mkdir -p $outdir &&
+ $CPP $infile | sed 's/^# *[1-9].*//;s/^ *//;/./,/^$/!d' > $outdir/rcdefs.h
+ ],
+ [
+ CPP="$CPP"
+ infile="$srcdir/include/wx/msw/genrcdefs.h"
+ outdir="lib/wx/include/$TOOLCHAIN_FULLNAME/wx/msw"
+ ]
+ )
+fi
+
AC_CONFIG_FILES([ lib/wx/config/${TOOLCHAIN_FULLNAME}:wx-config.in ],
[ chmod +x lib/wx/config/${TOOLCHAIN_FULLNAME} ],
[ TOOLCHAIN_FULLNAME="${TOOLCHAIN_FULLNAME}" ])
AC_CONFIG_FILES([ version-script Makefile ])
-AC_CONFIG_COMMANDS([ wx-config
- ],
+AC_CONFIG_COMMANDS([wx-config],
[ rm -f wx-config
${LN_S} lib/wx/config/inplace-${TOOLCHAIN_FULLNAME} wx-config
],
dnl AC_CONFIG_LINKS([ include/wx-$WX_RELEASE$WX_FLAVOUR:include ])
dnl AC_CONFIG_LINKS([ contrib/include ])
-
+if test "$wxWITH_SUBDIRS" != "no"; then
dnl Configure samples, contrib etc. directories, but only if they are present:
if test "$wxUSE_GUI" = "yes"; then
SUBDIRS="samples demos utils contrib"
done
fi
done
-
+fi dnl wxWITH_SUBDIRS
AC_OUTPUT
echo " Should wxWidgets be compiled in Unicode mode? ${wxUSE_UNICODE:-no}"
echo " What level of wxWidgets compatibility should be enabled?"
-echo " wxWidgets 2.2 ${WXWIN_COMPATIBILITY_2_2:-no}"
-echo " wxWidgets 2.4 ${WXWIN_COMPATIBILITY_2_4:-yes}"
+echo " wxWidgets 2.4 ${WXWIN_COMPATIBILITY_2_4:-no}"
+echo " wxWidgets 2.6 ${WXWIN_COMPATIBILITY_2_6:-yes}"
echo " Which libraries should wxWidgets use?"
echo " jpeg ${wxUSE_LIBJPEG-none}"
echo " libmspack ${wxUSE_LIBMSPACK}"
echo " sdl ${wxUSE_LIBSDL}"
echo " gnomeprint ${wxUSE_LIBGNOMEPRINT-none}"
+echo " gnomevfs ${wxUSE_LIBGNOMEVFS-none}"
+echo " hildon ${wxUSE_LIBHILDON-none}"
echo ""