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
dnl USE_UNIX must be set and not USE_WIN32
SO_SUFFIX=dll
PROGRAM_EXT=".exe"
- RESCOMP=windres
DEFAULT_DEFAULT_wxUSE_MSW=1
DEFAULT_STD_FLAG=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=yes
DEFAULT_wxUSE_LIBMSPACK=no
DEFAULT_wxUSE_LIBSDL=no
DEFAULT_wxUSE_LIBGNOMEPRINT=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_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_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_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_LIBHILDON=no
DEFAULT_wxUSE_ODBC=no
DEFAULT_wxUSE_OPENGL=no
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_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_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_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(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(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(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(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 FIXME: we should do a better job of testing for these
CC=winegcc
CXX=wineg++
- RESCOMP=wrc
LDFLAGS_GUI="-mwindows"
fi
dnl flush the cache because checking for programs might abort
AC_CACHE_SAVE
-dnl cross-compiling support: we're cross compiling if the build system is
-dnl different from the target one (assume host and target be always the same)
-if test "$build" != "$host" ; then
- if test "$USE_WIN32" = 1 -o "$USE_DOS" = 1 -o "$USE_UNIX" = 1; then
- CC=$host_alias-gcc
- CXX=$host_alias-c++
- AR=$host_alias-ar
- RANLIB=$host_alias-ranlib
- DLLTOOL=$host_alias-dlltool
- RESCOMP=$host_alias-windres
- STRIP=$host_alias-strip
- elif test "x$CC" '!=' "x"; then
- echo "You set CC, I assume you know what you are doing."
- else
- AC_MSG_ERROR($build_alias -> $host_alias cross compilation not supported yet.)
- fi
-fi
-
dnl C-compiler checks
dnl defines CC with the compiler to use
dnl defines GCC with yes if using gcc
dnl adds -traditional for gcc if needed
AC_PROG_GCC_TRADITIONAL
-AC_LANG_SAVE
-AC_LANG_CPLUSPLUS
+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
+AC_LANG_POP
dnl ranlib command
dnl defines RANLIB with the appropriate command
dnl ar command
dnl defines AR with the appropriate command
-AC_CHECK_PROG(AR, ar, ar)
+AC_CHECK_TOOL(AR, ar)
if test "x$AR" = "x" ; then
AC_MSG_ERROR([ar is needed to build wxWidgets])
fi
esac
dnl strip command
-dnl defines STRIP as strip or nothing if not found
-AC_CHECK_PROG(STRIP, strip, strip, true)
+dnl defines STRIP as strip or nothing (true) if not found
+AC_CHECK_TOOL(STRIP, strip, true)
+
+dnl Win32 tools
+if test "$wxUSE_WINE" = "yes"; then
+ AC_CHECK_TOOL(WINDRES, wrc)
+ RESCOMP="$WINDRES"
+else
+ case "${host}" in
+ *-*-cygwin* | *-*-mingw32* )
+ 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
+fi
dnl does make support "-include" (only GNU make does AFAIK)?
AC_CACHE_CHECK([if make is GNU make], wx_cv_prog_makeisgnu,
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
case "${host}" in
powerpc-*-darwin* )
[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 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>
dnl ---------------------------------------------------------------------
dnl (non-OS/2-only piece)
- AC_LANG_SAVE
- AC_LANG_CPLUSPLUS
+ AC_LANG_PUSH(C++)
AC_CACHE_CHECK([for strcasecmp() in string.h], ac_cv_string_strcasecmp, [
AC_TRY_LINK([
fi
fi
- AC_LANG_RESTORE
+ AC_LANG_POP
dnl (end of non-OS/2-only piece)
;;
esac
;;
esac
-if test "$wxUSE_GUI" = "yes"; then
- 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], [], [],
- [
- #if HAVE_X11_XLIB_H
- #include <X11/Xlib.h>
- #endif
- ])
- fi
-fi
-
dnl ---------------------------------------------------------------------------
dnl Checks for compiler characteristics
dnl ---------------------------------------------------------------------------
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.
+ dnl The compiler should define it automatically, but some old g++
+ dnl versions don't define it, so test and add it if necessary. AFAIK
+ dnl the problem only affects the C++ compiler so it is added to
+ dnl CXXFLAGS only.
+ if test "$USE_HPUX" = 1 -a "$GXX" = "yes"; then
+ AC_CACHE_CHECK(
+ [if -D__STDC_EXT__ is required],
+ wx_cv_STDC_EXT_required,
+ [
+ AC_LANG_PUSH(C++)
+ AC_TRY_COMPILE(
+ [],
+ [
+ #ifndef __STDC_EXT__
+ choke me
+ #endif
+ ],
+ wx_cv_STDC_EXT_required=no,
+ wx_cv_STDC_EXT_required=yes
+ )
+ AC_LANG_POP
+ ]
+ )
+ if test "x$wx_cv_STDC_EXT_required" = "xyes"; then
+ 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 was to hack their C++ compiler to accept them silently -- but C compiler
+dnl still spits out dozens of warnings for each X include file, so suppress
+dnl them
+if test "x$SUNCC" = xyes; then
+ CFLAGS="-erroff=E_NO_EXPLICIT_TYPE_GIVEN $CFLAGS"
+fi
+
+dnl SGI mipsPro compiler gives this warning for "conversion from pointer to
+dnl same-sized integral type" even when there is an explicit cast and as there
+dnl is no way to turn it off and there are hundreds of these warnings in wx
+dnl sources, just turn it off for now
+dnl
+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="-woff 3970 $CFLAGS"
+fi
+if test "x$SGICXX" = "xyes"; then
+ 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
AC_MSG_WARN([No std::iostreams, switching to --disable-std_iostreams])
fi
fi
-
+
AC_LANG_POP
fi
#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])],
/usr/Motif-2.1/include \
/usr/Motif-1.2/include \
/usr/include/Motif1.2 \
- /opt/xpm/include/X11 \
- /opt/GBxpm/include/ \
- /opt/GBxpm/X11/include/ \
\
/usr/dt/include \
/usr/openwin/include \
/usr/local/X11/include \
/usr/local/include/X11 \
\
- /usr/X386/include \
- /usr/x386/include \
/usr/XFree86/include/X11 \
- \
- X:/XFree86/include \
- X:/XFree86/include/X11 \
- \
- /usr/include/gtk \
- /usr/local/include/gtk \
- /usr/include/glib \
- /usr/local/include/glib \
- \
- /usr/include/qt \
- /usr/local/include/qt \
- \
- /usr/local/arm/3.3.2/include \
- \
- /usr/include/windows \
- /usr/include/wine \
- /usr/local/include/wine \
- \
- /usr/unsupported/include \
- /usr/athena/include \
- /usr/local/x11r5/include \
- /usr/lpp/Xamples/include \
+ /usr/pkg/include \
\
/usr/openwin/share/include"
-dnl prepend lib and lib32 for IRIX where the files in these directories should
-dnl be found before the ones in lib64 for 32bit compilation -- of course, this
-dnl probably/surely breaks 64bit compilation... IMO the only real solution is to
-dnl stop using WX_PATH_FIND_LIBRARIES() at all and use AC_CHECK_LIB() instead
-dnl
-dnl also put 64 bit versions for Linux on AMD, they must come before the usual
-dnl locations or 64 bit compilation failed
-SEARCH_LIB="/usr/lib /usr/lib32 /usr/lib64 /usr/X11R6/lib64 `echo "$SEARCH_INCLUDE" | sed s/include/lib/g`"
+dnl try to find out the standard lib locations for the systems with multiple
+dnl ABIs
+AC_MSG_CHECKING([for libraries directory])
+
+case "${host}" in
+ *-*-irix6* )
+ AC_CACHE_VAL(
+ wx_cv_std_libpath,
+ [
+ for d in WX_STD_LIBPATH(); do
+ for e in a so sl dylib dll.a; do
+ libc="$d/libc.$e"
+ if test -f $libc; then
+ save_LIBS="$LIBS"
+ LIBS="$libc"
+ AC_LINK_IFELSE([int main() { return 0; }],
+ wx_cv_std_libpath=`echo $d | sed s@/usr/@@`)
+ LIBS="$save_LIBS"
+ if test "x$wx_cv_std_libpath" != "x"; then
+ break 2
+ fi
+ fi
+ done
+ done
+ if test "x$wx_cv_std_libpath" = "x"; then
+ wx_cv_std_libpath="lib"
+ fi
+ ]
+ )
+ ;;
+
+ *-*-solaris2* )
+ dnl use ../lib or ../lib/64 depending on the size of void*
+ if test "$ac_cv_sizeof_void_p" = 8 -a -d "/usr/lib/64"; then
+ wx_cv_std_libpath="lib/64"
+ else
+ wx_cv_std_libpath="lib"
+ fi
+ ;;
+
+ *-*-linux* )
+ dnl use ../lib or ../lib64 depending on the size of void*
+ if test "$ac_cv_sizeof_void_p" = 8 -a \
+ -d "/usr/lib64" -a ! -h "/usr/lib64"; then
+ wx_cv_std_libpath="lib64"
+ else
+ wx_cv_std_libpath="lib"
+ fi
+ ;;
+
+ *)
+ wx_cv_std_libpath="lib";
+ ;;
+esac
+
+AC_MSG_RESULT($wx_cv_std_libpath)
+
+SEARCH_LIB="`echo "$SEARCH_INCLUDE" | sed s@include@$wx_cv_std_libpath@g` /usr/$wx_cv_std_libpath"
dnl Cross compiling with gcc?
if test "$build" != "$host" -a "$GCC" = yes; then
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
AC_TRY_COMPILE([#include <features.h>],
[
#if (__GLIBC__ < 2) || (__GLIBC_MINOR__ < 1)
- #error not glibc2.1
+ not glibc 2.1
#endif
],
[
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_LANG_PUSH(C++)
AC_TRY_COMPILE([#include <expat.h>],[],
wx_cv_expat_is_not_broken=yes,
wx_cv_expat_is_not_broken=no
)
- AC_LANG_RESTORE
+ AC_LANG_POP
]
)
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
dnl detect GTK2
wx_cv_lib_gtk=
- if test "x$wxGTK_VERSION" != "x1"; then
+ if test "x$wxGTK_VERSION" != "x1"
+ then
+ dnl The gthread.pc that ships with solaris returns '-mt',
+ dnl it's correct for Sun CC, but gcc requires '-pthreads'.
+ dnl So disable the compile check and remove the -mt below.
+ case "${host}" in
+ *-*-solaris2* )
+ if test "$wxUSE_THREADS" = "yes" -a "$GCC" = yes; then
+ enable_gtktest=no
+ fi
+ esac
+
AM_PATH_GTK_2_0(2.0.0, wx_cv_lib_gtk=2.0, , $GTK_MODULES)
+
+ dnl Remove the '-mt' for gcc on solaris
+ case "${host}" in
+ *-*-solaris2* )
+ if test "$wxUSE_THREADS" = "yes" -a "$GCC" = yes; then
+ GTK_CFLAGS=`echo $GTK_CFLAGS | sed 's/-mt//'`
+ GTK_LIBS=`echo $GTK_LIBS | sed 's/-mt//'`
+ fi
+ dnl solaris also requires -lX11 for static lib
+ if test "$wxUSE_SHARED" != "yes"; then
+ GTK_LIBS="$GTK_LIBS -lX11"
+ fi
+ esac
fi
dnl detect GTK1.x
dnl we need to cache GTK_CFLAGS and GTK_LIBS for the
dnl subsequent runs
wx_cv_cflags_gtk=$GTK_CFLAGS
- wx_cv_libs_gtk=$GTK_LIBS
+ wx_cv_libs_gtk=`echo $GTK_LIBS | sed -e 's/ -l[[^ ]]*cairo[[^ ]]*//g'`
fi
]
)
if test "$WXGTK20" = 1; then
save_CFLAGS="$CFLAGS"
save_LIBS="$LIBS"
- CFLAGS="$CFLAGS $wx_cv_cflags_gtk"
+ CFLAGS="$wx_cv_cflags_gtk $CFLAGS"
LIBS="$LIBS $wx_cv_libs_gtk"
- AC_CHECK_FUNCS([pango_font_family_is_monospace])
-
dnl gtk_icon_size_lookup is not available in the GTK+ headers
dnl that have shipped with some versions of Sun's JDS. Not using
dnl AC_CHECK_FUNCS here since it only checks the function exists
],
[
#if !GTK_CHECK_VERSION(2,4,0)
- #error "Not GTK+ 2.4"
+ Not GTK+ 2.4
#endif
],
[
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)
dnl we guess its path from the prefix
GUI_TK_LIBRARY="-L${prefix}/lib -lgpewidget $GUI_TK_LIBRARY"
WXGPE=1
- AC_MSG_RESULT(found at $ac_find_libraries)
+ AC_MSG_RESULT([found in $ac_find_libraries])
else
AC_MSG_RESULT(not found)
fi
dnl if test "$ac_find_libraries" != "" ; then
dnl WX_LINK_PATH_EXIST($ac_find_libraries,$GUI_TK_LIBRARY)
dnl GUI_TK_LIBRARY="$GUI_TK_LIBRARY -lgpe"
- dnl AC_MSG_RESULT(found at $ac_find_libraries)
+ dnl AC_MSG_RESULT(found in $ac_find_libraries)
dnl else
dnl AC_MSG_RESULT(not found)
dnl fi
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"
],
[
)
save_CFLAGS="$CFLAGS"
save_LIBS="$LIBS"
- CFLAGS="$CFLAGS $PANGOX_CFLAGS"
+ CFLAGS="$PANGOX_CFLAGS $CFLAGS"
LIBS="$LIBS $PANGOX_LIBS"
AC_CHECK_FUNCS([pango_font_family_is_monospace])
CFLAGS="$save_CFLAGS"
WX_INCLUDE_PATH_EXIST($ac_find_includes, $TOOLKIT_INCLUDE)
TOOLKIT_INCLUDE="$TOOLKIT_INCLUDE$ac_path_to_include"
else
+ save_CFLAGS=$CFLAGS
+ CFLAGS="$TOOLKIT_INCLUDE $CFLAGS"
+
AC_TRY_COMPILE(
[
#include <Xm/Xm.h>
],
[
AC_MSG_RESULT(no)
- AC_MSG_ERROR(please set CFLAGS to contain the location of Xm/Xm.h)
+ AC_MSG_ERROR(please set CPPFLAGS to contain the location of Xm/Xm.h)
]
)
+
+ CFLAGS=$save_CFLAGS
fi
- if test "$COMPILED_X_PROGRAM" = 0; then
- AC_MSG_CHECKING(for Motif/Lesstif library)
- WX_PATH_FIND_LIBRARIES($SEARCH_LIB, Xm)
- if test "$ac_find_libraries" != "" ; then
- AC_MSG_RESULT(found at $ac_find_libraries)
- WX_LINK_PATH_EXIST($ac_find_libraries, $GUI_TK_LIBRARY)
- GUI_TK_LIBRARY="$GUI_TK_LIBRARY$ac_path_to_link"
- else
- dnl it might happen that we found headers in one of the
- dnl standard paths but the libs are elsewhere - we do need to
- dnl try to compile a sample program then here
- save_CFLAGS=$CFLAGS
- CFLAGS="$CFLAGS $TOOLKIT_INCLUDE"
+ AC_MSG_CHECKING(for Motif/Lesstif library)
+ WX_PATH_FIND_LIBRARIES($SEARCH_LIB, Xm)
- AC_TRY_COMPILE(
- [
- #include <Xm/Xm.h>
- ],
- [
- int version;
- version = xmUseVersion;
- ],
- [
- AC_MSG_RESULT(found in default search path)
- COMPILED_X_PROGRAM=1
- ],
- [
- AC_MSG_RESULT(no)
- AC_MSG_ERROR(please set LDFLAGS to contain the location of libXm)
- ]
- )
+ if test "x$ac_find_libraries" != "x" ; then
+ AC_MSG_RESULT(found in $ac_find_libraries)
- CFLAGS=$save_CFLAGS
- fi
+ WX_LINK_PATH_EXIST($ac_find_libraries, $GUI_TK_LIBRARY)
+ GUI_TK_LIBRARY="$GUI_TK_LIBRARY$ac_path_to_link"
+ else
+ 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="$TOOLKIT_INCLUDE $CFLAGS"
+ save_LIBS="$LIBS"
+ LIBS="$GUI_TK_LIBRARY -lXm -lXmu -lXext -lX11"
+
+ AC_TRY_LINK(
+ [
+ #include <Xm/Xm.h>
+ ],
+ [
+ int version;
+ version = xmUseVersion;
+ ],
+ [
+ AC_MSG_RESULT(found in default search path)
+ COMPILED_X_PROGRAM=1
+ ],
+ [
+ AC_MSG_RESULT(no)
+ AC_MSG_ERROR(please set LDFLAGS to contain the location of libXm)
+ ]
+ )
+
+ CFLAGS=$save_CFLAGS
+ LIBS="$save_LIBS"
fi
AC_MSG_CHECKING([if we need -lXp and/or -lSM -lICE])
save_LIBS="$LIBS"
LIBS="$GUI_TK_LIBRARY -lXm ${libp} -lXmu -lXext -lXt${libsm_ice} -lX11"
save_CFLAGS=$CFLAGS
- CFLAGS="$CFLAGS $TOOLKIT_INCLUDE"
+ CFLAGS="$TOOLKIT_INCLUDE $CFLAGS"
AC_TRY_LINK(
[
AC_MSG_ERROR([can't link a simple motif program])
fi
+ dnl this seems to be needed under IRIX and shouldn't do any harm
+ dnl elsewhere
+ AC_CHECK_LIB(Sgm, [SgCreateList], [libsgm_link=" -lSgm"])
+
save_CFLAGS=$CFLAGS
- CFLAGS="$CFLAGS $TOOLKIT_INCLUDE"
- AC_MSG_CHECKING([for Motif 2])
- AC_TRY_COMPILE([
- #include <Xm/Xm.h>
- ],
- [
- #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])
- ])
-
- AC_MSG_CHECKING([whether Motif is Lesstif])
- AC_TRY_COMPILE([
- #include <Xm/Xm.h>
- ],
- [
- #if !defined(LesstifVersion) || LesstifVersion <= 0
- #error "Not Lesstif"
- #endif
- ],
- [
- AC_DEFINE(__WXLESSTIF__,1)
- AC_MSG_RESULT([yes])
- ],
- [
- AC_DEFINE(__WXLESSTIF__,0)
- AC_MSG_RESULT([no])
- ])
+ CFLAGS="$TOOLKIT_INCLUDE $CFLAGS"
+
+ AC_CACHE_CHECK([for Motif 2],
+ wx_cv_lib_motif2,
+ AC_TRY_COMPILE([
+ #include <Xm/Xm.h>
+ ],
+ [
+ #if XmVersion < 2000
+ Not Motif 2
+ #endif
+ ],
+ wx_cv_lib_motif2="yes",
+ wx_cv_lib_motif2="no"))
+ if test "$wx_cv_lib_motif2" = "yes"; then
+ AC_DEFINE(__WXMOTIF20__,1)
+ else
+ AC_DEFINE(__WXMOTIF20__,0)
+ fi
+
+ AC_CACHE_CHECK([whether Motif is Lesstif],
+ wx_cv_lib_lesstif,
+ AC_TRY_COMPILE([
+ #include <Xm/Xm.h>
+ ],
+ [
+ #if !defined(LesstifVersion) || LesstifVersion <= 0
+ Not Lesstif
+ #endif
+ ],
+ wx_cv_lib_lesstif="yes",
+ wx_cv_lib_lesstif="no")
+ )
+ if test "$wx_cv_lib_lesstif" = "yes"; then
+ AC_DEFINE(__WXLESSTIF__,1)
+ else
+ AC_DEFINE(__WXLESSTIF__,0)
+ fi
+
CFLAGS=$save_CFLAGS
- GUI_TK_LIBRARY="$GUI_TK_LIBRARY -lXm${libp_link} -lXmu -lXext -lXt${libsm_ice_link} -lX11"
+ GUI_TK_LIBRARY="$GUI_TK_LIBRARY${libsgm_link} -lXm${libp_link} -lXmu -lXext -lXt${libsm_ice_link} -lX11"
TOOLKIT=MOTIF
GUIDIST=MOTIF_DIST
fi
if test "$ac_find_libraries" != "" ; then
WX_LINK_PATH_EXIST($ac_find_libraries,$GUI_TK_LIBRARY)
GUI_TK_LIBRARY="$GUI_TK_LIBRARY$ac_path_to_link"
- AC_MSG_RESULT(found at $ac_find_libraries)
+ AC_MSG_RESULT(found in $ac_find_libraries)
AC_CACHE_CHECK([for X11/xpm.h],
wx_cv_x11_xpm_h,
[
save_CFLAGS=$CFLAGS
- CFLAGS="$CFLAGS $TOOLKIT_INCLUDE"
+ CFLAGS="$TOOLKIT_INCLUDE $CFLAGS"
AC_TRY_COMPILE(
[
if test "$wxHAVE_XEXT_LIB" = 1; then
save_CFLAGS="$CFLAGS"
- CFLAGS="$CFLAGS $TOOLKIT_INCLUDE"
+ CFLAGS="$TOOLKIT_INCLUDE $CFLAGS"
AC_MSG_CHECKING([for X11/extensions/shape.h])
AC_TRY_COMPILE([
- #include <X11/Xlib.h>
+ #include <X11/Xlib.h>
#include <X11/extensions/shape.h>
],
[
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
dnl Optional libraries included when system library is not used
dnl ---------------------------------------------------------------------------
+dnl do this after test for X11 above so that we have a chance of finding Xlib.h
+if test "$wxUSE_GUI" = "yes"; then
+ 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], [], [],
+ [
+ #if HAVE_X11_XLIB_H
+ #include <X11/Xlib.h>
+ #endif
+ ])
+ fi
+fi
+
dnl ----------------------------------------------------------------
dnl iODBC support
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])
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_LANG_PUSH(C++)
AC_CACHE_CHECK([if size_t is unsigned int],
wx_cv_size_t_is_uint,
[
fi
fi
-AC_LANG_RESTORE
+AC_LANG_POP
dnl ---------------------------------------------------------------------------
dnl Checks for structures
AC_DEFINE(HAVE_WCSLEN)
fi
- dnl on HP-UX aCC and g++ need this define to find mbstrtowcs() &c
- if test "$USE_HPUX" = 1; then
- CPPFLAGS="$CPPFLAGS -D_INCLUDE__STDC_A1_SOURCE "
+ dnl On HP-UX aCC need this define to find mbstrtowcs() &c
+ dnl Can't be used for g++ since the mbstate_t in wchar.h can conflict
+ 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="-D_INCLUDE__STDC_A1_SOURCE $CPPFLAGS"
fi
- dnl try to use wcsrtombs instead of wcstombs which is buggy in old GNU
- dnl libc versions if possible
- AC_CHECK_FUNCS(wcsrtombs)
+ dnl Try to use wcsrtombs instead of wcstombs which is buggy in old GNU
+ dnl libc versions if possible. AC_CHECK_FUNCS only checks it's in the
+ dnl library, not the header, so do a header check for mbstate_t first.
+ AC_CHECK_TYPES([mbstate_t],
+ [AC_CHECK_FUNCS(wcsrtombs)],
+ [],
+ [#include <wchar.h>])
else
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
+AC_LANG_PUSH(C++)
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 the trouble here is that on some systems (e.g HP-UX 10) 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 wxWidgets fails
dnl
dnl so we first check if the function is in the library
-AC_CHECK_FUNCS(vsnprintf)
+AC_CHECK_FUNCS(snprintf 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,
[
+ dnl our troubles are not over: HP-UX 11 prototypes vsnprintf() as
+ dnl taking "char *" and not "const char *" while Metrowerks does
+ dnl provide a correct vsnprintf declaration but in C++ mode it's
+ dnl always in std namespace and so we have to bring it in scope
AC_TRY_COMPILE(
[
#include <stdio.h>
#include <stdarg.h>
+ #ifdef __MSL__
+ #if __MSL__ >= 0x6000
+ namespace std {}
+ using namespace std;
+ #endif
+ #endif
],
[
char *buf;
vsnprintf(buf, 10u, "%s", ap);
],
wx_cv_func_vsnprintf_decl=yes,
- [
- dnl Metrowerks does provide a vsnprintf declaration
- dnl but in C++ mode it's always in std namespace.
- dnl FIXME: Do we have any UNIX C++ compilers that would
- dnl fail this test if using namespace std; was
- dnl simply always included?
- AC_TRY_COMPILE(
- [
- #include <stdio.h>
- #include <stdarg.h>
- using namespace std;
- ],
- [
- char *buf;
- va_list ap;
- vsnprintf(buf, 10u, "%s", ap);
- ],
- wx_cv_func_vsnprintf_decl=yes,
- wx_cv_func_vsnprintf_decl=no
- )
- ]
+ wx_cv_func_vsnprintf_decl=no
)
]
)
if test "$wx_cv_func_vsnprintf_decl" = "yes"; then
AC_DEFINE(HAVE_VSNPRINTF_DECL)
+
+ dnl we know there is a vsnprintf declaration, but some old headers
+ dnl may have one taking a "char *" format instead of "const char *"
+ AC_CACHE_CHECK([if vsnprintf declaration is broken], wx_cv_func_broken_vsnprintf_decl,
+ [
+ AC_TRY_COMPILE(
+ [
+ #include <stdio.h>
+ #include <stdarg.h>
+ #ifdef __MSL__
+ #if __MSL__ >= 0x6000
+ namespace std {}
+ using namespace std;
+ #endif
+ #endif
+ ],
+ [
+ char *buf;
+ va_list ap;
+ const char *fmt = "%s";
+ vsnprintf(buf, 10u, fmt, ap);
+ ],
+ wx_cv_func_broken_vsnprintf_decl=no,
+ wx_cv_func_broken_vsnprintf_decl=yes
+ )
+ ]
+ )
+
+ if test "$wx_cv_func_broken_vsnprintf_decl" = "yes"; then
+ AC_DEFINE(HAVE_BROKEN_VSNPRINTF_DECL)
+ fi
+ fi
+fi
+
+dnl the same as above but for snprintf() now: it's not present in at least AIX
+dnl 4.2 headers
+if test "$ac_cv_func_snprintf" = "yes"; then
+ AC_CACHE_CHECK([for snprintf declaration], wx_cv_func_snprintf_decl,
+ [
+ AC_TRY_COMPILE(
+ [
+ #include <stdio.h>
+ #include <stdarg.h>
+ #ifdef __MSL__
+ #if __MSL__ >= 0x6000
+ namespace std {}
+ using namespace std;
+ #endif
+ #endif
+ ],
+ [
+ char *buf;
+ snprintf(buf, 10u, "%s", "wx");
+ ],
+ wx_cv_func_snprintf_decl=yes,
+ wx_cv_func_snprintf_decl=no
+ )
+ ]
+ )
+
+ if test "$wx_cv_func_snprintf_decl" = "yes"; then
+ AC_DEFINE(HAVE_SNPRINTF_DECL)
+
+ dnl we know there is an snprintf declaration, but some old headers
+ dnl may have one taking a "char *" format instead of "const char *"
+ AC_CACHE_CHECK([if snprintf declaration is broken], wx_cv_func_broken_snprintf_decl,
+ [
+ AC_TRY_COMPILE(
+ [
+ #include <stdio.h>
+ #include <stdarg.h>
+ #ifdef __MSL__
+ #if __MSL__ >= 0x6000
+ namespace std {}
+ using namespace std;
+ #endif
+ #endif
+ ],
+ [
+ char *buf;
+ const char *fmt = "%s";
+ snprintf(buf, 10u, fmt, "wx");
+ ],
+ wx_cv_func_broken_snprintf_decl=no,
+ wx_cv_func_broken_snprintf_decl=yes
+ )
+ ]
+ )
+
+ if test "$wx_cv_func_broken_snprintf_decl" = "yes"; then
+ AC_DEFINE(HAVE_BROKEN_SNPRINTF_DECL)
+ fi
fi
fi
[AC_MSG_RESULT([no])]);
fi
-AC_LANG_RESTORE
+AC_LANG_POP
if test "x$ac_cv_header_fnmatch_h" = "xyes"; then
AC_CHECK_FUNCS(fnmatch)
dnl check for available version of iconv()
-AC_LANG_SAVE
-AC_LANG_CPLUSPLUS
+AC_LANG_PUSH(C++)
AM_ICONV
LIBS="$LIBICONV $LIBS"
-AC_LANG_RESTORE
+AC_LANG_POP
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_LANG_PUSH(C++)
AC_CACHE_CHECK([for sa_handler type], wx_cv_type_sa_handler,
[
])
])
- AC_LANG_RESTORE
+ AC_LANG_POP
AC_DEFINE_UNQUOTED(wxTYPE_SA_HANDLER, $wx_cv_type_sa_handler)
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_LANG_PUSH(C++)
AC_CACHE_CHECK([for backtrace() in <execinfo.h>], wx_cv_func_backtrace,
[
fi
fi
- AC_LANG_RESTORE
+ AC_LANG_POP
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
AC_TRY_COMPILE(
[
#if defined(__BSD__)
- #include <sys/param.h>
- #include <sys/mount.h>
+ #include <sys/param.h>
+ #include <sys/mount.h>
#else
- #include <sys/vfs.h>
+ #include <sys/vfs.h>
#endif
],
[
l += fs.f_blocks;
l += fs.f_bavail;
],
- [
- wx_cv_func_statfs=yes
- ],
- [
- wx_cv_func_statfs=no
- ]
+ wx_cv_func_statfs=yes,
+ wx_cv_func_statfs=no
)
)
if test "$wx_cv_func_statfs" = "yes"; then
+ dnl check whether we have its dcelaration too: some systems (AIX 4) lack it
+ AC_LANG_PUSH(C++)
+ AC_CACHE_CHECK(for statfs declaration, wx_cv_func_statfs_decl,
+ AC_TRY_COMPILE(
+ [
+ #if defined(__BSD__)
+ #include <sys/param.h>
+ #include <sys/mount.h>
+ #else
+ #include <sys/vfs.h>
+ #endif
+ ],
+ [
+ struct statfs fs;
+ statfs("", &fs);
+ ],
+ wx_cv_func_statfs_decl=yes,
+ wx_cv_func_statfs_decl=no
+ )
+ )
+ AC_LANG_POP
+
+ if test "$wx_cv_func_statfs_decl" = "yes"; then
+ AC_DEFINE(HAVE_STATFS_DECL)
+ fi
+
wx_cv_type_statvfs_t="struct statfs"
AC_DEFINE(HAVE_STATFS)
else
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_LANG_PUSH(C++)
AC_CACHE_CHECK(for statvfs argument type, wx_cv_type_statvfs_t,
AC_TRY_COMPILE(
)
)
- AC_LANG_RESTORE
+ AC_LANG_POP
if test "$wx_cv_type_statvfs_t" != "unknown"; then
AC_DEFINE(HAVE_STATVFS)
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_LANG_PUSH(C++)
AC_CHECK_FUNCS(strtok_r)
-AC_LANG_RESTORE
+AC_LANG_POP
dnl check for inet_addr and inet_aton (these may live either in libc, or in
dnl libnsl or libresolv or libsocket)
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:
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=""
+ 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=""
+ else
+ dnl HP-UX aCC (tested with version B3910B A.06.05 [Jul 25
+ dnl 2005]) supports -mt
+ THREAD_OPTS="-mt"
fi
;;
THREADS_CFLAGS="$THREADS_CFLAGS $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_CFLAGS="$WXCONFIG_CFLAGS $THREADS_CFLAGS"
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],
wx_cv_cflags_mthread,
[
CFLAGS_OLD="$CFLAGS"
- CFLAGS="$CFLAGS -mthreads"
+ CFLAGS="-mthreads $CFLAGS"
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_CFLAGS="$WXCONFIG_CFLAGS -mthreads"
LDFLAGS="$LDFLAGS -mthreads"
else
dnl it doesn't
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
+
+AC_LANG_PUSH(C++)
+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 )
+AC_LANG_POP
+
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} "
- ;;
- esac
+ OPTIMISE_CFLAGS="-O2"
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 ---------------------------------------------------------------------------
dnl Unix implementation needs additional checks because audio support
dnl comes in many favours:
if test "$USE_UNIX" = "1" ; then
- AC_CHECK_HEADERS([sys/soundcard.h],,
- [DISABLED_CONTRIB="$DISABLED_CONTRIB mmedia"])
+ dnl it's not enough to check for just the header because OSS under NetBSD
+ dnl redefines ioctl as oss_ioctrl inside it and so we also need to test
+ dnl whether we need -lossaudio at link-time
+ AC_CACHE_CHECK([for ioctl() in sys/soundcard.h], ac_cv_header_sys_soundcard, [
+ AC_TRY_LINK([
+ #include <sys/soundcard.h>
+ ],
+ [
+ ioctl(0, SNDCTL_DSP_SYNC, 0);
+ ],
+ ac_cv_header_sys_soundcard=yes,
+ [
+ saveLibs="$LIBS"
+ LIBS="$saveLibs -lossaudio"
+ AC_TRY_LINK([
+ #include <sys/soundcard.h>
+ ],
+ [
+ ioctl(0, SNDCTL_DSP_SYNC, 0);
+ ],
+ ac_cv_header_sys_soundcard=yes,
+ [
+ LIBS="$saveLibs"
+ ac_cv_header_sys_soundcard=no
+ ]
+ )
+ ]
+ )
+ ])
+
+ if test "$ac_cv_header_sys_soundcard" = "yes"; then
+ AC_DEFINE(HAVE_SYS_SOUNDCARD_H)
+ else
+ DISABLED_CONTRIB="$DISABLED_CONTRIB mmedia"
+ fi
fi
WITH_PLUGIN_SDL=0
if test "$wxUSE_SOUND" = "yes"; then
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_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_LANG_PUSH(C++)
+ 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
+ )
+ AC_LANG_POP
+ ]
+ )
+ 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_LANG_PUSH(C++)
AC_TRY_COMPILE(
[
]
)
)
- AC_LANG_RESTORE
+ AC_LANG_POP
])
if test "$wx_cv_func_gettimeofday_has_2_args" != "yes"; then
dnl converting between incompatible pointer types, so
dnl try to use it to get the correct behaviour at
dnl least with gcc (otherwise we'd always use size_t)
- CFLAGS_OLD="$CFLAGS"
+ CXXFLAGS_OLD="$CXXFLAGS"
if test "$GCC" = yes ; then
- CFLAGS="$CFLAGS -Werror"
+ CXXFLAGS="-Werror $CXXFLAGS"
fi
AC_TRY_COMPILE(
)
)
- CFLAGS="$CFLAGS_OLD"
+ CXXFLAGS="$CXXFLAGS_OLD"
]
)
])
wxUSE_SOCKETS=no
AC_MSG_WARN([Couldn't find socklen_t synonym for this system])
else
- AC_DEFINE_UNQUOTED(SOCKLEN_T, $wx_cv_type_getsockname3)
+ AC_DEFINE_UNQUOTED(WX_SOCKLEN_T, $wx_cv_type_getsockname3)
fi
dnl Do this again for getsockopt as it may be different
AC_CACHE_CHECK([what is the type of the fifth argument of getsockopt],
dnl converting between incompatible pointer types, so
dnl try to use it to get the correct behaviour at
dnl least with gcc (otherwise we'd always use size_t)
- CFLAGS_OLD="$CFLAGS"
+ CXXFLAGS_OLD="$CXXFLAGS"
if test "$GCC" = yes ; then
- CFLAGS="$CFLAGS -Werror"
+ CXXFLAGS="-Werror $CXXFLAGS"
fi
AC_TRY_COMPILE(
)
)
- CFLAGS="$CFLAGS_OLD"
+ CXXFLAGS="$CXXFLAGS_OLD"
]
)
])
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
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
AC_MSG_ERROR([wxExpr and old-style resources are now available in contrib only])
fi
+dnl ---------------------------------------------------------------------------
+dnl wxMetafile availability
+dnl ---------------------------------------------------------------------------
+
+if test "$wxUSE_METAFILE" = "yes"; then
+ if test "$wxUSE_MSW" != 1 -a "$wxUSE_MAC" != 1 -a "$wxUSE_PM" != 1; then
+ AC_MSG_WARN([wxMetafile is not available on this system... disabled])
+ wxUSE_METAFILE=no
+ fi
+fi
+
dnl ---------------------------------------------------------------------------
dnl IPC: IPC, Drag'n'Drop, Clipboard, ...
dnl ---------------------------------------------------------------------------
if test "$ac_cv_header_ole2_h" = "yes" ; then
if test "$GCC" = yes ; then
- AC_LANG_SAVE
- AC_LANG_CPLUSPLUS
+ AC_LANG_PUSH(C++)
AC_MSG_CHECKING([if g++ requires -fvtable-thunks])
AC_TRY_COMPILE([#include <windows.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"])
+ AC_LANG_POP
LIBS=" -lrpcrt4 -loleaut32 -lole32 -luuid$LIBS"
if test "$wxUSE_OLE" = "yes" ; then
AC_DEFINE(wxUSE_OLE)
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 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 ---------------------------------------------------------------------------
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 -------------------------------------------------------------------
PKG_CHECK_MODULES(GSTREAMER, gstreamer-0.8,
[
- CPPFLAGS="$CPPFLAGS $GSTREAMER_CFLAGS"
+ CPPFLAGS="$GSTREAMER_CFLAGS $CPPFLAGS"
LIBS="$LIBS $GSTREAMER_LIBS -lgstplay-0.8"
],
[
AC_MSG_WARN([GStreamer installation not found])
wxUSE_GSTREAMER="no"
])
-
+
dnl -------------------------------------------------------------------
dnl Perform a check for a GStreamer element using gst-inspect
dnl Thomas Vander Stichele <thomas at apestaart dot org>
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
fi
fi
])
-
+
dnl -------------------------------------------------------------------
dnl Test for x video sink (video useless without)
dnl -------------------------------------------------------------------
- AM_GST_ELEMENT_CHECK(xvimagesink,[],
+ 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, [],
+ dnl -------------------------------------------------------------------
+ AC_CHECK_HEADER(gst/xoverlay/xoverlay.h, [],
[
wxUSE_GSTREAMER="no"
AC_MSG_WARN([xoverlay header not found, cannot use GStreamer])
],
[#include <gst/gst.h>])
-
+
AC_MSG_CHECKING([for gstplay 0.8])
- WX_PATH_FIND_LIBRARIES([$SEARCH_LIB],gstplay-0.8)
-
+ WX_PATH_FIND_LIBRARIES([$SEARCH_LIB],gstplay-0.8)
+
if test "$ac_find_libraries" = "" ; then
AC_MSG_RESULT([no])
wxUSE_GSTREAMER="no"
else
- AC_MSG_RESULT([yes])
+ AC_MSG_RESULT([yes])
fi
-
+
if test "$wxUSE_GSTREAMER" = "yes"; then
AC_DEFINE(wxUSE_GSTREAMER)
AC_MSG_RESULT([GStreamer detection successful])
AC_SUBST(CORE_BASE_LIBS)
AC_SUBST(CORE_GUI_LIBS)
-
dnl ---------------------------------------------------------------------------
dnl Output the makefiles and such from the results found above
dnl ---------------------------------------------------------------------------
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 C/C++ compiler options used to compile wxWidgets
+dnl
+dnl check for icc before gcc as icc is also recognized as gcc
+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
+ dnl remark #869: parameter "foo" was never referenced
+ dnl remark #1572: floating-point equality and inequality comparisons
+ dnl are unreliable
+ dnl remark #1684: conversion from pointer to same-sized integral type
+ dnl
+ dnl (for others see below)
+ CWARNINGS="-Wall -wd810,869,981,1418,1572,1684"
+elif test "$GCC" = yes ; then
+ CWARNINGS="-Wall -Wundef"
+fi
+
+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 (279) are generated for standard macros and so there is nothing we can
+ dnl do about them
+ dnl
+ dnl remark #279: controlling expression is constant
+ dnl remark #383: value copied to temporary, reference to temporary used
+ dnl remark #444: destructor for base class "xxx" is not virtual
+ dnl remark #810: conversion from "x" to "y" may lose significant bits
+ dnl remark #869: parameter "foo" was never referenced
+ 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,810,869,981,1418,1419"
+elif test "$GXX" = yes ; then
+ dnl CXXWARNINGS="-Wall -W -Wcast-qual -Werror"
+ CXXWARNINGS="-Wall -Wundef -Wno-ctor-dtor-privacy"
+fi
+
+
+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):
-INCLUDES="-I\${top_builddir}lib/wx/include/${TOOLCHAIN_FULLNAME} \
--I\${top_srcdir}/include $TOOLKIT_INCLUDE"
+CPPFLAGS=`echo $WXCONFIG_CPPFLAGS \
+ -I\\${top_builddir}lib/wx/include/${TOOLCHAIN_FULLNAME} \
+ -I\\${top_srcdir}/include $TOOLKIT_INCLUDE \
+ $CPPFLAGS `
-dnl C/C++ compiler options used to compile wxWidgets
-if test "$GXX" = yes ; then
- dnl CXXWARNINGS="-Wall -W -Wcast-qual -Werror"
- CWARNINGS="-Wall -Wundef"
- CXXWARNINGS="$CWARNINGS -Wno-ctor-dtor-privacy"
-fi
+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 `
-EXTRA_CFLAGS="$WXDEBUG $WXODBCFLAG $PROFILE $OPTIMISE"
+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`
-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`
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_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_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)])
-if test "$wxUSE_WINE" = "yes"; then
- RESCOMP=wrc
+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
esac
fi
-dnl According to Vaclav, if NO_GCC_PRAGMA is used for any reason it needs to
-dnl be in wx-config output. Not doing so could result in link problems.
-GCC_PRAGMA_FLAGS=""
-PCH_FLAGS=""
-
-dnl Find out if we have to define WX_PRECOMP (and thus NO_GCC_PRAGMA)
+dnl find out if the compiler supports PCH
+dnl
+dnl TODO: this should be in bakefile
if test $GCC_PCH = 1 ; then
- PCH_FLAGS="-DWX_PRECOMP"
- GCC_PRAGMA_FLAGS="-DNO_GCC_PRAGMA"
-else
- dnl Find out if we have to define NO_GCC_PRAGMA
- if test "$GCC" = yes; then
- AC_MSG_CHECKING([if this GCC version is >= 4.0 and needs -DNO_GCC_PRAGMA])
- AC_TRY_COMPILE([],
- [#if (__GNUC__ < 4)
- #error "Not GCC 4.0 or greater"
- #endif
- ],
- [GCC_PRAGMA_FLAGS="-DNO_GCC_PRAGMA"
- AC_MSG_RESULT([yes])],
- [AC_MSG_RESULT([no])
- case "${host}" in
- *-*-darwin* )
- dnl Some Apple's GCC version are broken and can't handle the
- dnl pragmas:
- GCC_PRAGMA_FLAGS="-DNO_GCC_PRAGMA"
- ;;
- *-*-mingw32* )
- dnl MinGW GCC versions > 3.2 have problems with
- dnl static member of classes derived from templates
- dnl in combination with #pragma interface/implementation
- dnl (the test case uses 4 files)
- dnl ... and with exceptions handling (undefined symbols needed
- dnl to correctly calls dtors when unwinding) as well
- if test "$wxUSE_STL" = "yes" -o \
- "$wxUSE_NO_EXCEPTIONS" != "yes" -o \
- "$wxUSE_NO_RTTI" != "yes"; then
- AC_MSG_CHECKING([if this MinGW version needs -DNO_GCC_PRAGMA])
- AC_TRY_COMPILE([],
- [#if !(__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 2))
- #error "Not GCC 3.2 or greater"
- #endif
- ],
- [GCC_PRAGMA_FLAGS="-DNO_GCC_PRAGMA"
- AC_MSG_RESULT([yes])],
- [AC_MSG_RESULT([no])])
- fi
- ;;
- *-pc-os2_emx | *-pc-os2-emx )
- dnl GCC versions ported to OS/2 have similar problems with
- dnl static member of classes in combination with STL and
- dnl pragma interface/implementation
- if test "$wxUSE_STL" = "yes"; then
- AC_MSG_CHECKING([if this gcc version needs -DNO_GCC_PRAGMA])
- AC_TRY_COMPILE([],
- [#if !(__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 2))
- #error "Not GCC 3.2 or greater"
- #endif
- ],
- [GCC_PRAGMA_FLAGS="-DNO_GCC_PRAGMA"
- AC_MSG_RESULT([yes])],
- [AC_MSG_RESULT([no])])
- fi
- ;;
- esac
-dnl closing bracket of if GCC < 4.0
- ] )
- fi
+ CPPFLAGS="-DWX_PRECOMP $CPPFLAGS"
fi
-CPPFLAGS="$PCH_FLAGS $GCC_PRAGMA_FLAGS $CPPFLAGS"
+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 " hildon ${wxUSE_LIBHILDON-none}"
echo ""