dnl initialization
dnl ---------------------------------------------------------------------------
-AC_INIT([wxWidgets], [2.7.1], [wx-dev@lists.wxwidgets.org])
+AC_INIT([wxWidgets], [2.8.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=7
-wx_release_number=2
+wx_minor_version_number=8
+wx_release_number=0
wx_subrelease_number=0
WX_RELEASE=$wx_major_version_number.$wx_minor_version_number
WX_MSW_VERSION=$wx_major_version_number$wx_minor_version_number$wx_release_number
+dnl Autoconf-2.60 changed the meaning of top_builddir variable, so we have
+dnl to use our own replacement that will work with both 2.5x and 2.60+:
+wx_top_builddir="`pwd`"
+AC_SUBST(wx_top_builddir)
+
dnl ------------------------------------------------------------------------
dnl Check platform (host system)
fi
fi
-dnl ---------------------------------------------------------------------------
-dnl When we are using Cygwin with Motif/GTK+, we want it to appear like
-dnl 'just' a POSIX platform, so the Win32 API must not be available
-dnl ---------------------------------------------------------------------------
-dnl (Windows-only piece)
-wants_win32=0
-doesnt_want_win32=0
-case "${host}" in
- *-*-cygwin*)
- if test "$wxUSE_MSW" = 1 ; then
- wants_win32=1
- BAKEFILE_FORCE_PLATFORM=win32
- else
- doesnt_want_win32=1
- fi
- ;;
- *-*-mingw*)
- wants_win32=1
- ;;
-esac
-
-dnl ---------------------------------------------------------------------------
-dnl Wine is a virtual platform, we need to patch things up a bit
-dnl ---------------------------------------------------------------------------
-if test "$wxUSE_WINE" = "yes"; then
- wants_win32=1
- dnl FIXME: we should do a better job of testing for these
- CC=winegcc
- CXX=wineg++
- LDFLAGS_GUI="-mwindows"
-fi
-
-dnl NB: The two tests bellow are *NOT* mutually exclusive! They should only
-dnl take effect on Cygwin/Mingw and not other platforms.
-if test "$wants_win32" = 1 ; then
- USE_UNIX=0
- USE_WIN32=1
- AC_DEFINE(__WIN32__)
- AC_DEFINE(__WIN95__)
- AC_DEFINE(__WINDOWS__)
- AC_DEFINE(__GNUWIN32__)
- AC_DEFINE(STRICT)
-fi
-if test "$doesnt_want_win32" = 1 ; then
- USE_UNIX=1
- USE_WIN32=0
-fi
-dnl (end of Windows-only piece)
-
-if test "$USE_UNIX" = 1 ; then
- wxUSE_UNIX=yes
- AC_DEFINE(__UNIX__)
-fi
-
dnl ---------------------------------------------------------------------------
dnl Checks for programs
dnl ---------------------------------------------------------------------------
dnl adds -traditional for gcc if needed
AC_PROG_GCC_TRADITIONAL
-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
dnl defines GXX with yes if using gxx
;;
esac
+dnl Determine whether we want to use Cygwin as Windows or POSIX platform: the
+dnl latter makes more sense for wxGTK/Motif/X11 ports
+wants_win32=0
+doesnt_want_win32=0
+case "${host}" in
+ *-*-cygwin*)
+ if test "$wxUSE_MSW" = 1 ; then
+ wants_win32=1
+ else
+ dnl when we use cygwin compiler with -mno-cygwin option it uses mingw32
+ dnl headers and libraries, so it's Windows-like in this case
+ AC_CACHE_CHECK([if -mno-cygwin is in effect], wx_cv_nocygwin,
+ [
+ AC_TRY_COMPILE(
+ [],
+ [
+ #ifdef __MINGW32__
+ choke me
+ #endif
+ ],
+ wx_cv_nocygwin=no,
+ wx_cv_nocygwin=yes
+ )
+ ]
+ )
+
+ if test "$wx_cv_nocygwin" = "yes"; then
+ wants_win32=1
+ else
+ doesnt_want_win32=1
+ fi
+ fi
+ if test "$wants_win32" = 1 ; then
+ BAKEFILE_FORCE_PLATFORM=win32
+ fi
+ ;;
+ *-*-mingw*)
+ wants_win32=1
+ ;;
+esac
+
+if test "$wxUSE_WINE" = "yes"; then
+ wants_win32=1
+ dnl FIXME: we should do a better job of testing for these
+ CC=winegcc
+ CXX=wineg++
+ LDFLAGS_GUI="-mwindows"
+fi
+
+dnl NB: The two tests bellow are *NOT* mutually exclusive! They should only
+dnl take effect on Cygwin/Mingw and not other platforms.
+if test "$wants_win32" = 1 ; then
+ USE_UNIX=0
+ USE_WIN32=1
+ AC_DEFINE(__WIN32__)
+ AC_DEFINE(__WIN95__)
+ AC_DEFINE(__WINDOWS__)
+ AC_DEFINE(__GNUWIN32__)
+ AC_DEFINE(STRICT)
+fi
+if test "$doesnt_want_win32" = 1 ; then
+ USE_UNIX=1
+ USE_WIN32=0
+fi
+dnl (end of Windows-only piece)
+
+if test "$USE_UNIX" = 1 ; then
+ wxUSE_UNIX=yes
+ AC_DEFINE(__UNIX__)
+fi
+
dnl This case is for OS/2 vs. everything else
case "${host}" in
*-pc-os2_emx | *-pc-os2-emx )
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).
wx_cv_gccversion="EMX2"
)
])
- AC_LANG_POP
if test "$wx_cv_gccversion" = "EMX2"; then
LIBS="$LIBS -lstdcpp"
LDFLAGS="$LDFLAGS -Zsysv-signals"
dnl Check for headers
dnl ------------------------------------------------------------------------
-dnl defines HAVE_STDLIB_H
-AC_CHECK_HEADERS(stdlib.h)
-dnl defines HAVE_MALLOC_H
-AC_CHECK_HEADERS(malloc.h)
-dnl defines HAVE_UNISTD_H
-AC_CHECK_HEADERS(unistd.h)
-dnl defines HAVE_WCHAR_H
-AC_CHECK_HEADERS(wchar.h)
+AC_CHECK_HEADERS(stdlib.h fnmatch.h langinfo.h malloc.h unistd.h wchar.h)
dnl maybe wchar_t is in wcstr.h if we don't have wchar.h?
if test "$ac_cv_header_wchar_h" != "yes"; then
- dnl defines HAVE_WCSTR_H
AC_CHECK_HEADERS(wcstr.h)
fi
-dnl defines HAVE_FNMATCH_H
-AC_CHECK_HEADERS(fnmatch.h)
-
-dnl defines HAVE_LANGINFO_H (GNU libc locale parameters)
-AC_CHECK_HEADERS(langinfo.h)
-
case "${host}" in
*-pc-os2_emx | *-pc-os2-emx )
dnl Explicitly link -lintl if langinfo.h is available
[whether the compiler supports variadic macros],
[wx_cv_have_variadic_macros],
[
+ dnl C compiler might support variadic macros when C++ one doesn't
+ dnl (happens with gcc/g++ 2.95.4), so must use C++ one explicitly
+ AC_LANG_PUSH(C++)
AC_COMPILE_IFELSE(
AC_LANG_PROGRAM(
[
[wx_cv_have_variadic_macros=yes],
[wx_cv_have_variadic_macros=no]
)
+ AC_LANG_POP()
]
)
[if -D__STDC_EXT__ is required],
wx_cv_STDC_EXT_required,
[
+ AC_LANG_PUSH(C++)
AC_TRY_COMPILE(
[],
[
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
CXXFLAGS="-w0 -msg_disable basclsnondto,unrimpret,intconlosbit"
fi
+dnl the next few tests are all for C++ features and so need to be done using
+dnl C++ compiler
+AC_LANG_PUSH(C++)
+
dnl check for std::string or std::wstring
if test "$wxUSE_STD_STRING" = "yes" -o "$wxUSE_STL" = "yes"; then
if test "$wxUSE_UNICODE" = "yes"; then
char_type="char"
fi
- dnl check if <string> declares std::wstring
- AC_MSG_CHECKING([for $std_string in <string>])
- AC_TRY_COMPILE([#include <string>],
- [$std_string foo;],
- [AC_MSG_RESULT(yes)
- AC_DEFINE(HAVE_STD_WSTRING)],
- [AC_MSG_RESULT(no)
- AC_MSG_CHECKING([if std::basic_string<$char_type> works])
- AC_TRY_COMPILE([
- #ifdef HAVE_WCHAR_H
- # ifdef __CYGWIN__
- # include <stddef.h>
- # endif
- # include <wchar.h>
- #endif
- #ifdef HAVE_STDLIB_H
- # include <stdlib.h>
- #endif
- #include <stdio.h>
- #include <string>
- ],
- [std::basic_string<$char_type> foo;
- const $char_type* dummy = foo.c_str();],
- [AC_MSG_RESULT(yes)],
- [AC_MSG_RESULT([no])
- if test "$wxUSE_STL" = "yes"; then
- AC_MSG_ERROR([Can't use --enable-stl without $std_string or std::basic_string<$char_type>])
- elif grep wxUSE_STD_STRING $wx_arg_cache_file >/dev/null; then
- AC_MSG_ERROR([Can't use --enable-std_string without $std_string or std::basic_string<$char_type>])
- else
- AC_MSG_WARN([No $std_string or std::basic_string<$char_type>, switching to --disable-std_string])
- wxUSE_STD_STRING=no
- fi
- ]
- )
- ])
+ dnl check if <string> declares std::[w]string
+ AC_CACHE_CHECK([for $std_string in <string>],
+ wx_cv_class_stdstring,
+ [
+ AC_TRY_COMPILE([#include <string>],
+ [$std_string foo;],
+ wx_cv_class_stdstring=yes,
+ wx_cv_class_stdstring=no
+ )
+ ]
+ )
+
+ if test "$wx_cv_class_stdstring" = yes; then
+ if test "$wxUSE_UNICODE" = "yes"; then
+ AC_DEFINE(HAVE_STD_WSTRING)
+ fi
+ dnl we don't need HAVE_STD_STRING, we just suppose it's available if
+ dnl wxUSE_STD_STRING==yes
+ else
+ AC_CACHE_CHECK([if std::basic_string<$char_type> works],
+ wx_cv_class_stdbasicstring,
+ [
+ AC_TRY_COMPILE([
+ #ifdef HAVE_WCHAR_H
+ # ifdef __CYGWIN__
+ # include <stddef.h>
+ # endif
+ # include <wchar.h>
+ #endif
+ #ifdef HAVE_STDLIB_H
+ # include <stdlib.h>
+ #endif
+ #include <stdio.h>
+ #include <string>
+ ],
+ [std::basic_string<$char_type> foo;
+ const $char_type* dummy = foo.c_str();],
+ wx_cv_class_stdbasicstring=yes,
+ wx_cv_class_stdbasicstring=no
+ )
+ ]
+ )
+
+ if test "$wx_cv_class_stdbasicstring" != yes; then
+ if test "$wxUSE_STL" = "yes"; then
+ AC_MSG_ERROR([Can't use --enable-stl without $std_string or std::basic_string<$char_type>])
+ elif grep wxUSE_STD_STRING $wx_arg_cache_file >/dev/null; then
+ AC_MSG_ERROR([Can't use --enable-std_string without $std_string or std::basic_string<$char_type>])
+ else
+ AC_MSG_WARN([No $std_string or std::basic_string<$char_type>, switching to --disable-std_string])
+ wxUSE_STD_STRING=no
+ fi
+ fi
+ fi
fi
if test "$wxUSE_STD_IOSTREAM" = "yes"; then
if test "$wxUSE_STL" = "yes"; then
dnl check for basic STL functionality
- AC_MSG_CHECKING([for basic STL functionality])
- AC_TRY_COMPILE([#include <string>
- #include <functional>
- #include <algorithm>
- #include <vector>
- #include <list>],
- [std::vector<int> moo;
- std::list<int> foo;
- std::vector<int>::iterator it =
- std::find_if(moo.begin(), moo.end(),
- std::bind2nd(std::less<int>(), 3));],
- [AC_MSG_RESULT([yes])],
- [AC_MSG_RESULT([no])
- AC_MSG_ERROR([Basic STL functionality missing])])
+ AC_CACHE_CHECK([for basic STL functionality],
+ wx_cv_lib_stl,
+ [AC_TRY_COMPILE([#include <string>
+ #include <functional>
+ #include <algorithm>
+ #include <vector>
+ #include <list>],
+ [std::vector<int> moo;
+ std::list<int> foo;
+ std::vector<int>::iterator it =
+ std::find_if(moo.begin(), moo.end(),
+ std::bind2nd(std::less<int>(), 3));],
+ wx_cv_lib_stl=yes,
+ wx_cv_lib_stl=no
+ )]
+ )
+
+ if test "$wx_cv_lib_stl" != yes; then
+ AC_MSG_ERROR([Can't use --enable-stl as basic STL functionality is missing])
+ fi
dnl check for compliant std::string::compare
- AC_MSG_CHECKING([for compliant std::string::compare])
- AC_TRY_COMPILE([#include <string>],
- [std::string foo, bar;
- foo.compare(bar);
- foo.compare(1, 1, bar);
- foo.compare(1, 1, bar, 1, 1);
- foo.compare("");
- foo.compare(1, 1, "");
- foo.compare(1, 1, "", 2);],
- [AC_MSG_RESULT(yes)
- AC_DEFINE(HAVE_STD_STRING_COMPARE)],
- [AC_MSG_RESULT(no)])
+ AC_CACHE_CHECK([for compliant std::string::compare],
+ wx_cv_func_stdstring_compare,
+ [AC_TRY_COMPILE([#include <string>],
+ [std::string foo, bar;
+ foo.compare(bar);
+ foo.compare(1, 1, bar);
+ foo.compare(1, 1, bar, 1, 1);
+ foo.compare("");
+ foo.compare(1, 1, "");
+ foo.compare(1, 1, "", 2);],
+ wx_cv_func_stdstring_compare=yes,
+ wx_cv_func_stdstring_compare=no
+ )]
+ )
+
+ if test "$wx_cv_func_stdstring_compare" = yes; then
+ AC_DEFINE(HAVE_STD_STRING_COMPARE)
+ fi
dnl check for hash_map and hash_set headers
AC_CHECK_HEADER([hash_map],
- [AC_MSG_CHECKING([for hash_map and hash_set])
- AC_TRY_COMPILE([#include <hash_map>
- #include <hash_set>],
- [std::hash_map<double*, char*, std::hash<double*>, std::equal_to<double*> > test1;
- std::hash_set<char*, std::hash<char*>, std::equal_to<char*> > test2;],
- [AC_MSG_RESULT(yes)
- AC_DEFINE(HAVE_HASH_MAP)
- AC_DEFINE(HAVE_STD_HASH_MAP)],
- [AC_MSG_RESULT(no)])
- ])
+ [AC_CACHE_CHECK([for standard hash_map and hash_set],
+ wx_cv_class_stdhashmapset,
+ [AC_TRY_COMPILE([#include <hash_map>
+ #include <hash_set>],
+ [std::hash_map<double*, char*, std::hash<double*>, std::equal_to<double*> > test1;
+ std::hash_set<char*, std::hash<char*>, std::equal_to<char*> > test2;],
+ wx_cv_class_stdhashmapset=yes,
+ wx_cv_class_stdhashmapset=no)
+ ]
+ )]
+ )
+
+ if test "$wx_cv_class_stdhashmapset" = yes; then
+ AC_DEFINE(HAVE_HASH_MAP)
+ AC_DEFINE(HAVE_STD_HASH_MAP)
+ fi
AC_CHECK_HEADER([ext/hash_map],
- [AC_MSG_CHECKING([for hash_map and hash_set])
- AC_TRY_COMPILE([#include <ext/hash_map>
- #include <ext/hash_set>],
- [__gnu_cxx::hash_map<double*, char*, __gnu_cxx::hash<double*>, std::equal_to<double*> > test1;
- __gnu_cxx::hash_set<char*, __gnu_cxx::hash<char*>, std::equal_to<char*> > test2;],
- [AC_MSG_RESULT(yes)
- AC_DEFINE(HAVE_EXT_HASH_MAP)
- AC_DEFINE(HAVE_GNU_CXX_HASH_MAP)],
- [AC_MSG_RESULT(no)])
- ])
+ [AC_CACHE_CHECK([for GNU hash_map and hash_set],
+ wx_cv_class_gnuhashmapset,
+ [AC_TRY_COMPILE([#include <ext/hash_map>
+ #include <ext/hash_set>],
+ [__gnu_cxx::hash_map<double*, char*, __gnu_cxx::hash<double*>, std::equal_to<double*> > test1;
+ __gnu_cxx::hash_set<char*, __gnu_cxx::hash<char*>, std::equal_to<char*> > test2;],
+ wx_cv_class_gnuhashmapset=yes,
+ wx_cv_class_gnuhashmapset=no)
+ ]
+ )]
+ )
+
+ if test "$wx_cv_class_gnuhashmapset" = yes; then
+ AC_DEFINE(HAVE_EXT_HASH_MAP)
+ AC_DEFINE(HAVE_GNU_CXX_HASH_MAP)
+ fi
fi
+dnl pop C++
+AC_LANG_POP()
+
dnl ---------------------------------------------------------------------------
dnl Define search path for includes and libraries: all headers and libs will be
dnl looked for in all directories of this path
dnl check for C99 string to long long conversion functions, assume that if we
dnl have the unsigned variants, then we have the signed ones as well
if test "wxUSE_UNICODE" = "yes"; then
- AC_CHECK_FUNCS(wcstoull)
+ WX_CHECK_FUNCS(wcstoull)
else
- AC_CHECK_FUNCS(strtoull)
+ WX_CHECK_FUNCS(strtoull)
fi
dnl ---------------------------------------------------------------------------
AC_CACHE_CHECK([if expat.h is valid C++ header],
wx_cv_expat_is_not_broken,
[
+ 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_POP()
]
)
if test "$wx_cv_expat_is_not_broken" = "yes" ; then
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
AC_CHECK_LIB(gdk, gdk_im_open, AC_DEFINE(HAVE_XIM))
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
PKG_CHECK_MODULES(PANGOX, pangox,
[
+ CFLAGS="$PANGOX_CFLAGS $CFLAGS"
CXXFLAGS="$PANGOX_CFLAGS $CXXFLAGS"
GUI_TK_LIBRARY="$GUI_TK_LIBRARY $PANGOX_LIBS"
],
)
PKG_CHECK_MODULES(PANGOFT2, pangoft2,
[
+ CFLAGS="$PANGOFT2_CFLAGS $CFLAGS"
CXXFLAGS="$PANGOFT2_CFLAGS $CXXFLAGS"
GUI_TK_LIBRARY="$GUI_TK_LIBRARY $PANGOFT2_LIBS"
],
PKG_CHECK_MODULES(PANGOXFT, pangoxft,
[
AC_DEFINE(HAVE_PANGO_XFT)
+ CFLAGS="$PANGOXFT_CFLAGS $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_CXXFLAGS="$CXXFLAGS"
save_LIBS="$LIBS"
- CXXFLAGS="$PANGOX_CFLAGS $CXXFLAGS"
LIBS="$LIBS $PANGOX_LIBS"
AC_CHECK_FUNCS([pango_font_family_is_monospace])
- 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_CXXFLAGS=$CXXFLAGS
- CXXFLAGS="$TOOLKIT_INCLUDE $CXXFLAGS"
+ save_CFLAGS=$CFLAGS
+ CFLAGS="$TOOLKIT_INCLUDE $CFLAGS"
AC_TRY_COMPILE(
[
]
)
- CXXFLAGS=$save_CXXFLAGS
+ CFLAGS=$save_CFLAGS
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_CXXFLAGS=$CXXFLAGS
- CXXFLAGS="$TOOLKIT_INCLUDE $CXXFLAGS"
+ save_CFLAGS=$CFLAGS
+ CFLAGS="$TOOLKIT_INCLUDE $CFLAGS"
save_LIBS="$LIBS"
LIBS="$GUI_TK_LIBRARY -lXm -lXmu -lXext -lX11"
]
)
- CXXFLAGS=$save_CXXFLAGS
+ CFLAGS=$save_CFLAGS
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_CXXFLAGS=$CXXFLAGS
- CXXFLAGS="$TOOLKIT_INCLUDE $CXXFLAGS"
+ save_CFLAGS=$CFLAGS
+ CFLAGS="$TOOLKIT_INCLUDE $CFLAGS"
AC_TRY_LINK(
[
)
LIBS="$save_LIBS"
- CXXFLAGS=$save_CXXFLAGS
+ CFLAGS=$save_CFLAGS
fi
done
fi
dnl elsewhere
AC_CHECK_LIB(Sgm, [SgCreateList], [libsgm_link=" -lSgm"])
- save_CXXFLAGS=$CXXFLAGS
- CXXFLAGS="$TOOLKIT_INCLUDE $CXXFLAGS"
+ save_CFLAGS=$CFLAGS
+ CFLAGS="$TOOLKIT_INCLUDE $CFLAGS"
AC_CACHE_CHECK([for Motif 2],
wx_cv_lib_motif2,
AC_DEFINE(__WXLESSTIF__,0)
fi
- CXXFLAGS=$save_CXXFLAGS
+ CFLAGS=$save_CFLAGS
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_CXXFLAGS=$CXXFLAGS
- CXXFLAGS="$TOOLKIT_INCLUDE $CXXFLAGS"
+ save_CFLAGS=$CFLAGS
+ CFLAGS="$TOOLKIT_INCLUDE $CFLAGS"
AC_TRY_COMPILE(
[
wx_cv_x11_xpm_h=no
)
- CXXFLAGS=$save_CXXFLAGS
+ CFLAGS=$save_CFLAGS
]
)
[], [$GUI_TK_LIBRARY -lX11])
if test "$wxHAVE_XEXT_LIB" = 1; then
- save_CXXFLAGS="$CXXFLAGS"
- CXXFLAGS="$TOOLKIT_INCLUDE $CXXFLAGS"
+ save_CFLAGS="$CFLAGS"
+ CFLAGS="$TOOLKIT_INCLUDE $CFLAGS"
AC_MSG_CHECKING([for X11/extensions/shape.h])
AC_TRY_COMPILE([
[
AC_MSG_RESULT([not found])
])
- CXXFLAGS="$save_CXXFLAGS"
+ CFLAGS="$save_CFLAGS"
fi
fi
USE_OPENGL=0
if test "$wxUSE_OPENGL" = "yes"; then
- if test "$wxUSE_MAC" = 1 -o "$wxUSE_COCOA" = "1"; then
+ if test "$wxUSE_MGL" = 1 -o "$wxUSE_DFB" = "1"; then
+ AC_MSG_WARN([wxGLCanvas not implemented for this port, library will be compiled without it.])
+ wxUSE_OPENGL="no"
+ elif test "$wxUSE_MAC" = 1 -o "$wxUSE_COCOA" = "1"; then
OPENGL_LIBS="-framework OpenGL -framework AGL"
elif test "$wxUSE_MSW" = 1; then
OPENGL_LIBS="-lopengl32 -lglu32"
else
- dnl David Elliott: Without this snippet AC_CHECK_HEADER fails to find
- dnl GL/gl.h on Mac OS X where it is located in
- dnl /usr/X11R6/include/GL/gl.h:
-
- WX_PATH_FIND_INCLUDES($SEARCH_INCLUDE, GL/gl.h)
+ dnl adjust CPPFLAGS to include GL/gl.h location if necessary
+ dnl (/opt/graphics/OpenGL is for HP-UX systems, bug 925307)
+ AC_MSG_CHECKING([for OpenGL headers])
+ WX_PATH_FIND_INCLUDES([$SEARCH_INCLUDE /opt/graphics/OpenGL/include], GL/gl.h)
if test "$ac_find_includes" != "" ; then
AC_MSG_RESULT(found in $ac_find_includes)
WX_INCLUDE_PATH_EXIST($ac_find_includes, $CPPFLAGS)
CPPFLAGS="$ac_path_to_include $CPPFLAGS"
+ else
+ AC_MSG_RESULT([not found])
fi
- AC_CHECK_HEADER(GL/gl.h,
- [
+ AC_CHECK_HEADER(GL/gl.h, [
+ AC_CHECK_HEADER(GL/glu.h, [
found_gl=0
AC_MSG_CHECKING([for -lGL])
- WX_PATH_FIND_LIBRARIES([$SEARCH_LIB],GL)
+ WX_PATH_FIND_LIBRARIES([$SEARCH_LIB /opt/graphics/OpenGL/lib],GL)
if test "$ac_find_libraries" != "" ; then
- AC_MSG_RESULT([yes])
+ AC_MSG_RESULT([found in $ac_find_libraries])
WX_LINK_PATH_EXIST([$ac_find_libraries],[$LDFLAGS])
if test "$ac_path_to_link" != " -L/usr/lib" ; then
fi
fi
])
+ ])
if test "x$OPENGL_LIBS" = "x"; then
dnl it should be an error and not a warning because OpenGL is not on
if test "$wxUSE_SHARED" = "yes"; then
dnl use versioned symbols if available on the platform
- WX_VERSIONED_SYMBOLS([\$(top_builddir)version-script])
+ WX_VERSIONED_SYMBOLS([\$(wx_top_builddir)/version-script])
case "${host}" in
*-*-linux* | *-*-gnu* )
- SAMPLES_RPATH_FLAG="-Wl,-rpath,\$(top_builddir)lib"
+ SAMPLES_RPATH_FLAG="-Wl,-rpath,\$(wx_top_builddir)/lib"
WXCONFIG_RPATH="-Wl,-rpath,\$libdir"
;;
[],[],
[
AC_MSG_RESULT([yes])
- SAMPLES_RPATH_FLAG="-Wl,-rpath,\$(top_builddir)lib"
+ SAMPLES_RPATH_FLAG="-Wl,-rpath,\$(wx_top_builddir)/lib"
WXCONFIG_RPATH="-Wl,-rpath,\$libdir"
],[
AC_MSG_RESULT([no])
[],[],
[
AC_MSG_RESULT([yes])
- SAMPLES_RPATH_FLAG="-Wl,-R,\$(top_builddir)lib"
+ SAMPLES_RPATH_FLAG="-Wl,-R,\$(wx_top_builddir)/lib"
WXCONFIG_RPATH="-Wl,-R,\$libdir"
],[
AC_MSG_RESULT([no])
])
LDFLAGS="$saveLdflags"
else
- SAMPLES_RPATH_FLAG="-R\$(top_builddir)lib"
+ SAMPLES_RPATH_FLAG="-R\$(wx_top_builddir)/lib"
WXCONFIG_RPATH="-R\$libdir"
fi
;;
*-*-darwin* )
install_name_tool=`which install_name_tool`
if test "$install_name_tool" -a -x "$install_name_tool"; then
- SAMPLES_RPATH_POSTLINK="\$(top_builddir)change-install-names \$(LIBDIRNAME) \$(prefix) \$@"
+ SAMPLES_RPATH_POSTLINK="\$(wx_top_builddir)/change-install-names \$(LIBDIRNAME) \$(prefix) \$@"
cat <<EOF >change-install-names
#!/bin/sh
libnames=\`cd \${1} ; ls -1 | grep '\.[[0-9]][[0-9]]*\.dylib\$'\`
;;
*-*-hpux* )
- SAMPLES_RPATH_FLAG="-Wl,+b,\$(top_builddir)lib"
+ SAMPLES_RPATH_FLAG="-Wl,+b,\$(wx_top_builddir)/lib"
WXCONFIG_RPATH="-Wl,+b,\$libdir"
;;
WX_RESOURCES_MACOSX_DATA="libwx_${TOOLCHAIN_NAME}.${wx_release_number}.rsrc"
dnl add the resources target for wxMac
- LIBWXMACRES="\$(top_builddir)lib/${WX_RESOURCES_MACOSX_ASCII}"
+ LIBWXMACRES="\$(wx_top_builddir)/lib/${WX_RESOURCES_MACOSX_ASCII}"
AC_CHECK_PROG(REZ, Rez, Rez, /Developer/Tools/Rez)
AC_CHECK_PROG(DEREZ, DeRez, DeRez, /Developer/Tools/DeRez)
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_PUSH(C++) dnl tests below use overloaded functions and so need C++
AC_CACHE_CHECK([if size_t is unsigned int],
wx_cv_size_t_is_uint,
[
fi
fi
+AC_LANG_POP() dnl C++
+
dnl ---------------------------------------------------------------------------
dnl Checks for structures
dnl ---------------------------------------------------------------------------
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
+dnl
+dnl FIXME: replace this mess with WX_CHECK_FUNCS()
AC_CHECK_FUNCS(snprintf vsnprintf)
if test "$ac_cv_func_vsnprintf" = "yes"; then
fi
fi
- dnl also look if we have wide char IO functions
- AC_CHECK_FUNCS(wputc wputchar putws fputws wprintf vswprintf)
+ dnl also look if we have wide char IO functions, notice that [f]putws are
+ dnl declared in special widec.h under Solaris
+ wchar_headers="#include <stdio.h>
+#include <wchar.h>"
+ case "${host}" in
+ *-*-solaris2* )
+ AC_CHECK_HEADERS(widec.h)
+ if test "$ac_cv_header_widec_h" = "yes"; then
+ wchar_headers="$wchar_headers
+#include <widec.h>"
+ fi
+ esac
+
+ WX_CHECK_FUNCS(wputc wputchar putws fputws wprintf vswprintf,,,
+ [$wchar_headers])
dnl MinGW has a vswprintf with a different prototype, and
dnl a _vsnwprintf with the correct prototype, but AC_CHECK_FUNCS
fi
if test "x$ac_cv_header_fnmatch_h" = "xyes"; then
- AC_CHECK_FUNCS(fnmatch)
+ WX_CHECK_FUNCS(fnmatch,,,[#include <fnmatch.h>])
fi
if test "$wxUSE_FILE" = "yes"; then
- AC_CHECK_FUNCS(fsync)
-fi
-
-AC_CHECK_FUNCS(round)
-if test "$ac_cv_func_round" = yes; then
- AC_CHECK_DECLS(round,,,[#include <math.h>])
+ WX_CHECK_FUNCS(fsync)
fi
+WX_CHECK_FUNCS(round,,,[#include <math.h>])
dnl the following tests are for Unix(like) systems only
if test "$TOOLKIT" != "MSW"; then
if test "$wxUSE_ON_FATAL_EXCEPTION" = "yes"; then
AC_CACHE_CHECK([for sa_handler type], wx_cv_type_sa_handler,
[
+ dnl C compiler happily compiles the code even if there is type mismatch
+ AC_LANG_PUSH(C++)
AC_TRY_COMPILE([#include <signal.h>],
[
extern void testSigHandler(int);
], [
wx_cv_type_sa_handler=void
])
+ AC_LANG_POP()
])
AC_DEFINE_UNQUOTED(wxTYPE_SA_HANDLER, $wx_cv_type_sa_handler)
if test "$wxUSE_STACKWALKER" = "yes" -a "$wxUSE_UNIX" = "yes"; then
AC_CACHE_CHECK([for backtrace() in <execinfo.h>], wx_cv_func_backtrace,
[
+ AC_LANG_PUSH(C++)
AC_TRY_COMPILE([#include <execinfo.h>],
[
void *trace[1];
wx_cv_func_backtrace=yes,
wx_cv_func_backtrace=no
)
+ AC_LANG_POP()
]
)
else
AC_CACHE_CHECK([for __cxa_demangle() in <cxxabi.h>], wx_cv_func_cxa_demangle,
[
+ AC_LANG_PUSH(C++)
AC_TRY_LINK([#include <cxxabi.h>],
[
int rc;
wx_cv_func_cxa_demangle=yes,
wx_cv_func_cxa_demangle=no
)
+ AC_LANG_POP()
]
)
if test "$wx_cv_func_statfs" = "yes"; then
dnl check whether we have its dcelaration too: some systems (AIX 4) lack it
AC_CACHE_CHECK(for statfs declaration, wx_cv_func_statfs_decl,
+ AC_LANG_PUSH(C++)
AC_TRY_COMPILE(
[
#if defined(__BSD__)
wx_cv_func_statfs_decl=yes,
wx_cv_func_statfs_decl=no
)
+ AC_LANG_POP()
)
if test "$wx_cv_func_statfs_decl" = "yes"; then
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_CACHE_CHECK(for statvfs argument type, wx_cv_type_statvfs_t,
+ AC_LANG_PUSH(C++)
AC_TRY_COMPILE(
[
#include <sys/statvfs.h>
)
]
)
+ AC_LANG_POP()
)
if test "$wx_cv_type_statvfs_t" != "unknown"; then
POSIX4_LINK=" -lposix4"
],
[
- AC_CHECK_FUNCS(usleep,
- AC_DEFINE(HAVE_USLEEP),
- AC_MSG_WARN([wxSleep() function will not work])
+ WX_CHECK_FUNCS(usleep,,
+ AC_MSG_WARN([wxSleep() function will not work])
)
]
)
fi
dnl check for uname (POSIX) and gethostname (BSD)
-AC_CHECK_FUNCS(uname gethostname, break)
+WX_CHECK_FUNCS(uname,,,[#include <sys/utsname.h>])
+if test "$wx_cv_func_uname" != yes; then
+ WX_CHECK_FUNCS(gethostname)
+fi
WX_CHECK_FUNCS(strtok_r, [], [], [#define _REENTRANT])
dnl the code below:
dnl
- dnl defines THREADS_LINK and THREADS_CXXFLAGS which are the options
+ dnl defines THREADS_LINK and THREADS_CFLAGS 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_CXXFLAGS=
+ THREADS_CFLAGS=
if test "$wxUSE_THREADS" = "yes" ; then
if test "$USE_BEOS" = 1; then
-*)
AC_MSG_CHECKING([whether pthreads work with $flag])
- THREADS_CXXFLAGS="$flag"
+ THREADS_CFLAGS="$flag"
;;
*)
esac
save_LIBS="$LIBS"
- save_CXXFLAGS="$CXXFLAGS"
+ save_CFLAGS="$CFLAGS"
LIBS="$THREADS_LINK $LIBS"
- CXXFLAGS="$THREADS_CXXFLAGS $CXXFLAGS"
+ CFLAGS="$THREADS_CFLAGS $CFLAGS"
AC_TRY_LINK([#include <pthread.h>],
[pthread_create(0,0,0,0);],
THREADS_OK=yes)
LIBS="$save_LIBS"
- CXXFLAGS="$save_CXXFLAGS"
+ CFLAGS="$save_CFLAGS"
AC_MSG_RESULT($THREADS_OK)
if test "x$THREADS_OK" = "xyes"; then
fi
THREADS_LINK=""
- THREADS_CXXFLAGS=""
+ THREADS_CFLAGS=""
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_CXXFLAGS $LDFLAGS"
+ LDFLAGS="$THREADS_CFLAGS $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_CXXFLAGS="$THREADS_CXXFLAGS $flag"
+ THREADS_CFLAGS="$THREADS_CFLAGS $flag"
fi
dnl don't add these options to CPPFLAGS as cpp might not know them
- WXCONFIG_CXXFLAGS="$WXCONFIG_CXXFLAGS $THREADS_CXXFLAGS"
+ WXCONFIG_CFLAGS="$WXCONFIG_CFLAGS $THREADS_CFLAGS"
fi
fi
AC_CACHE_CHECK([if compiler supports -mthreads],
wx_cv_cflags_mthread,
[
- CXXFLAGS_OLD="$CXXFLAGS"
- CXXFLAGS="-mthreads $CXXFLAGS"
+ CFLAGS_OLD="$CFLAGS"
+ 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
- WXCONFIG_CXXFLAGS="$WXCONFIG_CXXFLAGS -mthreads"
+ WXCONFIG_CFLAGS="$WXCONFIG_CFLAGS -mthreads"
LDFLAGS="$LDFLAGS -mthreads"
else
dnl it doesn't
- CXXFLAGS="$CXXFLAGS_OLD"
+ CFLAGS="$CFLAGS_OLD"
fi
;;
*-pc-os2*emx )
WXCONFIG_CFLAGS="$WXCONFIG_CFLAGS -Zmt -D__ST_MT_ERRNO__"
- WXCONFIG_CXXFLAGS="$WXCONFIG_CXXFLAGS -Zmt -D__ST_MT_ERRNO__"
LDFLAGS="$LDFLAGS -Zmt"
;;
esac
AM_PATH_SDL([1.2.0],
[
EXTRALIBS_SDL="$SDL_LIBS"
+ CFLAGS="$SDL_CFLAGS $CFLAGS"
CXXFLAGS="$SDL_CFLAGS $CXXFLAGS"
AC_DEFINE(wxUSE_LIBSDL)
],
WITH_PLUGIN_SDL=1
fi
fi
+ else
+ dnl wxMGL doesn't support sound under DOS, only under Unix
+ if test "$wxUSE_MGL" = 1; then
+ AC_MSG_WARN([wxSound not supported in MGL under DOS... disabled])
+ wxUSE_SOUND="no"
+ fi
fi
+fi
+if test "$wxUSE_SOUND" = "yes"; then
AC_DEFINE(wxUSE_SOUND)
SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS sound"
fi
PKG_CHECK_MODULES(LIBGNOMEPRINTUI,
[libgnomeprintui-2.2 >= 2.8],
[
+ CFLAGS="$LIBGNOMEPRINTUI_CFLAGS $CFLAGS"
CXXFLAGS="$LIBGNOMEPRINTUI_CFLAGS $CXXFLAGS"
AC_DEFINE(wxUSE_LIBGNOMEPRINT)
],
PKG_CHECK_MODULES(GNOMEVFS,
[gnome-vfs-2.0 >= 2.0],
[
+ CFLAGS="$GNOMEVFS_CFLAGS $CFLAGS"
CXXFLAGS="$GNOMEVFS_CFLAGS $CXXFLAGS"
AC_DEFINE(wxUSE_LIBGNOMEVFS)
],
[hildon-lgpl >= 0.9],
[
EXTRALIBS_HILDON="$HILDON_LIBS"
+ CFLAGS="$CFLAGS $HILDON_CFLAGS"
CXXFLAGS="$CXXFLAGS $HILDON_CFLAGS"
AC_DEFINE(wxUSE_LIBHILDON)
],
if test "$wxUSE_DATETIME" = "yes"; then
dnl check for strptime and for its declaration as some systems lack it
+ dnl FIXME: use WX_CHECK_FUNCS instead
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>
wx_cv_func_strptime_decl=yes,
wx_cv_func_strptime_decl=no
)
+ AC_LANG_POP()
]
)
fi
AC_CACHE_CHECK(for timezone variable in <time.h>,
wx_cv_var_timezone,
[
+ AC_LANG_PUSH(C++)
AC_TRY_COMPILE(
[
#include <time.h>
)
]
)
+ AC_LANG_POP()
]
)
AC_CACHE_CHECK([what is the type of the third argument of getsockname],
wx_cv_type_getsockname3,
[
+ AC_LANG_PUSH(C++)
AC_TRY_COMPILE(
[
#include <sys/types.h>
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)
- CXXFLAGS_OLD="$CXXFLAGS"
+ CFLAGS_OLD="$CFLAGS"
if test "$GCC" = yes ; then
- CXXFLAGS="-Werror $CXXFLAGS"
+ CFLAGS="-Werror $CFLAGS"
fi
AC_TRY_COMPILE(
)
)
- CXXFLAGS="$CXXFLAGS_OLD"
+ CFLAGS="$CFLAGS_OLD"
]
)
+ AC_LANG_POP()
])
if test "$wx_cv_type_getsockname3" = "unknown"; then
],
wx_cv_type_getsockopt5=socklen_t,
[
- dnl the compiler will compile the version with size_t
- dnl even if the real type of the last parameter is int
- dnl but it should give at least a warning about
- 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)
- CXXFLAGS_OLD="$CXXFLAGS"
- if test "$GCC" = yes ; then
- CXXFLAGS="-Werror $CXXFLAGS"
- fi
-
+ dnl Note that the rules for compatibility of pointers
+ dnl are somewhat different between C and C++, so code
+ dnl that fails in C++ may not even give a warning about
+ dnl converting between incompatible pointer types in C.
+ dnl So this test needs to be done in C++ mode.
+ AC_LANG_PUSH(C++)
AC_TRY_COMPILE(
[
#include <sys/types.h>
wx_cv_type_getsockopt5=unknown
)
)
-
- CXXFLAGS="$CXXFLAGS_OLD"
+ AC_LANG_POP()
]
)
])
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
dnl joystick support is only for Linux 2.1.x or greater
else
- AC_CHECK_HEADERS(linux/joystick.h, wxUSE_JOYSTICK=yes)
+ dnl wxJoystick not supported by wxMGL at all
+ if test "$wxUSE_MGL" != "1"; then
+ AC_CHECK_HEADERS(linux/joystick.h, wxUSE_JOYSTICK=yes)
+ fi
fi
if test "$wxUSE_JOYSTICK" = "yes"; then
fi
if test "$wxUSE_DIALUP_MANAGER" = "yes"; then
- if test "$wxUSE_MAC" = 1 -o "$wxUSE_COCOA" = 1 ; then
- AC_MSG_WARN([Dialup manager not yet supported under Mac OS X... disabled])
+ if test "$wxUSE_MAC" = 1 -o "$wxUSE_COCOA" = 1 -o "$wxUSE_MGL" = 1; then
+ AC_MSG_WARN([Dialup manager not supported on this platform... disabled])
else
AC_DEFINE(wxUSE_DIALUP_MANAGER)
SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS dialup"
dnl Output the makefiles and such from the results found above
dnl ---------------------------------------------------------------------------
-dnl no more tests from here
-AC_LANG_POP
-
dnl all additional libraries (except wxWidgets itself) we link with
if test "$wxUSE_MAC" = 1 ; then
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\\${wx_top_builddir}/lib/wx/include/${TOOLCHAIN_FULLNAME} \
-I\\${top_srcdir}/include $TOOLKIT_INCLUDE \
$CPPFLAGS `
[ chmod +x lib/wx/config/inplace-${TOOLCHAIN_FULLNAME} ],
[ TOOLCHAIN_FULLNAME="${TOOLCHAIN_FULLNAME}" ])
-AC_CONFIG_FILES([ version-script Makefile ])
+if test "$wx_cv_version_script" = "yes"; then
+ AC_CONFIG_FILES(version-script)
+fi
+AC_CONFIG_FILES(Makefile)
AC_CONFIG_COMMANDS([wx-config],
[ rm -f wx-config
dnl Add tests to the list of subdirs if cppunit 1.8.0+ is detected
AM_PATH_CPPUNIT(1.8.0, [SUBDIRS="$SUBDIRS tests"])
+if test "$USE_UNIX" != "1" -a "$USE_WIN32" != "1"; then
+ DISABLED_CONTRIB="$DISABLED_CONTRIB net"
+fi
+
for subdir in `echo $SUBDIRS`; do
if test -d ${srcdir}/${subdir} ; then
if test "$wxUSE_GUI" = "yes"; then