DEFAULT_wxUSE_LIBHILDON=no
DEFAULT_wxUSE_LIBMSPACK=no
DEFAULT_wxUSE_LIBSDL=no
-DEFAULT_wxUSE_ODBC=no
DEFAULT_wxUSE_OPENGL=no
dnl features disabled by default
DEFAULT_wxUSE_UNICODE_UTF8=auto
DEFAULT_wxUSE_UNICODE_UTF8_LOCALE=no
+dnl Mac/Cocoa users need to enable building universal binaries explicitly
+DEFAULT_wxUSE_UNIVERSAL_BINARY=no
+
DEFAULT_wxUSE_OFFICIAL_BUILD=no
dnl Applicable only when --with-gtk was used:
DEFAULT_wxUSE_OBJC_UNIQUIFYING=no
-for toolkit in `echo $ALL_TOOLKITS`; do
+for toolkit in $ALL_TOOLKITS; do
LINE=`grep "wxUSE_$toolkit=" ${wx_arg_cache_file}`
if test "x$LINE" != "x" ; then
has_toolkit_in_cache=1
WX_ARG_SYS_WITH(libtiff, [ --with-libtiff use libtiff (TIFF file format)], wxUSE_LIBTIFF)
WX_ARG_SYS_WITH(libxpm, [ --with-libxpm use libxpm (XPM file format)], wxUSE_LIBXPM)
WX_ARG_WITH(libmspack, [ --with-libmspack use libmspack (CHM help files loading)], wxUSE_LIBMSPACK)
+WX_ARG_WITHOUT(gtkprint, [ --without-gtkprint don't use GTK printing support], wxUSE_GTKPRINT)
WX_ARG_WITHOUT(gnomeprint, [ --without-gnomeprint don't use GNOME printing libraries], wxUSE_LIBGNOMEPRINT)
WX_ARG_WITH(gnomevfs, [ --with-gnomevfs use GNOME VFS for associating MIME types], wxUSE_LIBGNOMEVFS)
WX_ARG_WITH(hildon, [ --with-hildon use Hildon framework for Nokia 770], wxUSE_LIBHILDON)
WX_ARG_WITH(sdl, [ --with-sdl use SDL for audio on Unix], wxUSE_LIBSDL)
WX_ARG_SYS_WITH(regex, [ --with-regex enable support for wxRegEx class], wxUSE_REGEX)
WX_ARG_SYS_WITH(zlib, [ --with-zlib use zlib for LZW compression], wxUSE_ZLIB)
-WX_ARG_SYS_WITH(odbc, [ --with-odbc use the IODBC and wxODBC classes], wxUSE_ODBC)
WX_ARG_SYS_WITH(expat, [ --with-expat enable XML support using expat parser], wxUSE_EXPAT)
+AC_MSG_CHECKING([for --with-macosx-sdk])
+AC_ARG_WITH(macosx-sdk, [ --with-macosx-sdk=PATH use an OS X SDK at PATH], [
+ wxUSE_MACOSX_SDK=$withval
+ wx_cv_use_macosx_sdk="wxUSE_MACOSX_SDK=$withval"
+ echo "wxUSE_MACOSX_SDK=$wxUSE_MACOSX_SDK" >> ${wx_arg_cache_file}.tmp
+ ], [
+ # NOTE: Empty string on purpose so that --without-macosx-sdk (thus no)
+ # will override --enable-universal_binary's automatic SDK usage.
+ wxUSE_MACOSX_SDK=
+ LINE=`grep "^wxUSE_MACOSX_SDK=" ${wx_arg_cache_file}`
+ if test "x$LINE" != x ; then
+ eval "$LINE"
+ echo "$LINE" >> ${wx_arg_cache_file}.tmp
+ fi
+ ])
+AC_MSG_RESULT([$wxUSE_MACOSX_SDK])
+
+AC_MSG_CHECKING([for --with-macosx-version-min])
+AC_ARG_WITH(macosx-version-min, [ --with-macosx-version-min=VER build binaries which require at least this OS X version], [
+ wxUSE_MACOSX_VERSION_MIN=$withval
+ wx_cv_use_macosx_version_min="wxUSE_MACOSX_VERSION_MIN=$withval"
+ echo "wxUSE_MACOSX_VERSION_MIN=$wxUSE_MACOSX_VERSION_MIN" >> ${wx_arg_cache_file}.tmp
+ ], [
+ # default "yes" because when not using an SDK it means the same as no
+ # but when using an SDK it means to use the SDK version
+ wxUSE_MACOSX_VERSION_MIN=yes
+ # See if there is a value in the cache
+ LINE=`grep "^wxUSE_MACOSX_VERSION_MIN=" ${wx_arg_cache_file}`
+ if test "x$LINE" != x ; then
+ eval "$LINE"
+ echo "$LINE" >> ${wx_arg_cache_file}.tmp
+ fi
+ ])
+AC_MSG_RESULT([$wxUSE_MACOSX_VERSION_MIN])
+
dnl ---------------------------------------------------------------------------
dnl global compile options
dnl ---------------------------------------------------------------------------
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_DISABLE(vararg_macros,[ --disable-vararg_macros don't use vararg macros, even if they are supported], wxUSE_VARARG_MACROS)
-WX_ARG_ENABLE_PARAM(universal_binary, [[ --enable-universal_binary[=SDK] create Mac PowerPC and Intel Universal binary (not yet working)]], wxUSE_UNIVERSAL_BINARY)
+WX_ARG_ENABLE_PARAM(universal_binary, [[ --enable-universal_binary create Mac PowerPC and Intel Universal binary]], wxUSE_UNIVERSAL_BINARY)
WX_ARG_ENABLE(compat26, [ --enable-compat26 enable wxWidgets 2.6 compatibility], WXWIN_COMPATIBILITY_2_6)
WX_ARG_DISABLE(compat28, [ --disable-compat28 disable wxWidgets 2.8 compatibility], WXWIN_COMPATIBILITY_2_8)
WX_ARG_FEATURE(ipc, [ --enable-ipc use interprocess communication (wxSocket etc.)], wxUSE_IPC)
WX_ARG_FEATURE(baseevtloop, [ --enable-baseevtloop use event loop in console programs too], wxUSE_CONSOLE_EVENTLOOP)
-WX_ARG_FEATURE(epoolloop, [ --enable-epoolloop use wxEpollDispatcher class (Linux only)], wxUSE_EPOLL_DISPATCHER)
+WX_ARG_FEATURE(epollloop, [ --enable-epollloop use wxEpollDispatcher class (Linux only)], wxUSE_EPOLL_DISPATCHER)
WX_ARG_FEATURE(selectloop, [ --enable-selectloop use wxSelectDispatcher class], wxUSE_SELECT_DISPATCHER)
dnl please keep the settings below in alphabetical order
WX_ARG_FEATURE(ffile, [ --enable-ffile use wxFFile class], wxUSE_FFILE)
WX_ARG_FEATURE(file, [ --enable-file use wxFile class], wxUSE_FILE)
WX_ARG_FEATURE(filesystem, [ --enable-filesystem use virtual file systems classes], wxUSE_FILESYSTEM)
+WX_ARG_FEATURE(fontenum, [ --enable-fontenum use wxFontEnumerator class], wxUSE_FONTENUM)
WX_ARG_FEATURE(fontmap, [ --enable-fontmap use font encodings conversion classes], wxUSE_FONTMAP)
WX_ARG_FEATURE(fs_archive, [ --enable-fs_archive use virtual archive filesystems], wxUSE_FS_ARCHIVE)
WX_ARG_FEATURE(fs_inet, [ --enable-fs_inet use virtual HTTP/FTP filesystems], wxUSE_FS_INET)
WX_ARG_FEATURE(threads, [ --enable-threads use threads], wxUSE_THREADS)
+WX_ARG_ENABLE(iniconf, [ --enable-iniconf use wxIniConfig (Win32 only)], wxUSE_INICONF)
+WX_ARG_FEATURE(regkey, [ --enable-regkey use wxRegKey class (Win32 only)], wxUSE_REGKEY)
+
if test "$wxUSE_GUI" = "yes"; then
dnl ---------------------------------------------------------------------------
DEFAULT_wxUSE_DISPLAY=yes
DEFAULT_wxUSE_DETECT_SM=yes
DEFAULT_wxUSE_DIRPICKERCTRL=yes
+ DEFAULT_wxUSE_FILECTRL=yes
DEFAULT_wxUSE_FILEPICKERCTRL=yes
DEFAULT_wxUSE_FONTPICKERCTRL=yes
DEFAULT_wxUSE_GAUGE=yes
DEFAULT_wxUSE_DISPLAY=no
DEFAULT_wxUSE_DETECT_SM=no
DEFAULT_wxUSE_DIRPICKERCTRL=no
+ DEFAULT_wxUSE_FILECTRL=no
DEFAULT_wxUSE_FILEPICKERCTRL=no
DEFAULT_wxUSE_FONTPICKERCTRL=no
DEFAULT_wxUSE_GAUGE=no
WX_ARG_FEATURE(detect_sm, [ --enable-detect_sm use code to detect X11 session manager], wxUSE_DETECT_SM)
WX_ARG_FEATURE(editablebox, [ --enable-editablebox use wxEditableListBox class], wxUSE_EDITABLELISTBOX)
WX_ARG_FEATURE(filepicker, [ --enable-filepicker use wxFilePickerCtrl class], wxUSE_FILEPICKERCTRL)
+WX_ARG_FEATURE(filectrl, [ --enable-filectrl use wxFileCtrl class], wxUSE_FILECTRL)
WX_ARG_FEATURE(fontpicker, [ --enable-fontpicker use wxFontPickerCtrl class], wxUSE_FONTPICKERCTRL)
WX_ARG_FEATURE(gauge, [ --enable-gauge use wxGauge class], wxUSE_GAUGE)
WX_ARG_FEATURE(grid, [ --enable-grid use wxGrid class], wxUSE_GRID)
WX_ARG_FEATURE(dragimage, [ --enable-dragimage use wxDragImage], wxUSE_DRAGIMAGE)
WX_ARG_FEATURE(accessibility,[ --enable-accessibility enable accessibility support], wxUSE_ACCESSIBILITY)
-if test "$wxUSE_MSW" = "1"; then
- WX_ARG_FEATURE(dccache, [ --enable-dccache cache temporary wxDC objects (Win32 only)], wxUSE_DC_CACHEING)
-fi
-
dnl ---------------------------------------------------------------------------
dnl support for image formats that do not rely on external library
dnl ---------------------------------------------------------------------------
WX_ARG_FEATURE(xpm, [ --enable-xpm use xpm images (XPM file format)], wxUSE_XPM)
WX_ARG_FEATURE(ico_cur, [ --enable-icocur use Windows ICO and CUR formats], wxUSE_ICO_CUR)
+dnl ---------------------------------------------------------------------------
+dnl wxMSW-only options
+dnl ---------------------------------------------------------------------------
+
+WX_ARG_FEATURE(dccache, [ --enable-dccache cache temporary wxDC objects (Win32 only)], wxUSE_DC_CACHEING)
+WX_ARG_FEATURE(ps-in-msw, [ --enable-ps-in-msw use PS printing in wxMSW (Win32 only)], wxUSE_POSTSCRIPT_ARCHITECTURE_IN_MSW)
+WX_ARG_FEATURE(ownerdrawn, [ --enable-ownerdrawn use owner drawn controls (Win32 only)], wxUSE_OWNER_DRAWN)
+WX_ARG_FEATURE(uxtheme, [ --enable-uxtheme enable support for Windows XP themed look (Win32 only)], wxUSE_UXTHEME)
+WX_ARG_FEATURE(wxdib, [ --enable-wxdib use wxDIB class (Win32 only)], wxUSE_DIB)
+
fi
dnl for GUI only
if test "$TOOLKIT_GIVEN" = 1; then
dnl convert "yes", "any" or a number to 1 and "no" to 0
- for toolkit in `echo $ALL_TOOLKITS`; do
+ for toolkit in $ALL_TOOLKITS; do
var=wxUSE_$toolkit
eval "value=\$${var}"
if test "x$value" = "xno"; then
done
else
dnl try to guess the most apropriate toolkit for this platform
- for toolkit in `echo $ALL_TOOLKITS`; do
+ for toolkit in $ALL_TOOLKITS; do
if test "$has_toolkit_in_cache" != 1; then
var=DEFAULT_DEFAULT_wxUSE_$toolkit
else
fi
dnl cache the wxUSE_<TOOLKIT> values too
- for toolkit in `echo $ALL_TOOLKITS`; do
+ for toolkit in $ALL_TOOLKITS; do
var=wxUSE_$toolkit
eval "value=\$${var}"
if test "x$value" != x; then
fi
fi
if test "$value" = 1; then
- toolkit_echo=`echo $toolkit | tr "[[A-Z]]" "[[a-z]]"`
+ toolkit_echo=`echo $toolkit | tr A-Z a-z`
AC_MSG_RESULT($toolkit_echo)
fi
fi
AC_MSG_ERROR([C++ compiler is needed to build wxWidgets])
fi
-dnl ranlib command
-dnl defines RANLIB with the appropriate command
-AC_PROG_RANLIB
-
dnl ar command
dnl defines AR with the appropriate command
dnl
fi
fi
-dnl install checks
-dnl defines INSTALL with the appropriate command
-AC_PROG_INSTALL
+retest_macosx_linking=no
-dnl make install path absolute (if not already);
-dnl will fail with (some) MSDOS paths
-case ${INSTALL} in
- /* ) # Absolute
- ;;
- ?:* ) # Drive letter, considered as absolute.
- ;;
- *)
- INSTALL=`pwd`/${INSTALL} ;;
-esac
-
-
-case "${host}" in
-
- dnl The other BSD's should probably go in here too, since this is
- dnl to workaround a strange static lib BSDism.
- dnl Mac OS X install seems to ignore -p option...
- *-*-darwin* )
- INSTALL_PROGRAM="cp -fp"
- INSTALL_DATA="cp -fp"
- ;;
- *)
- ;;
-esac
-
-dnl strip command
-dnl defines STRIP as strip or nothing (true) if not found
-AC_CHECK_TOOL(STRIP, strip, true)
+dnl Support the old --enable-universal_binary in case anyone was using it.
+#if test "$wxUSE_MAC" = 1; then
+ if test "x$wxUSE_UNIVERSAL_BINARY" != xno ; then
+ dnl --enable-universal_binary uses a default SDK (currently 10.4u)
+ dnl --enable-universal_binary=SDK names a path to an SDK
+ if test "x$wxUSE_UNIVERSAL_BINARY" == xyes; then
+ # Implicitly turn on the new --with-macosx-sdk using the default
+ # SDK which provides the behavior this option has always had.
+ if test "x$wxUSE_MACOSX_SDK" = "x"; then
+ AC_MSG_WARN([Enabling default SDK due to --enable-universal_binary.])
+ AC_MSG_WARN([If you don't want this, specify --without-macosx-sdk])
+ wxUSE_MACOSX_SDK=yes
+ fi
+ else
+ # Complain to user if he specified an argument to --enable-universal_binary
+ # and also 1) specified --with-macosx-sdk using the default (yes) or
+ # 2) specified --with-macosx-sdk using a path or 3) specified
+ # --without-macosx-sdk (no).
+ if test "x$wxUSE_MACOSX_SDK" != "x" ; then
+ AC_MSG_FAILURE([Please specify the new --with-macosx-sdk=PATH and do not specify an arg to --enable-universal_binary])
+ else
+ # Put the SDK path into the wxUSE_MACOSX_SDK. We don't have to
+ # special-case the empty string because the below test simply
+ # converts "no" to the empty string anyway.
+ wxUSE_MACOSX_SDK="$wxUSE_UNIVERSAL_BINARY"
+ dnl Warn about deprecated usage.
+ AC_MSG_WARN([Please use --with-macosx-sdk=PATH and --enable-universal_binary without an argument])
+ fi
+ fi
+ dnl FIXME: I think it would be better to put this into CC, CXX, and LD rather than the flags.
+ OSX_UNIV_OPTS="-arch ppc -arch i386"
+ CXXFLAGS="$OSX_UNIV_OPTS $CXXFLAGS"
+ CFLAGS="$OSX_UNIV_OPTS $CFLAGS"
+ LDFLAGS="$OSX_UNIV_OPTS $LDFLAGS"
+ dnl NOTE: Only the compiler driver needs arch flags. The link editor
+ dnl is incapable of using them but the compiler driver (which we use
+ dnl as LD when building dynamic libraries) uses them to invoke the
+ dnl real ld multiple times. If we moved to libtool -dynamic we would
+ dnl need no arch flags because libtool automatically invokes ld for
+ dnl every architecture found in the fat input files.
+ dnl
+ dnl For static library builds, AR/RANLIB automatically create proper
+ dnl fat archives although AR is unable to update them once RANLIB has
+ dnl made them into proper fat archives. Fortunately, our link process
+ dnl simply removes the .a file before using ar to create a new one.
+ dnl If we did move to libtool -static we still wouldn't need arch flags
+ dnl because libtool automatically figures it out based on input.
+ retest_macosx_linking=yes
+
+ dnl HACK: PCH could be made to work by precompiling for each architecture into separate directories
+ dnl and including all architecture directories with each compiler invocation.
+ dnl That would require a major rework of Bakefile and at the same time it would be nice to have
+ dnl Objective-C++ precompiled headers.
+ AC_MSG_WARN([Disabling precompiled headers due to universal binary build.])
+ bk_use_pch=no
+ fi
+#fi
-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
+dnl Set up the Mac OS X SDK. We do this early so configure tests will occur
+dnl with the SDK in place.
+dnl NOTE: We clobber wxUSE_MACOSX_SDK with the SDK path
+if test "x$wxUSE_MACOSX_SDK" = "xno"; then
+ wxUSE_MACOSX_SDK=
+elif test "x$wxUSE_MACOSX_SDK" = "xyes"; then
+ # TODO: Search for most recent SDK and use it.
+ wxUSE_MACOSX_SDK="/Developer/SDKs/MacOSX10.4u.sdk"
fi
-dnl does make support "-include" (only GNU make does AFAIK)?
-AC_CACHE_CHECK([if make is GNU make], wx_cv_prog_makeisgnu,
+
+if test "x$wxUSE_MACOSX_SDK" != "x"; then
+ AC_MSG_CHECKING([for SDK directory $wxUSE_MACOSX_SDK])
+ if ! test -d "$wxUSE_MACOSX_SDK"; then
+ AC_MSG_FAILURE([not found])
+ else
+ AC_MSG_RESULT([exists])
+ fi
+ MACOSX_SDK_OPTS="-isysroot $wxUSE_MACOSX_SDK"
+ eval "CC=\"$CC $MACOSX_SDK_OPTS\""
+ eval "CXX=\"$CXX $MACOSX_SDK_OPTS\""
+ eval "LD=\"$LD $MACOSX_SDK_OPTS\""
+ retest_macosx_linking=yes
+ dnl NOTE: When libtool is used in lieu of AR/RANLIB (i.e. in static mode)
+ dnl the syslibroot makes no difference. We aren't using libtool now but
+ dnl if we ever did, be aware that you don't need to worry about it.
+fi
+
+dnl Set up the deployment target
+dnl No : Don't specify a min version even if using an SDK
+dnl Yes : Use the version from the SDK if used, otherwise same as no
+dnl Param: Use the specified version
+if test "x$wxUSE_MACOSX_VERSION_MIN" = "xno"; then
+ wxUSE_MACOSX_VERSION_MIN=
+elif test "x$wxUSE_MACOSX_VERSION_MIN" = "xyes"; then
+ if test "x$wxUSE_MACOSX_SDK" != "x"; then
+ AC_MSG_CHECKING([SDK deployment version])
+dnl We need to quote the next line where we don't need macros and do need [] in the regex
+[
+ MACOSX_SDK_PLIST_VERSION_MIN=`defaults read "$wxUSE_MACOSX_SDK/SDKSettings" buildSettings | grep '^ *"\{0,1\}MACOSX_DEPLOYMENT_TARGET"\{0,1\} *= *"\{0,1\}[^"]*"\{0,1\}; *$' | sed 's/^ *"\{0,1\}MACOSX_DEPLOYMENT_TARGET"\{0,1\} *= *"\{0,1\}\([^"]*\)"\{0,1\} *; *$/\1/'`
+]
+ # If that failed, try again with the new key
+ if test "x$MACOSX_SDK_PLIST_VERSION_MIN" == "x"; then
[
- if ( ${SHELL-sh} -c "${MAKE-make} --version" 2> /dev/null |
- $EGREP -s GNU > /dev/null); then
- wx_cv_prog_makeisgnu="yes"
+ MACOSX_SDK_PLIST_VERSION_MIN=`defaults read "$wxUSE_MACOSX_SDK/SDKSettings" DefaultProperties | grep '^ *"\{0,1\}MACOSX_DEPLOYMENT_TARGET"\{0,1\} *= *"\{0,1\}[^"]*"\{0,1\}; *$' | sed 's/^ *"\{0,1\}MACOSX_DEPLOYMENT_TARGET"\{0,1\} *= *"\{0,1\}\([^"]*\)"\{0,1\} *; *$/\1/'`
+]
+ fi
+
+ if test "x$MACOSX_SDK_PLIST_VERSION_MIN" != "x"; then
+ wxUSE_MACOSX_VERSION_MIN=$MACOSX_SDK_PLIST_VERSION_MIN
+ AC_MSG_RESULT([$wxUSE_MACOSX_VERSION_MIN])
+ else
+ AC_MSG_WARN([Could not determine deployment target from SDKSettings.plist])
+ wxUSE_MACOSX_VERSION_MIN=
+ fi
else
- wx_cv_prog_makeisgnu="no"
+ wxUSE_MACOSX_VERSION_MIN=
fi
-])
-
-if test "x$wx_cv_prog_makeisgnu" = "xyes"; then
- IF_GNU_MAKE=""
-else
- IF_GNU_MAKE="#"
fi
-AC_SUBST(IF_GNU_MAKE)
+if test "x$wxUSE_MACOSX_VERSION_MIN" != "x"; then
+ MACOSX_VERSION_MIN_OPTS="-mmacosx-version-min=$wxUSE_MACOSX_VERSION_MIN"
+ eval "CC=\"$CC $MACOSX_VERSION_MIN_OPTS\""
+ eval "CXX=\"$CXX $MACOSX_VERSION_MIN_OPTS\""
+ eval "LD=\"$LD $MACOSX_VERSION_MIN_OPTS\""
+ retest_macosx_linking=yes
+fi
-dnl we don't need to check for VPATH support in GNU make - it does have it
-if test "x$wx_cv_prog_makeisgnu" != "xyes"; then
-dnl check if VPATH works
-AC_CACHE_CHECK([if make supports VPATH], wx_cv_prog_makevpath, [
-dnl create Makefile
-cat - << EOF > confMake
-check : file
- cp \$? \$@
- cp \$? final_file
-EOF
+dnl If either an SDK or a version option was added, make sure that we can
+dnl still compile and link both C and C++. If we didn't do this, then most
+dnl of the remaining tests would fail.
+if test "x$retest_macosx_linking" = "xyes"; then
+ AC_LANG_PUSH(C)
+ AC_MSG_CHECKING([if C compiler works with SDK/version options])
+ AC_TRY_LINK([],[],[AC_MSG_RESULT([yes])],[AC_MSG_FAILURE([no. Try a different SDK]); exit 1])
+ AC_LANG_POP()
-if test ! -d sub ; then
- mkdir sub
+ AC_LANG_PUSH(C++)
+ AC_MSG_CHECKING([if C++ compiler works with SDK/version options])
+ AC_TRY_LINK([],[],[AC_MSG_RESULT([yes])],[AC_MSG_FAILURE([no. Try a different SDK]); exit 1])
+ AC_LANG_POP()
fi
-echo dummy > sub/file
-${MAKE-make} -f confMake VPATH=sub 2>&5 > /dev/null
-RESULT=$?
-rm -f sub/file check final_file confMake
-rmdir sub
-if test "$RESULT" = 0; then
- wx_cv_prog_makevpath="yes"
-else
- wx_cv_prog_makevpath="no"
-fi
-])
-if test "x$wx_cv_prog_makevpath" != "xyes"; then
-AC_MSG_ERROR([
-You need a make-utility that is able to use the variable
-VPATH correctly.
-If your version of make does not support VPATH correctly,
-please install GNU-make (possibly as gmake), and start
-configure with the following command:
-export MAKE=gmake; ./configure for sh-type shells
-setenv MAKE gmake; ./configure for csh-type shells
-Also please do remember to use gmake in this case every time
-you are trying to compile.
-])
-fi dnl make without VPATH
-fi dnl not GNU make
-dnl needed for making link to setup.h
-AC_PROG_LN_S
+case "${host}" in
+ dnl The other BSD's should probably go in here too, since this is
+ dnl to workaround a strange static lib BSDism.
+ dnl Mac OS X install seems to ignore -p option...
+ *-*-darwin* )
+ INSTALL_PROGRAM="cp -fp"
+ INSTALL_DATA="cp -fp"
+ ;;
+ *)
+ ;;
+esac
dnl ------------------------------------------------------------------------
dnl Platform specific tests
dnl Note: non-empty last parameter makes check compile-only,
dnl skipping worthless preprocessing check
-AC_CHECK_HEADERS(stdlib.h fnmatch.h langinfo.h malloc.h unistd.h wchar.h,,, [AC_INCLUDES_DEFAULT()])
+AC_CHECK_HEADERS(langinfo.h wchar.h,,, [AC_INCLUDES_DEFAULT])
dnl maybe wchar_t is in wcstr.h if we don't have wchar.h?
if test "$ac_cv_header_wchar_h" != "yes"; then
- AC_CHECK_HEADER(wcstr.h,,, [AC_INCLUDES_DEFAULT()])
+ AC_CHECK_HEADERS([wcstr.h],,, [AC_INCLUDES_DEFAULT()])
fi
case "${host}" in
dnl POSIX needs this for select(), but old systems don't have it
if test "$USE_UNIX" = 1 ; then
- AC_CHECK_HEADER([sys/select.h],,, [AC_INCLUDES_DEFAULT()])
+ AC_CHECK_HEADERS([sys/select.h],,, [AC_INCLUDES_DEFAULT()])
fi
dnl ---------------------------------------------------------------------------
fi
fi
+dnl check for atomic operations builtins for wx/atomic.h:
+WX_ATOMIC_BUILTINS
+
dnl pop C++
AC_LANG_POP()
fi
fi
fi
+fi
+
+dnl ------------------------------------------------------------------------
+dnl Check for tiff library
+dnl ------------------------------------------------------------------------
+
+TIFF_LINK=
+TIFF_PREREQ_LINKS=-lm
+if test "$wxUSE_LIBTIFF" != "no" ; then
+ AC_DEFINE(wxUSE_LIBTIFF)
+
+ if test "$wxUSE_LIBTIFF" = "sys" -o "$wxUSE_LIBTIFF" = "yes" ; then
+ dnl libtiff may depend on libjpeg and libz so use them in the test
+ dnl below or it would fail
+ if test "$wxUSE_LIBJPEG" = "sys"; then
+ TIFF_PREREQ_LINKS="$TIFF_PREREQ_LINKS $JPEG_LINK"
+ fi
+ if test "$wxUSE_ZLIB" = "sys"; then
+ TIFF_PREREQ_LINKS="$TIFF_PREREQ_LINKS $ZLIB_LINK"
+ fi
+ AC_CHECK_HEADER(tiffio.h,
+ [
+ AC_CHECK_LIB(tiff, TIFFError,
+ TIFF_LINK=" -ltiff",
+ ,
+ $TIFF_PREREQ_LINKS)
+ ],
+ [],
+ [ ]
+ )
- SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS png"
+ if test "x$TIFF_LINK" = "x" ; then
+ if test "$wxUSE_LIBTIFF" = "sys" ; then
+ AC_MSG_ERROR([system tiff library not found! Use --with-libtiff=builtin to use built-in version])
+ else
+ AC_MSG_WARN([system tiff library not found, will use built-in instead])
+ wxUSE_LIBTIFF=builtin
+ fi
+ else
+ dnl we are using the system library
+ wxUSE_LIBTIFF=sys
+ fi
+ fi
+ if test "$wxUSE_LIBTIFF" = "builtin" ; then
+ AC_CONFIG_SUBDIRS([src/tiff])
+ fi
fi
dnl ------------------------------------------------------------------------
fi
fi
fi
-fi
-
-dnl ------------------------------------------------------------------------
-dnl Check for tiff library
-dnl ------------------------------------------------------------------------
-
-TIFF_LINK=
-TIFF_PREREQ_LINKS=-lm
-if test "$wxUSE_LIBTIFF" != "no" ; then
- AC_DEFINE(wxUSE_LIBTIFF)
-
- if test "$wxUSE_LIBTIFF" = "sys" -o "$wxUSE_LIBTIFF" = "yes" ; then
- dnl libtiff may depend on libjpeg and libz so use them in the test
- dnl below or it would fail
- if test "$wxUSE_LIBJPEG" = "sys"; then
- TIFF_PREREQ_LINKS="$TIFF_PREREQ_LINKS $JPEG_LINK"
- fi
- if test "$wxUSE_ZLIB" = "sys"; then
- TIFF_PREREQ_LINKS="$TIFF_PREREQ_LINKS $ZLIB_LINK"
- fi
- AC_CHECK_HEADER(tiffio.h,
- [
- AC_CHECK_LIB(tiff, TIFFError,
- TIFF_LINK=" -ltiff",
- ,
- $TIFF_PREREQ_LINKS)
- ],
- [],
- [ ]
- )
-
- if test "x$TIFF_LINK" = "x" ; then
- if test "$wxUSE_LIBTIFF" = "sys" ; then
- AC_MSG_ERROR([system tiff library not found! Use --with-libtiff=builtin to use built-in version])
- else
- AC_MSG_WARN([system tiff library not found, will use built-in instead])
- wxUSE_LIBTIFF=builtin
- fi
- else
- dnl we are using the system library
- wxUSE_LIBTIFF=sys
- fi
+else
+ dnl wxUSE_LIBJPEG = "no"
+ if test "$wxUSE_LIBTIFF" = "builtin"; then
+ dnl we have to prevent the builtin libtiff configure from building the
+ dnl library with JPEG support as this was explicitly disabled by user,
+ dnl but unfortunately it needs --disable-jpeg and not --without-libjpeg
+ dnl (which will be passed to it anyhow as configure passes arguments to
+ dnl the top-level script to all the other ones called recursively), so
+ dnl we need to hack around this
+ ac_configure_args="$ac_configure_args --disable-jpeg"
fi
fi
dnl are we building for a win32 target environment?
dnl If so, setup common stuff needed for both GUI and Base libs.
if test "$USE_WIN32" = 1 ; then
- AC_CHECK_HEADER(w32api.h,,, [ ])
+ AC_CHECK_HEADERS(w32api.h,,, [ ])
AC_CHECK_HEADER(windows.h,,
[
AC_MSG_ERROR(please set CFLAGS to contain the location of windows.h)
LIBS="$LIBS -lkernel32 -luser32"
esac
- dnl add extra odbc libs if we have compiled in odbc
- if test "$wxUSE_ODBC" = "sys" ; then
- wxUSE_ODBC = "yes"
- fi
- if test "$wxUSE_ODBC" = "yes" ; then
- LIBS=" -lodbc32 -lole32 -loleaut32 $LIBS"
- AC_DEFINE(wxUSE_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"
WIN32INSTALL=win32install
dnl pbt.h is missing on Wine at least
- AC_CHECK_HEADER(pbt.h,, [AC_DEFINE(NEED_PBT_H)], [ ])
+ AC_CHECK_HEADER([pbt.h],, [AC_DEFINE(NEED_PBT_H)], [ ])
fi
if test "$wxUSE_GUI" = "yes"; then
WXGTK12=
WXGTK127=
- WXGTK20=
+ WXGTK2=
WXGPE=
if test "$wxUSE_COCOA" = 1 ; then
fi
esac
- AM_PATH_GTK_2_0(2.0.0, wx_cv_lib_gtk=2.0, , $GTK_MODULES)
+ AM_PATH_GTK_2_0(2.4.0, wx_cv_lib_gtk=2.0, , $GTK_MODULES)
dnl Solaris also requires -lX11 for static lib
case "${host}" in
fi
case "$wx_cv_lib_gtk" in
- 2.0) WXGTK20=1
+ 2.0) WXGTK2=1
TOOLKIT_VERSION=2
;;
1.2.7) WXGTK127=1
;;
esac
- if test "$WXGTK20" = 1; then
+ if test "$WXGTK2" = 1; then
save_CFLAGS="$CFLAGS"
save_LIBS="$LIBS"
CFLAGS="$wx_cv_cflags_gtk $CFLAGS"
[
AC_DEFINE(__WXGTK210__)
AC_DEFINE(__WXGTK26__)
- AC_DEFINE(__WXGTK24__)
AC_MSG_RESULT([yes])
ac_wxgtk210=1
],
],
[
AC_DEFINE(__WXGTK26__)
- AC_DEFINE(__WXGTK24__)
AC_MSG_RESULT([yes])
ac_wxgtk26=1
],
])
fi
- if test "$ac_wxgtk26" = 0; then
- dnl test if we have at least GTK+ 2.4:
- AC_MSG_CHECKING([if GTK+ is version >= 2.4])
- AC_TRY_COMPILE([
- #include <gtk/gtk.h>
- ],
- [
- #if !GTK_CHECK_VERSION(2,4,0)
- Not GTK+ 2.4
- #endif
- ],
- [
- AC_DEFINE(__WXGTK24__)
- AC_MSG_RESULT([yes])
- ],
- [
- AC_MSG_RESULT([no])
- ])
- fi
-
CFLAGS="$save_CFLAGS"
LIBS="$save_LIBS"
else
fi
if test "$wxUSE_MOTIF" = 1; then
- if test "$wxUSE_UNICODE" = "yes"; then
- AC_MSG_ERROR([Unicode configuration not supported with Motif])
- fi
-
AC_MSG_CHECKING(for Motif/Lesstif headers)
WX_PATH_FIND_INCLUDES($SEARCH_INCLUDE, Xm/Xm.h)
if test "$ac_find_includes" != "" ; then
if test "$TOOLKIT" = "PM" ; then
TOOLKIT_DIR="os2"
else
- TOOLKIT_DIR=`echo ${TOOLKIT} | tr "[[A-Z]]" "[[a-z]]"`
+ TOOLKIT_DIR=`echo ${TOOLKIT} | tr A-Z a-z`
fi
if test "$wxUSE_UNIVERSAL" = "yes"; then
dnl If UTF-8 support wasn't explicitly enabled or disabled, enable it only
dnl for ports where it makes sense by default (GTK+, DirectFB):
if test "$wxUSE_UNICODE" = "yes" -a "$wxUSE_UNICODE_UTF8" = "auto" ; then
- if test "$TOOLKIT" = "DFB" ; then
- wxUSE_UNICODE_UTF8=yes
- elif test "$TOOLKIT" = "GTK" -a "$WXGTK20" = "1" ; then
+ if test "$USE_UNIX" = "1" -a "$wxUSE_DARWIN" != "1" ; then
wxUSE_UNICODE_UTF8=yes
elif test "$USE_OS2" = "1" ; then
dnl wide char support is quite incomplete in libc;
if test "$wxUSE_GUI" = "yes"; then
if test "$wxUSE_UNIX" = "yes" -a "$wxUSE_PM" != 1; then
dnl defines HAVE_X11_XKBLIB_H
- AC_CHECK_HEADER(X11/Xlib.h,,, [ ])
- AC_CHECK_HEADER([X11/XKBlib.h],,,
+ AC_CHECK_HEADERS([X11/Xlib.h],,, [ ])
+ AC_CHECK_HEADERS([X11/XKBlib.h],,,
[
#if HAVE_X11_XLIB_H
#include <X11/Xlib.h>
fi
-dnl ----------------------------------------------------------------
-dnl iODBC support
-dnl ----------------------------------------------------------------
-
-IODBC_C_SRC=""
-
-
-dnl ODBC is handled separately for MSW
-if test "$TOOLKIT" != "MSW" ; then
-
- if test "$wxUSE_ODBC" = "sys" -o "$wxUSE_ODBC" = "yes" ; then
- dnl This is not ideal we really ough to use the unixodbc-config
- dnl or iodbc-config if they exist.
-
- AC_CHECK_HEADER([sql.h], [found_sql_h=1],, [ ])
- if test "x$found_sql_h" = "x1" ; then
- AC_CHECK_LIB(iodbc, SQLAllocEnv, ODBC_LINK=" -liodbc",
- [
- AC_CHECK_LIB(unixodbc, SQLAllocEnv, ODBC_LINK=" -lunixodbc",
- [
- AC_CHECK_LIB(odbc, SQLAllocEnv, ODBC_LINK=" -lodbc")
- ])
- ])
- 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])
- else
- AC_MSG_WARN([system ODBC library not found, will use built-in instead])
- wxUSE_ODBC=builtin
- fi
- else
- dnl we are using the system library
- wxUSE_ODBC=sys
- fi
- fi
-
- if test "$wxUSE_ODBC" = "builtin" ; then
- AC_DEFINE(wxUSE_BUILTIN_IODBC)
- fi
-fi
-
-if test "$wxUSE_ODBC" != "no" ; then
- AC_DEFINE(wxUSE_ODBC)
- SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS db"
-
- dnl is this still necessary?
- WXCONFIG_CPPFLAGS="$WXCONFIG_CPPFLAGS -D_IODBC_"
-fi
-
dnl ---------------------------------------------------------------------------
dnl wxDisplay Sanity checks
dnl ---------------------------------------------------------------------------
WX_PATH_FIND_LIBRARIES([$SEARCH_LIB],Xxf86vm)
if test "$ac_find_libraries" != "" ; then
AC_MSG_RESULT([yes])
- AC_CHECK_HEADER([X11/extensions/xf86vmode.h],
+ AC_CHECK_HEADERS([X11/extensions/xf86vmode.h],
[
GUI_TK_LIBRARY="$GUI_TK_LIBRARY -lXxf86vm"
],
AC_MSG_RESULT([no])
fi
fi
- ])
+ ],, [ ])
],
[],
[ ])
;;
*-*-cygwin* | *-*-mingw32* )
- 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* )
esac
fi
+ 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"
+
if test $wxUSE_RPATH = "no"; then
SAMPLES_RPATH_FLAG=''
SAMPLES_RPATH_POSTLINK=''
DEBUG_INFO=1
fi
-WX_VERSION_TAG=`echo WX${lib_unicode_suffix}${lib_debug_suffix}${WX_LIB_FLAVOUR}_${WX_RELEASE} | tr "[[a-z]]" "[[A-Z]]"`
+WX_VERSION_TAG=`echo WX${lib_unicode_suffix}${lib_debug_suffix}${WX_LIB_FLAVOUR}_${WX_RELEASE} | tr a-z A-Z`
TOOLCHAIN_NAME="${TOOLKIT_DIR}${TOOLKIT_VERSION}${WIDGET_SET}${lib_unicode_suffix}${lib_debug_suffix}${WX_LIB_FLAVOUR}-${WX_RELEASE}"
AC_LANG_RESTORE
fi
-if test "$wxUSE_MAC" = 1 -o "$wxUSE_COCOA" = 1; then
- dnl base name of the resource file for wxMac must be the same
- dnl as library installation base name (-install_name)
- WX_RESOURCES_MACOSX_ASCII="libwx_${TOOLCHAIN_NAME}.${wx_release_number}.r"
- WX_RESOURCES_MACOSX_DATA="libwx_${TOOLCHAIN_NAME}.${wx_release_number}.rsrc"
-
- dnl add the resources target for wxMac
- 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)
- AC_CHECK_PROG(SETFILE, SetFile, SetFile, /Developer/Tools/SetFile)
-
- MACSETFILE="\$(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
- POSTLINK_COMMAND="\$(REZ) -d __DARWIN__ -t APPL Carbon.r -o"
- RESCOMP="$REZ"
- WXCONFIG_RESFLAGS="-d __DARWIN__ -t APPL Carbon.r -o"
- else
- 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"
-
- if test "$wxUSE_PM" = 1; then
- RESCOMP="emxbind"
- WXCONFIG_RESFLAGS="-ep"
-
- dnl Is this one really used anywhere for pm?
- POSTLINK_COMMAND="$RESCOMP $WXCONFIG_RESFLAGS"
- else
- POSTLINK_COMMAND="@true"
- fi
-
-fi
-
-
dnl ---------------------------------------------------------------------------
dnl Checks for typedefs
dnl ---------------------------------------------------------------------------
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
if test "$wxUSE_PRINTF_POS_PARAMS" = "yes"; then
if test "$wxUSE_UNICODE" = yes; then
- dnl our wxVsnprintf() implementation needs to use the system swprintf() in Unicode
- dnl builds so let's check if swprintf() is declared as C99 imposes:
- dnl int swprintf(wchar_t *s, size_t n, const wchar_t *format, ...);
- dnl or rather as:
- dnl int swprintf(wchar_t *s, const wchar_t *format, ...);
- AC_CHECK_FUNCS(swprintf)
-
- if test "$ac_cv_func_swprintf" = "yes"; then
- AC_CACHE_CHECK([if swprintf declaration is broken], wx_cv_func_broken_swprintf_decl,
- [
- AC_TRY_COMPILE(
- [
- #include <stdio.h>
- #include <stdarg.h>
- #include <wchar.h>
- ],
- [
- wchar_t *buf;
- const wchar_t *fmt = L"test";
- swprintf(buf, 10u, fmt);
- ],
- wx_cv_func_broken_swprintf_decl=no,
- wx_cv_func_broken_swprintf_decl=yes
- )
- ]
- )
-
- if test "$wx_cv_func_broken_swprintf_decl" = "yes"; then
- AC_DEFINE(HAVE_BROKEN_SWPRINTF_DECL)
- fi
- fi
-
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_HEADER(widec.h,,, [AC_INCLUDES_DEFAULT()])
+ AC_CHECK_HEADERS(widec.h,,, [AC_INCLUDES_DEFAULT()])
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,,,
+ WX_CHECK_FUNCS(putws fputws wprintf vswprintf,,,
[$wchar_headers])
dnl MinGW has a vswprintf with a different prototype, and
[AC_MSG_RESULT([no])]);
fi
-if test "x$ac_cv_header_fnmatch_h" = "xyes"; then
- WX_CHECK_FUNCS(fnmatch,,,[#include <fnmatch.h>])
-fi
-
if test "$wxUSE_FILE" = "yes"; then
WX_CHECK_FUNCS(fsync)
fi
fi
fi
-dnl check for timegm() used by datetime.cpp
-AC_CHECK_FUNCS(timegm)
-
dnl look for a function to modify the environment
-AC_CHECK_FUNCS(putenv setenv, break)
+AC_CHECK_FUNCS(setenv putenv, break)
+if test "$ac_cv_func_setenv" = "yes"; then
+ AC_CHECK_FUNCS(unsetenv)
+fi
HAVE_SOME_SLEEP_FUNC=0
if test "$USE_BEOS" = 1; then
WX_CHECK_FUNCS(fdopen)
+if test "$wxUSE_TARSTREAM" = "yes"; then
+ WX_CHECK_FUNCS(sysconf)
+
+ WX_CHECK_FUNCS(getpwuid_r, [], [],
+ [
+ #define _REENTRANT
+ #include <pwd.h>
+ ],
+ [[
+ struct passwd pw, *ppw;
+ char buf[1024];
+ getpwuid_r(0, &pw, buf, sizeof(buf), &ppw)
+ ]])
+
+ WX_CHECK_FUNCS(getgrgid_r, [], [],
+ [
+ #define _REENTRANT
+ #include <grp.h>
+ ],
+ [[
+ struct group grp, *pgrp;
+ char buf[1024];
+ getgrgid_r(0, &grp, buf, sizeof(buf), &pgrp)
+ ]])
+fi
+
fi
AC_DEFINE(wxHAVE_PTHREAD_CLEANUP)
fi
- AC_CHECK_HEADER(sched.h,,, [AC_INCLUDES_DEFAULT()])
+ AC_CHECK_HEADERS(sched.h,,, [AC_INCLUDES_DEFAULT()])
if test "$ac_cv_header_sched_h" = "yes"; then
AC_CHECK_FUNC(sched_yield,
AC_DEFINE(HAVE_SCHED_YIELD),
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
fi
fi
-if test "$WXGTK20" = 1 ; then
- AC_DEFINE_UNQUOTED(__WXGTK20__,$WXGTK20)
+if test "$WXGTK2" = 1 ; then
+ AC_DEFINE_UNQUOTED(__WXGTK20__,$WXGTK2)
WXGTK12=1
fi
SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS sound"
fi
-if test "$WXGTK20" = 1; then
+if test "$WXGTK2" = 1; then
PKG_PROG_PKG_CONFIG()
if test "$wxUSE_PRINTING_ARCHITECTURE" = "yes" ; then
+
+ if test "$wxUSE_GTKPRINT" = "yes" ; then
+
+ PKG_CHECK_MODULES(GTKPRINT,
+ [gtk+-unix-print-2.0 >= 2.10],
+ [
+ CFLAGS="$GTKPRINT_CFLAGS $CFLAGS"
+ CXXFLAGS="$GTKPRINT_CFLAGS $CXXFLAGS"
+ AC_DEFINE(wxUSE_GTKPRINT)
+ ],
+ [
+ AC_MSG_WARN([GTK printing support not found (GTK+ >= 2.10), library will use GNOME printing support or standard PostScript printing])
+ wxUSE_GTKPRINT="no"
+ ]
+ )
+ fi
+
if test "$wxUSE_LIBGNOMEPRINT" = "yes" ; then
PKG_CHECK_MODULES(LIBGNOMEPRINTUI,
fi
if test "$wxUSE_EPOLL_DISPATCHER" = "yes"; then
- AC_CHECK_HEADERS(sys/epoll.h)
+ AC_CHECK_HEADERS(sys/epoll.h,,, [AC_INCLUDES_DEFAULT()])
if test "$ac_cv_header_sys_epoll_h" = "yes"; then
AC_DEFINE(wxUSE_EPOLL_DISPATCHER)
else
dnl can't be compiled because of an error and with the default
dnl AC_CHECK_HEADER semantics we'd still detect it in this case and
dnl build would fail later
- AC_CHECK_HEADER(linux/joystick.h, [wxUSE_JOYSTICK=yes],, [AC_INCLUDES_DEFAULT()])
+ AC_CHECK_HEADERS([linux/joystick.h], [wxUSE_JOYSTICK=yes],, [AC_INCLUDES_DEFAULT()])
fi
fi
dnl String stuff
dnl ---------------------------------------------------------------------------
+if test "$wxUSE_FONTENUM" = "yes" ; then
+ AC_DEFINE(wxUSE_FONTENUM)
+fi
+
if test "$wxUSE_FONTMAP" = "yes" ; then
AC_DEFINE(wxUSE_FONTMAP)
fi
fi
fi
-if test "$wxUSE_wxUSE_EXPERIMENTAL_PRINTF" = "yes"; then
- AC_DEFINE(wxUSE_EXPERIMENTAL_PRINTF)
-fi
-
dnl ---------------------------------------------------------------------------
dnl big GUI components: MDI, doc/view, printing, help, ...
dnl ---------------------------------------------------------------------------
AC_DEFINE(wxUSE_AFM_FOR_POSTSCRIPT)
-AC_DEFINE(wxUSE_NORMALIZED_PS_FONTS)
-
if test "$wxUSE_SVG" = "yes"; then
AC_DEFINE(wxUSE_SVG)
fi
if test "$wxUSE_CHECKLST" = "yes"; then
AC_DEFINE(wxUSE_CHECKLISTBOX)
USES_CONTROLS=1
- SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS checklst"
fi
if test "$wxUSE_COLOURPICKERCTRL" = "yes"; then
USES_CONTROLS=1
fi
+if test "$wxUSE_FILECTRL" = "yes"; then
+ AC_DEFINE(wxUSE_FILECTRL)
+ USES_CONTROLS=1
+fi
+
if test "$wxUSE_FILEPICKERCTRL" = "yes"; then
AC_DEFINE(wxUSE_FILEPICKERCTRL)
USES_CONTROLS=1
wxUSE_DISPLAY=no
else
AC_DEFINE(wxUSE_DISPLAY)
- SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS display multimon"
+ SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS display"
fi
fi
if test "$wxUSE_LISTBOX" = "yes"; then
AC_DEFINE(wxUSE_LISTBOX)
USES_CONTROLS=1
- SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS listbox"
fi
if test "$wxUSE_LISTCTRL" = "yes"; then
SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS combo"
fi
-dnl if test "$wxUSE_PROPSHEET" = "yes"; then
-dnl AC_DEFINE(wxUSE_PROPSHEET)
-dnl USES_CONTROLS=1
-dnl SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS proplist"
-dnl fi
-
if test "$wxUSE_RADIOBOX" = "yes"; then
AC_DEFINE(wxUSE_RADIOBOX)
USES_CONTROLS=1
SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS access"
fi
-if test "$wxUSE_DC_CACHEING" = "yes"; then
- AC_DEFINE(wxUSE_DC_CACHEING)
-fi
-
if test "$wxUSE_DRAGIMAGE" = "yes"; then
AC_DEFINE(wxUSE_DRAGIMAGE)
SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS dragimag"
if test "$wxUSE_MINIFRAME" = "yes"; then
AC_DEFINE(wxUSE_MINIFRAME)
- SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS minifram"
fi
if test "$wxUSE_SYSTEM_OPTIONS" = "yes"; then
SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS wizard"
fi
+dnl ---------------------------------------------------------------------------
+dnl wxMSW-only options
+dnl ---------------------------------------------------------------------------
+
+if test "$wxUSE_MSW" = 1 ; then
+
+ if test "$wxUSE_DC_CACHEING" = "yes"; then
+ AC_DEFINE(wxUSE_DC_CACHEING)
+ fi
+
+ if test "$wxUSE_DIB" = "yes"; then
+ AC_DEFINE(wxUSE_WXDIB)
+ fi
+
+ if test "$wxUSE_OWNER_DRAWN" = "yes"; then
+ AC_DEFINE(wxUSE_OWNER_DRAWN)
+ fi
+
+ if test "$wxUSE_POSTSCRIPT_ARCHITECTURE_IN_MSW" = "yes"; then
+ AC_DEFINE(wxUSE_POSTSCRIPT_ARCHITECTURE_IN_MSW)
+ fi
+
+ if test "$wxUSE_UXTHEME" = "yes"; then
+ AC_DEFINE(wxUSE_UXTHEME)
+ fi
+
+fi
+dnl wxUSE_MSW = 1
+
+
+if test "$USE_WIN32" = 1 ; then
+ if test "$wxUSE_INICONF" = "yes"; then
+ AC_DEFINE(wxUSE_INICONF)
+ fi
+
+ if test "$wxUSE_REGKEY" = "yes"; then
+ AC_DEFINE(wxUSE_REGKEY)
+ fi
+fi
+dnl USE_WIN32 = 1
+
dnl ---------------------------------------------------------------------------
dnl wxGraphicsContext
dnl ---------------------------------------------------------------------------
STD_BASE_LIBS="base"
STD_GUI_LIBS=""
BUILT_WX_LIBS="base"
-ALL_WX_LIBS="xrc stc gl media dbgrid qa html adv core odbc xml net base"
+ALL_WX_LIBS="xrc stc gl media qa html adv core xml net base"
if test "$wxUSE_SOCKETS" = "yes" ; then
STD_BASE_LIBS="net $STD_BASE_LIBS"
BUILT_WX_LIBS="net $BUILT_WX_LIBS"
fi
-if test "$wxUSE_ODBC" != "no" ; then
- BUILT_WX_LIBS="odbc $BUILT_WX_LIBS"
-fi
if test "$wxUSE_XML" = "yes" ; then
STD_BASE_LIBS="xml $STD_BASE_LIBS"
BUILT_WX_LIBS="xml $BUILT_WX_LIBS"
STD_GUI_LIBS="qa $STD_GUI_LIBS"
BUILT_WX_LIBS="qa $BUILT_WX_LIBS"
fi
- if test "$wxUSE_ODBC" != "no" ; then
- BUILT_WX_LIBS="dbgrid $BUILT_WX_LIBS"
- fi
if test "$wxUSE_HTML" = "yes" ; then
STD_GUI_LIBS="html $STD_GUI_LIBS"
BUILT_WX_LIBS="html $BUILT_WX_LIBS"
dnl TODO some samples are never built so far: mfc (requires VC++)
SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS artprov controls dialogs drawing \
- dynamic erase event exec font image minimal mobile \
- mobile/wxedit mobile/styles propsize render \
- rotate shaped svg taborder vscroll widgets"
+ erase event exec font image minimal mobile \
+ mobile/wxedit mobile/styles render \
+ shaped svg taborder vscroll widgets"
if test "$wxUSE_MONOLITHIC" != "yes"; then
SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS console"
CXXWARNINGS="-Wall -wd279,383,444,810,869,981,1418,1419"
elif test "$GXX" = yes ; then
dnl CXXWARNINGS="-Wall -W -Wcast-qual -Werror"
- CXXWARNINGS="-Wall -Wundef -Wno-ctor-dtor-privacy"
+ CXXWARNINGS="-Wall -Wundef -Wunused-parameter -Wno-ctor-dtor-privacy"
fi
EXTRALIBS="$LDFLAGS $LDFLAGS_VERSIONING $LIBS $DMALLOC_LIBS"
EXTRALIBS_XML="$EXPAT_LINK"
EXTRALIBS_HTML="$MSPACK_LINK"
-EXTRALIBS_ODBC="$ODBC_LINK"
EXTRALIBS_STC="-lwxscintilla${lib_debug_suffix}${WX_LIB_FLAVOUR}-${WX_RELEASE}${HOST_SUFFIX}"
if test "$wxUSE_GUI" = "yes"; then
EXTRALIBS_GUI=`echo $GUI_TK_LIBRARY $PNG_LINK $JPEG_LINK $TIFF_LINK $WEBKIT_LINK $EXTRALIBS_HILDON $EXTRALIBS_GNOMEVFS $EXTRALIBS_GNOMEPRINT`
if test "$wxUSE_EXPAT" = "builtin" ; then
wxconfig_3rdparty="expat $wxconfig_3rdparty"
fi
-if test "$wxUSE_ODBC" = "builtin" ; then
- wxconfig_3rdparty="odbc $wxconfig_3rdparty"
-fi
if test "$wxUSE_LIBTIFF" = "builtin" ; then
wxconfig_3rdparty="tiff $wxconfig_3rdparty"
fi
AC_SUBST(wxUSE_ZLIB)
AC_SUBST(wxUSE_REGEX)
AC_SUBST(wxUSE_EXPAT)
-AC_SUBST(wxUSE_ODBC)
AC_SUBST(wxUSE_LIBJPEG)
AC_SUBST(wxUSE_LIBPNG)
AC_SUBST(wxUSE_LIBTIFF)
USE_PLUGINS=0
fi
-if test $wxUSE_ODBC != "no" ; then
- USE_ODBC=1
-else
- USE_ODBC=0
-fi
-
if test "$wxUSE_DEBUGREPORT" = "yes" ; then
USE_QA=1
else
AC_SUBST(EXTRALIBS)
AC_SUBST(EXTRALIBS_XML)
AC_SUBST(EXTRALIBS_HTML)
-AC_SUBST(EXTRALIBS_ODBC)
AC_SUBST(EXTRALIBS_GUI)
AC_SUBST(EXTRALIBS_OPENGL)
AC_SUBST(EXTRALIBS_SDL)
AC_SUBST(WITH_PLUGIN_SDL)
+AC_SUBST(EXTRALIBS_GTKPRINT)
AC_SUBST(EXTRALIBS_GNOMEPRINT)
AC_SUBST(EXTRALIBS_GNOMEVFS)
AC_SUBST(EXTRALIBS_HILDON)
AC_SUBST(BUILD)
AC_SUBST(DEBUG_INFO)
AC_SUBST(DEBUG_FLAG)
-TOOLKIT_LOWERCASE=`echo $TOOLKIT | tr "[[A-Z]]" "[[a-z]]"`
+TOOLKIT_LOWERCASE=`echo $TOOLKIT | tr A-Z a-z`
AC_SUBST(TOOLKIT_LOWERCASE)
AC_SUBST(TOOLKIT_VERSION)
AC_SUBST(SAMPLES_RPATH_FLAG)
case "$TOOLKIT" in
GTK)
TOOLKIT_DESC="GTK+"
- if test "$WXGTK20" = 1; then
+ if test "$WXGTK2" = 1; then
TOOLKIT_DESC="$TOOLKIT_DESC 2"
+ if test "$wxUSE_GTKPRINT" = "yes" ; then
+ TOOLKIT_EXTRA="$TOOLKIT_EXTRA GTK+ printing";
+ fi
if test "$wxUSE_LIBGNOMEPRINT" = "yes" ; then
TOOLKIT_EXTRA="$TOOLKIT_EXTRA gnomeprint";
fi
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 "x$wxUSE_UNIVERSAL_BINARY" != xno ; then
- dnl --enable-universal_binary uses a default SDK (currently 10.4u)
- dnl --enable-universal_binary=SDK names a path to an SDK
- if test "x$wxUSE_UNIVERSAL_BINARY" == xyes; then
- OSX_UNIV_OPTS="-isysroot /Developer/SDKs/MacOSX10.4u.sdk"
- else
- dnl '' would mean universal with no SDK, which may be the case if
- dnl the compiler uses a sysroot by default
- OSX_UNIV_OPTS=${wxUSE_UNIVERSAL_BINARY:+"-isysroot '$wxUSE_UNIVERSAL_BINARY'"}
- fi
- OSX_UNIV_OPTS="$OSX_UNIV_OPTS -arch ppc -arch i386"
- CXXFLAGS="$OSX_UNIV_OPTS $CXXFLAGS"
- CFLAGS="$OSX_UNIV_OPTS $CFLAGS"
- LDFLAGS="$OSX_UNIV_OPTS $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.
-fi
-
dnl gcc 3.4 has a pch bug which truncates wide character constants in headers.
dnl Hopefully for a non-unicode build there aren't any wide constants in
dnl headers, but for a unicode build it's best to disable pch.
if $CXX -o conftest$PROGRAM_EXT conftest.cpp >/dev/null 2>&1
then
- if tr -dc '[a-z]' < conftest$PROGRAM_EXT |
+ if tr -dc a-z < conftest$PROGRAM_EXT |
grep awidetest >/dev/null
then
wx_cv_gcc_pch_bug=no
AC_BAKEFILE([m4_include(autoconf_inc.m4)])
+dnl make install path absolute (if not already);
+dnl will fail with (some) MSDOS paths
+case ${INSTALL} in
+ /* ) # Absolute
+ ;;
+ ?:* ) # Drive letter, considered as absolute.
+ ;;
+ *)
+ INSTALL=`pwd`/${INSTALL} ;;
+esac
+
+if test "$wxUSE_GUI" = "yes"; then
+
+if test "$wxUSE_MSW" = 1 ; then
+ if test "x$WINDRES" = "x"; then
+ AC_MSG_ERROR([Required windres program not found])
+ fi
+
+ RESCOMP="$WINDRES"
+fi
+
+if test "$wxUSE_MAC" = 1 -o "$wxUSE_COCOA" = 1; then
+ dnl base name of the resource file for wxMac must be the same
+ dnl as library installation base name (-install_name)
+ WX_RESOURCES_MACOSX_ASCII="libwx_${TOOLCHAIN_NAME}.${wx_release_number}.r"
+ WX_RESOURCES_MACOSX_DATA="libwx_${TOOLCHAIN_NAME}.${wx_release_number}.rsrc"
+
+ dnl add the resources target for wxMac
+ LIBWXMACRES="\$(wx_top_builddir)/lib/${WX_RESOURCES_MACOSX_ASCII}"
+
+ AC_CHECK_PROG(DEREZ, DeRez, DeRez, /Developer/Tools/DeRez)
+
+ MACSETFILE="\$(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
+ POSTLINK_COMMAND="\$(REZ) -d __DARWIN__ -t APPL Carbon.r -o"
+ RESCOMP="$REZ"
+ WXCONFIG_RESFLAGS="-d __DARWIN__ -t APPL Carbon.r -o"
+ else
+ POSTLINK_COMMAND="cat /dev/null | \$(REZ) -d __DARWIN__ -t APPL ${LIBWXMACRES}"
+ RESCOMP="cat /dev/null \| $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"
+
+ if test "$wxUSE_PM" = 1; then
+ RESCOMP="emxbind"
+ WXCONFIG_RESFLAGS="-ep"
+
+ dnl Is this one really used anywhere for pm?
+ POSTLINK_COMMAND="$RESCOMP $WXCONFIG_RESFLAGS"
+ else
+ POSTLINK_COMMAND="@true"
+ fi
+fi
+
+fi
+dnl wxUSE_GUI = 1
+
+
dnl find out if the compiler supports PCH
dnl
dnl TODO: this should be in bakefile
fi
if test "$wxUSE_SHARED" = "yes"; then
-
- dnl We get the shared build linker from bakefile, since it
- dnl moved all the logic for this out of this file and into
- dnl its own macro. But it can't decide on whether to return
- dnl us $(VAR), ${VAR}, or the present expansion of VAR.
- dnl So normalise and expand everything here now, because its
- dnl not going to change inside wx-config anyway.
- sanitised_bakefile_mess=`echo "$SHARED_LD_CXX" | tr -d '()'`
- EXE_LINKER=`eval echo "$sanitised_bakefile_mess"`
-
dnl Need addtional flag on OS/2, so override bakefiles value
dnl (there currently is no suitable variable to which the
dnl missing flags could be added, AFAICS. SN, 18.12.2004. )
cp -p ${srcdir}/src/os2/dllar.sh .
;;
esac
-else
-
- dnl No bakefile support for static builds, but this should be ok for most.
- EXE_LINKER="$CXX -o"
-
fi
if test "$wxUSE_OMF" = "yes"; then
case "${host}" in
*-*-solaris2* )
dnl system packages are compiled with Sun CC and so pkg-config outputs
dnl CC-specific "-mt" flag, remove it when using gcc
- if "$GCC" = yes; then
+ if test "$GCC" = yes; then
CPPFLAGS=`echo $CPPFLAGS | sed 's/-mt//'`
LIBS=`echo $LIBS | sed 's/-mt//'`
EXTRALIBS_GUI=`echo $EXTRALIBS_GUI | sed 's/-mt//'`
AC_SUBST(WXCONFIG_RPATH)
AC_SUBST(WXCONFIG_LDFLAGS_GUI)
AC_SUBST(WXCONFIG_RESFLAGS)
-AC_SUBST(EXE_LINKER)
dnl distribution vars
AC_SUBST(GUIDIST)
dnl Configure samples, demos etc. directories, but only if they are present:
if test "$wxUSE_GUI" = "yes"; then
SUBDIRS="samples demos utils"
-else dnl we build wxBase only
+else
+ dnl we build wxBase only
dnl there are no wxBase programs in 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
+for subdir in $SUBDIRS; do
if test -d ${srcdir}/${subdir} ; then
if test "$wxUSE_GUI" = "yes"; then
if test ${subdir} = "samples"; then
dnl only take those samples which compile in the current
dnl configuration and which exist
makefiles="samples/Makefile.in $makefiles"
- for sample in `echo $SAMPLES_SUBDIRS`; do
+ for sample in $SAMPLES_SUBDIRS; do
if test -d $srcdir/samples/$sample; then
makefiles="samples/$sample/Makefile.in $makefiles"
fi
dnl assume that everything compiles for utils &c
dnl any that shouldn't be built can be added to
dnl DISABLED_UTILS, DISABLED_DEMOS
- disabled_var=DISABLED_`echo $subdir | tr [[a-z]] [[A-Z]]`;
+ disabled_var=DISABLED_`echo $subdir | tr a-z A-Z`
eval "disabled=\$$disabled_var"
disabled=/`echo X $disabled | sed 's@ @/|/@g'`/
makefiles=`(cd $srcdir ; find $subdir -name Makefile.in) | $EGREP -v "$disabled"`
fi
- else dnl we build wxBase only
+ else
+ dnl we build wxBase only
dnl don't take all samples/utils, just those which build with
dnl wxBase
if test ${subdir} = "samples"; then
$makefiles"
fi
done
- else dnl assume that everything compiles for tests
+ else
+ dnl assume that everything compiles for tests
makefiles=`(cd $srcdir ; find $subdir -name Makefile.in)`
fi
fi
echo " Should wxWidgets be compiled in debug mode? ${wxUSE_DEBUG:-no}"
echo " Should wxWidgets be linked as a shared library? ${wxUSE_SHARED:-no}"
-echo -n " Should wxWidgets support Unicode? ${wxUSE_UNICODE:-no}"
+echo $ECHO_N " Should wxWidgets support Unicode? ${wxUSE_UNICODE:-no}$ECHO_C"
if test "$wxUSE_UNICODE" = "yes"; then
if test "$wxUSE_UNICODE_UTF8" = "yes"; then
echo " (using UTF-8)"
echo " wxWidgets 2.8 ${WXWIN_COMPATIBILITY_2_8:-yes}"
echo " Which libraries should wxWidgets use?"
+echo " STL ${wxUSE_STL}"
echo " jpeg ${wxUSE_LIBJPEG-none}"
echo " png ${wxUSE_LIBPNG-none}"
echo " regex ${wxUSE_REGEX}"
echo " xpm ${wxUSE_LIBXPM-none}"
fi
echo " zlib ${wxUSE_ZLIB}"
-echo " odbc ${wxUSE_ODBC}"
echo " expat ${wxUSE_EXPAT}"
echo " libmspack ${wxUSE_LIBMSPACK}"
echo " sdl ${wxUSE_LIBSDL}"