fi
DEFAULT_DEFAULT_wxUSE_GTK=1
;;
- *-*-gnu* )
+ *-*-gnu* | *-*-k*bsd*-gnu )
USE_GNU=1
- AC_DEFINE(__GNU__)
TMP=`uname -m`
if test "x$TMP" = "xalpha"; then
USE_ALPHA=1
DEFAULT_DEFAULT_wxUSE_PM=1
dnl "c++" wrapper is not always available, so always use plain gcc.
CXX=gcc
- LDFLAGS="$LDFLAGS -Zcrtdll -Zsysv-signals"
+ LDFLAGS="$LDFLAGS -Zcrtdll"
dnl
dnl Some special code that's automatically added by autoconf-2.57 for OS/2
dnl and hopefully also by autoconf-2.58 and newer on all other platforms.
DEFAULT_wxUSE_FS_ZIP=no
DEFAULT_wxUSE_BUSYINFO=no
DEFAULT_wxUSE_ZIPSTREAM=no
- DEFAULT_wxUSE_GZSTREAM=no
DEFAULT_wxUSE_VALIDATORS=no
DEFAULT_wxUSE_ACCEL=no
DEFAULT_wxUSE_FS_ZIP=yes
DEFAULT_wxUSE_BUSYINFO=yes
DEFAULT_wxUSE_ZIPSTREAM=yes
- DEFAULT_wxUSE_GZSTREAM=yes
DEFAULT_wxUSE_VALIDATORS=yes
DEFAULT_wxUSE_ACCEL=yes
DEFAULT_wxUSE_CHECKLST=yes
DEFAULT_wxUSE_CHOICE=yes
DEFAULT_wxUSE_COMBOBOX=yes
- DEFAULT_wxUSE_DISPLAY=no
+ DEFAULT_wxUSE_DISPLAY=yes
DEFAULT_wxUSE_GAUGE=yes
DEFAULT_wxUSE_GRID=yes
DEFAULT_wxUSE_IMAGLIST=yes
WX_ARG_ENABLE(nanox, [ --enable-nanox use NanoX], wxUSE_NANOX)
WX_ARG_ENABLE(gtk2, [ --enable-gtk2 use GTK+ 2.0 if available (EXPERIMENTAL)], wxUSE_GTK2)
+WX_ARG_ENABLE(gpe, [ --enable-gpe use GNOME PDA Environment features if possible], wxUSE_GPE)
WX_ARG_SYS_WITH(libpng, [ --with-libpng use libpng (PNG image format)], wxUSE_LIBPNG)
WX_ARG_SYS_WITH(libjpeg, [ --with-libjpeg use libjpeg (JPEG file format)], wxUSE_LIBJPEG)
WX_ARG_ENABLE(optimise, [ --enable-optimise create optimised code], wxUSE_OPTIMISE)
WX_ARG_ENABLE(debug, [ --enable-debug same as debug_flag and debug_info], wxUSE_DEBUG)
WX_ARG_ENABLE(stl, [ --enable-stl use STL for containers], wxUSE_STL)
+if test "$USE_OS2" = "1"; then
+ WX_ARG_ENABLE(omf, [ --enable-omf use OMF object format], wxUSE_OMF)
+fi
if test "$wxUSE_DEBUG" = "yes"; then
DEFAULT_wxUSE_DEBUG_FLAG=yes
WX_ARG_ENABLE(sound, [ --enable-sound use wxSound class], wxUSE_SOUND)
WX_ARG_ENABLE(wxprintfv, [ --enable-wxprintfv use wxWindows implementation of vprintf()], wxUSE_EXPERIMENTAL_PRINTF)
WX_ARG_ENABLE(zipstream, [ --enable-zipstream use wxZipInputStream], wxUSE_ZIPSTREAM)
-WX_ARG_ENABLE(gzstream, [ --enable-gzstream use wxGzipInputStream], wxUSE_GZSTREAM)
WX_ARG_ENABLE(url, [ --enable-url use wxURL class], wxUSE_URL)
WX_ARG_ENABLE(protocol, [ --enable-protocol use wxProtocol class], wxUSE_PROTOCOL)
AC_LANG_RESTORE
+dnl check if compiler includes /usr/local/include in
+dnl default include files search path.
+AC_MSG_CHECKING([for /usr/local/include in default include path])
+GCC_SEARCHES_USR_LOCAL_INCLUDE="no"
+if test "$GCC" = "yes" ; then
+ echo | gcc -v -x c++ -E - 2>&1 | sed -n '/^#include </,$p' | \
+ sed -n '1,/End of search list\./p' | \
+ grep '^ */usr/local/include$' 2>&1 /dev/null \
+ && GCC_SEARCHES_USR_LOCAL_INCLUDE="yes"
+fi
+AC_MSG_RESULT([$GCC_SEARCHES_USR_LOCAL_INCLUDE])
+
dnl ranlib command
dnl defines RANLIB with the appropriate command
AC_PROG_RANLIB
dnl needed for making link to setup.h
AC_PROG_LN_S
-dnl ---------------------------------------------------------------------------
-dnl When we are using gcc on OS/2, we want to be either using resources (PM)
-dnl or a more complete POSIX emulation for Motif/GTK+/X11
-dnl Moreover we need to link explicitly against either stdcpp.a or stdcxx.a
-dnl (depending on compiler version), since we are using "gcc", not "g++/c++".
-dnl ---------------------------------------------------------------------------
-dnl (OS/2-only piece)
+dnl ------------------------------------------------------------------------
+dnl Platform specific tests
+dnl ------------------------------------------------------------------------
+
case "${host}" in
*-pc-os2_emx | *-pc-os2-emx )
+ dnl ---------------------------------------------------------------------
+ dnl When we are using gcc on OS/2, we want to be either using resources
+ dnl (PM) or a more complete POSIX emulation for Motif/GTK+/X11.
+ dnl Moreover we need to link explicitly against either stdcpp.a or
+ dnl stdcxx.a (depending on compiler version), since we are using "gcc",
+ dnl not "g++/c++".
+ dnl ---------------------------------------------------------------------
+ dnl (OS/2-only piece)
if test "$wxUSE_MOTIF" = 1 -o "$wxUSE_GTK" = 1 -o "$wxUSE_X11" = 1; then
dnl More complete Unix emulation for unix-like ports
dnl by linking in POSIX/2's cExt (if available).
dnl Include resources for the "native" port (wxPM).
RESPROGRAMOBJ="\${top_srcdir}/include/wx/os2/wx.res"
fi
- AC_CACHE_CHECK([for gcc 3 or later], wx_cv_gcc3,[
+ AC_CACHE_CHECK([for gcc version], wx_cv_gccversion,[
AC_TRY_COMPILE([],
[
#if (__GNUC__ < 3)
#endif
],
[
- wx_cv_gcc3=yes
+ AC_TRY_COMPILE([],
+ [
+ #if (__GNUC__==3) && ((__GNUC_MINOR__ < 2) || ((__GNUC_MINOR__==2) && (__GNUC_PATCHLEVEL__<2)))
+ #error intermediate gcc
+ #endif
+ ],
+ [
+ wx_cv_gccversion=Innotek
+ ],
+ [
+ wx_cv_gccversion=3
+ ]
+ )
],
[
- wx_cv_gcc3=no
+ wx_cv_gccversion=2
]
)
])
- if test "$wx_cv_gcc3" = "no"; then
+ if test "$wx_cv_gccversion" = "2"; then
LIBS="$LIBS -lstdcpp"
+ LDFLAGS="$LDFLAGS -Zsysv-signals"
else
- LIBS="$LIBS -lstdcxx"
+ if test "$wx_cv_gccversion" = "3"; then
+ LIBS="$LIBS -lstdcxx"
+ LDFLAGS="$LDFLAGS -Zsysv-signals"
+ else
+ LIBS="$LIBS -lstdc++"
+ fi
fi
+ if test "$wxUSE_OMF" = "yes"; then
+ LDFLAGS="$LDFLAGS -Zlinker /PMTYPE:PM -Zlinker /EXEPACK"
+ fi
+ dnl (end of OS/2-only piece)
;;
-esac
-dnl (end of OS/2-only piece)
+ *)
+ dnl ---------------------------------------------------------------------
+ dnl look for strcasecmp() in string.h and then strings.h if it's not
+ dnl there. Don't do this on OS/2, where "stricmp" is the function to be
+ dnl used.
+ dnl ---------------------------------------------------------------------
+ dnl (non-OS/2-only piece)
-dnl ------------------------------------------------------------------------
-dnl Check for headers
-dnl ------------------------------------------------------------------------
+ AC_LANG_SAVE
+ AC_LANG_CPLUSPLUS
-dnl look for strcasecmp() in string.h and then strings.h if it's not there
-AC_LANG_SAVE
-AC_LANG_CPLUSPLUS
+ AC_CACHE_CHECK([for strcasecmp() in string.h], ac_cv_string_strcasecmp, [
+ AC_TRY_LINK([
+ #include <string.h>
+ ],
+ [
+ strcasecmp("foo", "bar");
+ ],
+ ac_cv_string_strcasecmp=yes,
+ ac_cv_string_strcasecmp=no
+ )
+ ])
-AC_CACHE_CHECK([for strcasecmp() in string.h], ac_cv_string_strcasecmp, [
- AC_TRY_LINK([
- #include <string.h>
- ],
- [
- strcasecmp("foo", "bar");
- ],
- ac_cv_string_strcasecmp=yes,
- ac_cv_string_strcasecmp=no
- )
-])
+ if test x"$ac_cv_string_strcasecmp" = "xyes"; then
+ AC_DEFINE(HAVE_STRCASECMP_IN_STRING_H)
+ else
+ AC_CACHE_CHECK([for strcasecmp() in strings.h], ac_cv_strings_strcasecmp, [
+ AC_TRY_LINK([
+ #include <strings.h>
+ ],
+ [
+ strcasecmp("foo", "bar");
+ ],
+ ac_cv_strings_strcasecmp=yes,
+ ac_cv_strings_strcasecmp=no
+ )
+ ])
-if test x"$ac_cv_string_strcasecmp" = "xyes"; then
- AC_DEFINE(HAVE_STRCASECMP_IN_STRING_H)
-else
- AC_CACHE_CHECK([for strcasecmp() in strings.h], ac_cv_strings_strcasecmp, [
- AC_TRY_LINK([
- #include <strings.h>
- ],
- [
- strcasecmp("foo", "bar");
- ],
- ac_cv_strings_strcasecmp=yes,
- ac_cv_strings_strcasecmp=no
- )
- ])
+ if test x"$ac_cv_string_strcasecmp" = "xyes"; then
+ AC_DEFINE(HAVE_STRCASECMP_IN_STRINGS_H)
+ else
+ AC_MSG_ERROR([No case-insensitive string comparison function found.])
+ fi
+ fi
- if test x"$ac_cv_string_strcasecmp" = "xyes"; then
- AC_DEFINE(HAVE_STRCASECMP_IN_STRINGS_H)
- else
- AC_MSG_ERROR([No case-insensitive string comparison function found.])
- fi
-fi
+ AC_LANG_RESTORE
+ dnl (end of non-OS/2-only piece)
+ ;;
+esac
-AC_LANG_RESTORE
+dnl ------------------------------------------------------------------------
+dnl Check for headers
+dnl ------------------------------------------------------------------------
dnl defines HAVE_STDLIB_H
AC_CHECK_HEADERS(stdlib.h)
/usr/include/qt \
/usr/local/include/qt \
\
+ /usr/local/arm/3.3.2/include \
+ \
/usr/include/windows \
/usr/include/wine \
/usr/local/include/wine \
AC_DEFINE(wxUSE_REGEX)
if test "$wxUSE_UNICODE" = "yes" -a "$wxUSE_REGEX" = "yes"; then
- AC_MSG_WARN([Unicode build requires built-in regex library, will use it instead])
+ AC_MSG_WARN([Defaulting to the the builtin regex library for Unicode build.])
wxUSE_REGEX=builtin
fi
else
dnl we are using the system library
wxUSE_REGEX=sys
+ dnl only the built-in supports advanced REs
+ AC_DEFINE(WX_NO_REGEX_ADVANCED)
fi
fi
fi
AC_CHECK_HEADER(png.h)
if test "$ac_cv_header_png_h" = "yes"; then
- AC_CHECK_LIB(png, png_check_sig, PNG_LINK=" -lpng", , [-lz -lm])
+ AC_CHECK_LIB(png, png_check_sig, PNG_LINK=" -lpng -lz", , [-lz -lm])
fi
if test "x$PNG_LINK" = "x" ; then
WXGTK12=
WXGTK127=
WXGTK20=
+ WXGPE=
if test "$wxUSE_MSW" = 1 ; then
TOOLKIT=MSW
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)
+ WX_PATH_FIND_LIBRARIES($SEARCH_LIB,gpewidget)
+ if test "$ac_find_libraries" != "" ; then
+ WX_LINK_PATH_EXIST($ac_find_libraries,$GUI_TK_LIBRARY)
+ dnl -lgpewidget must be before all GTK libs and
+ 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)
+ else
+ AC_MSG_RESULT(not found)
+ fi
+
+ dnl AC_MSG_CHECKING(for gpe library)
+ dnl WX_PATH_FIND_LIBRARIES($SEARCH_LIB,gpe)
+ 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 else
+ dnl AC_MSG_RESULT(not found)
+ dnl fi
+ fi
fi
if test "$wxUSE_MGL" = 1; then
AC_MSG_RESULT([none])
fi
- CPPFLAGS="$CPPFLAGS $CPPFLAGS_PASCAL -I\${top_srcdir}/src/mac/morefilex -I/Developer/Headers/FlatCarbon"
+ CPPFLAGS="$CPPFLAGS $CPPFLAGS_PASCAL -I\${top_srcdir}/src/mac/carbon/morefilex -I/Developer/Headers/FlatCarbon"
- TOOLKIT_VPATH="\${top_srcdir}/src/mac${PATH_IFS}\${top_srcdir}/src/mac/morefilex"
+ TOOLKIT_VPATH="\${top_srcdir}/src/mac/carbon${PATH_IFS}\${top_srcdir}/src/mac/carbon/morefilex"
TOOLKIT=MAC
dnl we can't call this MAC_DIST or autoconf thinks its a macro
GUIDIST=MACX_DIST
fi
dnl ---------------------------------------------------------------------------
-dnl Xinerama (for unix wxDisplay) - Brian Victor
+dnl wxDisplay Sanity checks
dnl ---------------------------------------------------------------------------
+
if test "$wxUSE_DISPLAY" = "yes"; then
+dnl ---------------------------------------------------------------------------
+dnl Xinerama (for unix ) - Brian Victor
+dnl ---------------------------------------------------------------------------
if test "$wxUSE_UNIX" = "yes" -a "$wxUSE_MAC" != 1; then
AC_MSG_CHECKING([for Xinerama])
WX_PATH_FIND_LIBRARIES([$SEARCH_LIB],Xinerama)
else
AC_MSG_RESULT([no])
- AC_MSG_WARN("*** Xinerama not found; disabling wxDisplay")
+ AC_MSG_WARN([Xinerama not found; disabling wxDisplay])
wxUSE_DISPLAY="no"
fi
+ elif test "$wxUSE_MSW" = 1; then
+dnl ---------------------------------------------------------------------------
+dnl DirectDraw / Multimon for MSW
+dnl ---------------------------------------------------------------------------
+ AC_CHECK_HEADERS([multimon.h ddraw.h], [], [
+ wxUSE_DISPLAY="no"
+ AC_MSG_WARN([ddraw.h or multimon.h not found; disabling wxDisplay])
+ ] )
fi
fi
if test "$wxUSE_SHARED" = "yes"; then
case "${host}" in
- *-pc-os2_emx | *-pc-os2-emx | \
*-pc-msdosdjgpp )
dnl only static for now
wxUSE_SHARED=no
chmod +x change-install-names
;;
+ *-*-cygwin* | *-*-mingw32* )
+ TOOLCHAIN_DLL_DEFS="${TOOLCHAIN_DLL_DEFS} -DWXUSINGDLL=1"
+ ;;
+
esac
dnl set target to shared if not explicitly chose static before
AC_DEFINE(HAVE_WCSLEN)
fi
+ dnl HP-UX aCC needs this define to find mbstrtowcs() &c
+ if test "$USE_HPUX" = 1 -a "x$GCC" != "xyes"; then
+ CPPFLAGS="$CPPFLAGS -D_INCLUDE__STDC_A1_SOURCE "
+ fi
+
dnl try to use wcsrtombs instead of wcstombs which is buggy in old GNU
dnl libc versions if possible
AC_CHECK_FUNCS(wcsrtombs)
if test "x$GCC" != "xyes"; then
dnl see http://docs.hp.com/hpux/onlinedocs/2213/threads.htm
flag="$flag -D_RWSTD_MULTI_THREAD"
+
+ dnl we also need -lcma for user threads (-lpthread is for
+ dnl kernel threads only) according to Ian Brown
+ LIBS="$LIBS -lcma"
fi
;;
*solaris* | alpha*-osf*)
AC_DEFINE_UNQUOTED(__WXGTK127__,$WXGTK127)
fi
+if test "$WXGPE" = 1 ; then
+ AC_DEFINE_UNQUOTED(__WXGPE__,$WXGPE)
+fi
+
WXDEBUG=
if test "$wxUSE_DEBUG_INFO" = "yes" ; then
AC_DEFINE(wxUSE_ZIPSTREAM)
fi
-if test "$wxUSE_GZSTREAM" = "yes"; then
- AC_DEFINE(wxUSE_GZSTREAM)
-fi
-
if test "$wxUSE_ON_FATAL_EXCEPTION" = "yes"; then
AC_DEFINE(wxUSE_ON_FATAL_EXCEPTION)
fi
fi
-
dnl ---------------------------------------------------------------------------
dnl String stuff
dnl ---------------------------------------------------------------------------
if test "$wxUSE_DRAG_AND_DROP" = "yes"; then
AC_DEFINE(wxUSE_DRAG_AND_DROP)
- SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS dnd"
fi
fi
+if test "$wxUSE_DRAG_AND_DROP" = "yes" -o "$wxUSE_CLIPBOARD" = "yes"; then
+ SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS dnd"
+fi
+
if test "$wxUSE_SPLINES" = "yes" ; then
AC_DEFINE(wxUSE_SPLINES)
fi
fi
if test "$wxUSE_TOGGLEBTN" = "yes"; then
- if test "$wxUSE_MAC" = 1 -o "$wxUSE_COCOA" = 1 ; then
+ if test "$wxUSE_COCOA" = 1 ; then
AC_MSG_WARN([Toggle button not yet supported under Mac OS X... disabled])
wxUSE_TOGGLEBTN=no
fi
dnl wx-config must output builtin 3rd party libs in --libs in static build:
if test "$wxUSE_REGEX" = "builtin" ; then
- wxconfig_3rdparty="$wxconfig_3rdparty regex"
+ wxconfig_3rdparty="$wxconfig_3rdparty regex${lib_unicode_suffix}"
fi
if test "$wxUSE_EXPAT" = "builtin" ; then
wxconfig_3rdparty="$wxconfig_3rdparty expat"
AC_SUBST(SAMPLES_RPATH_FLAG)
AC_SUBST(SAMPLES_RPATH_POSTLINK)
AC_SUBST(HOST_SUFFIX)
+AC_SUBST(CPPUNIT_CFLAGS)
+AC_SUBST(CPPUNIT_LIBS)
AC_BAKEFILE
CODE_GEN_FLAGS="-DNO_GCC_PRAGMA $CODE_GEN_FLAGS"
CPPFLAGS="-DNO_GCC_PRAGMA $CPPFLAGS"
;;
+ *-*-mingw32* )
+ dnl MinGW GCC versions >= 3.2 have problems with
+ dnl static member of classes derived from templates
+ dnl in combination with #pragme interface/implementation
+ dnl (the test case uses 4 files)
+ if test "$wxUSE_STL" = "yes"; then
+ AC_MSG_CHECKING([If this MinGW version needs -DNO_GCC_PRAGMA])
+ AC_TRY_COMPILE([],
+ [#if !(__GNUC__ == 3 && __GNUC_MINOR__ >= 2)
+ #error "Not GCC 3.2 or greater"
+ #endif
+ ],
+ [CODE_GEN_FLAGS="-DNO_GCC_PRAGMA $CODE_GEN_FLAGS"
+ CPPFLAGS="-DNO_GCC_PRAGMA $CPPFLAGS"
+ AC_MSG_RESULT([yes])],
+ [AC_MSG_RESULT([no])])
+ fi
+ ;;
esac
fi
dnl other tools
AC_SUBST(GCC)
+AC_SUBST(GCC_SEARCHES_USR_LOCAL_INCLUDE)
AC_SUBST(DLLTOOL)
AC_SUBST(AS)
AC_SUBST(NM)
dnl there are no wxBase programs in contrib nor demos
SUBDIRS="samples utils"
fi
+dnl Add tests to the list of subdirs if cppunit 1.8.0+ is detected
+AM_PATH_CPPUNIT(1.8.0, [SUBDIRS="$SUBDIRS tests"])
for subdir in `echo $SUBDIRS`; do
if test -d ${srcdir}/${subdir} ; then
dnl wxBase
if test ${subdir} = "samples"; then
makefiles="samples/Makefile.in samples/console/Makefile.in"
- else dnl utils
+ elif test ${subdir} = "utils"; then
makefiles="utils/HelpGen/Makefile.in \
utils/HelpGen/src/Makefile.in \
utils/tex2rtf/Makefile.in \
utils/tex2rtf/src/Makefile.in"
+ else dnl assume that everything compiles for tests
+ makefiles=`(cd $srcdir ; find $subdir -name Makefile.in)`
fi
fi