PROGRAM_EXT=
SO_SUFFIX=so
SAMPLES_RPATH_FLAG=
+SAMPLES_RPATH_POSTLINK=
dnl to support a new system, you need to add its canonical name (as determined
dnl by config.sub or specified by the configure command line) to this "case"
DEFAULT_wxUSE_ICO_CUR=no
DEFAULT_wxUSE_ACCESSIBILITY=no
- DEFAULT_wxUSE_MONOLITHIC=yes
+ DEFAULT_wxUSE_MONOLITHIC=no
+ DEFAULT_wxUSE_OFFICIAL_BUILD=no
else
DEFAULT_wxUSE_UNIVERSAL=no
DEFAULT_wxUSE_STL=no
DEFAULT_wxUSE_ICO_CUR=yes
DEFAULT_wxUSE_ACCESSIBILITY=no
- DEFAULT_wxUSE_MONOLITHIC=yes
+ DEFAULT_wxUSE_MONOLITHIC=no
+ DEFAULT_wxUSE_OFFICIAL_BUILD=no
fi
dnl WX_ARG_WITH should be used to select whether an external package will be
if test "$wxUSE_DEBUG" = "yes"; then
DEFAULT_wxUSE_DEBUG_FLAG=yes
DEFAULT_wxUSE_DEBUG_INFO=yes
+ BUILD=debug
elif test "$wxUSE_DEBUG" = "no"; then
DEFAULT_wxUSE_DEBUG_FLAG=no
DEFAULT_wxUSE_DEBUG_INFO=no
+ BUILD=release
fi
WX_ARG_ENABLE(debug_flag, [ --enable-debug_flag set __WXDEBUG__ flag (recommended for developers!)], wxUSE_DEBUG_FLAG)
## FIXME: This is a blatant hack
if test "x$wxUSE_COCOA" != "x" -a "$wxUSE_COCOA" != "0" ; then
wxUSE_PRINTING_ARCHITECTURE=no
- wxUSE_CLIPBOARD=no
wxUSE_DRAG_AND_DROP=no
- wxUSE_DATAOBJ=no
# Generic notebook requires tab dialog
DEFAULT_wxUSE_TABDIALOG=yes
DEFAULT_wxUSE_TOOLBAR_NATIVE=no
fi
+dnl ---------------------------------------------------------------------------
+dnl some win32 settings
+dnl ---------------------------------------------------------------------------
+
+WX_ARG_ENABLE(official_build, [ --enable-official_build official build of wxWindows (win32 DLL only)], wxUSE_OFFICIAL_BUILD)
+AC_ARG_ENABLE(vendor, [ --enable-vendor=VENDOR vendor name (win32 DLL only)], [VENDOR="$enableval"])
+if test "x$VENDOR" = "x"; then
+ VENDOR="custom"
+fi
+
dnl General settings (needed for GUI and non-GUI compilations alike).
dnl Path separator; ':' for unix, ';' for OS/2
dnl Stem for flex output; lexyy for OS/2, lex.yy otherwise
dnl ------------------------------------------------------------------------
if test "$wxUSE_EXPAT" != "no"; then
- wxUSE_XML=1
+ wxUSE_XML=yes
AC_DEFINE(wxUSE_EXPAT)
AC_DEFINE(wxUSE_XML)
TOOLKIT=MAC
dnl we can't call this MAC_DIST or autoconf thinks its a macro
GUIDIST=MACX_DIST
+ dnl wxMac version of wxBase and wxCocoa or wxBase-only built on Darwin
+ dnl are different, so they need different names:
+ WXBASEPORT="_carbon"
fi
if test "$wxUSE_COCOA" = 1; then
dnl ODBC is handled seperately 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(SQLAllocEnv, iodbc, ODBC_LINK=" -liodbc",
+ [
+ AC_CHECK_LIB(SQLAllocEnv, unixodbc, ODBC_LINK=" -lunixodbc",
+ [
+ AC_CHECK_LIB(SQLAllocEnv, odbc, 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" != "no" ; then
AC_DEFINE(wxUSE_ODBC)
SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS db"
dnl is this still necessary in 2.5?
WXODBCFLAG="-D_IODBC_"
-
-
- if test "$wxUSE_ODBC" = "sys" ; 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)
- AC_SEARCH_LIBS(SQLAllocEnv,iodbc unixodbc odbc , , [
- wxUSE_ODBC=builtin;
- AC_MSG_WARN( [ can't find system Odbc library falling back to builtin ])
- ] )
- fi
- dnl Not "no" either...
- if test "$wxUSE_ODBC" != "sys" ; then
- ALL_OBJECTS="${ALL_OBJECTS} \$(IODBCOBJS)"
- fi
-
fi
-
fi
if test "$wxUSE_REGEX" = "builtin" ; then
WX_PATH_FIND_INCLUDES($SEARCH_INCLUDE, GL/gl.h)
if test "$ac_find_includes" != "" ; then
AC_MSG_RESULT(found in $ac_find_includes)
- set -x
WX_INCLUDE_PATH_EXIST($ac_find_includes, $CPPFLAGS)
CPPFLAGS="$CPPFLAGS$ac_path_to_include"
- set +x
fi
AC_CHECK_HEADER(GL/gl.h,
fi
fi
- if "$found_gl" != 1; then
+ if test "$found_gl" != 1; then
AC_MSG_RESULT([no])
AC_MSG_CHECKING([for -lMesaGL])
WX_PATH_FIND_LIBRARIES([$SEARCH_LIB],MesaGL)
USE_OPENGL=1
AC_DEFINE(wxUSE_OPENGL)
AC_DEFINE(wxUSE_GLCANVAS)
- SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS opengl"
+ SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS opengl opengl/cube opengl/penguin opengl/isosurf"
fi
fi
fi
lib_debug_suffix=
-BUILD=release
+DEBUG_FLAG=0
if test "$wxUSE_DEBUG_FLAG" = "yes"; then
lib_debug_suffix=d
- BUILD=debug
+ DEBUG_FLAG=1
+fi
+
+DEBUG_INFO=0
+if test "$wxUSE_DEBUG_INFO" = "yes"; then
+ DEBUG_INFO=1
fi
-WX_VERSION_TAG=`echo WX${TOOLKIT_DIR}${TOOLKIT_VERSION}${WIDGET_SET}${lib_unicode_suffix}${lib_debug_suffix}_${WX_RELEASE} | tr "[[a-z]]" "[[A-Z]]"`
+WX_VERSION_TAG=`echo WX${lib_unicode_suffix}${lib_debug_suffix}_${WX_RELEASE} | tr "[[a-z]]" "[[A-Z]]"`
TOOLCHAIN_NAME="${TOOLKIT_DIR}${TOOLKIT_VERSION}${WIDGET_SET}${lib_unicode_suffix}${lib_debug_suffix}-${WX_RELEASE}"
TOOLCHAIN_NAME_GL="${TOOLKIT_DIR}${TOOLKIT_VERSION}${WIDGET_SET}${lib_unicode_suffix}${lib_debug_suffix}_gl-${WX_RELEASE}"
dnl library link name
WX_LIBRARY="wx_${TOOLCHAIN_NAME}"
WX_LIBRARY_GL="wx_${TOOLCHAIN_NAME_GL}"
-WX_LIBRARY_BASENAME="wx_${TOOLKIT_DIR}${TOOLKIT_VERSION}${WIDGET_SET}${lib_unicode_suffix}${lib_debug_suffix}"
+WX_LIBRARY_BASENAME_NOGUI="wx_base${WXBASEPORT}${lib_unicode_suffix}${lib_debug_suffix}"
+WX_LIBRARY_BASENAME_GUI="wx_${TOOLKIT_DIR}${TOOLKIT_VERSION}${WIDGET_SET}${lib_unicode_suffix}${lib_debug_suffix}"
dnl the name of the shared library
WX_LIBRARY_NAME_SHARED="lib${WX_LIBRARY}.${SO_SUFFIX}.${WX_CURRENT}.${WX_REVISION}.${WX_AGE}"
case "${host}" in
*-*-linux* | *-*-gnu* )
SAMPLES_RPATH_FLAG="-Wl,-rpath,\$(top_builddir)lib"
- ;;
+ ;;
*-*-solaris2* )
if test "$GCC" = yes ; then
SAMPLES_RPATH_FLAG="-R\$(top_builddir)lib"
fi
;;
+
+ powerpc-*-darwin* )
+ SAMPLES_RPATH_POSTLINK="\$(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\$'\`
+inst_cmd="install_name_tool "
+for i in \${libnames} ; do
+ inst_cmd="\${inst_cmd} -change \${2}/lib/\${i} \${1}/\${i}"
+done
+\${inst_cmd} \${3}
+EOF
+ chmod +x change-install-names
+ ;;
+
esac
dnl set target to shared if not explicitly chose static before
dnl ------------------------------------------
dnl Check for ESD:
-ESD_LINK=
-AC_CHECK_HEADER([esd.h], [
- AC_CHECK_LIB(esd, esd_close, [
- ESD_LINK="-lesd"
+EXTRALIBS_ESD=
+AC_CHECK_LIB(esd, esd_close, [
+ AC_CHECK_HEADERS([esd.h], [
+ EXTRALIBS_ESD="-lesd"
])
])
+AC_SUBST(EXTRALIBS_ESD)
dnl ===========================================================================
AC_MSG_WARN([Joystick not yet supported under Mac OS X... disabled])
wxUSE_JOYSTICK=no
fi
- if test "$TOOLKIT" = "MOTIF"; then
- AC_MSG_WARN([Joystick not yet supported under Motif... disabled])
- wxUSE_JOYSTICK=no
- fi
- if test "$TOOLKIT" = "X11"; then
- AC_MSG_WARN([Joystick not yet supported under X11... disabled])
- wxUSE_JOYSTICK=no
- fi
-
- dnl under MSW we always have joystick support
+
+ dnl under MSW we always have joystick support
if test "$TOOLKIT" != "MSW"; then
if test "$wxUSE_JOYSTICK" = "yes"; then
dnl joystick support is only for Linux 2.1.x or greater
if test "$wxUSE_DYNAMIC_LOADER" = "yes" ; then
AC_DEFINE(wxUSE_DYNAMIC_LOADER)
-elif test "$wxUSE_DYNLIB_CLASS" = "yes" ; then
+fi
+if test "$wxUSE_DYNLIB_CLASS" = "yes" ; then
AC_DEFINE(wxUSE_DYNLIB_CLASS)
fi
if test "$wxUSE_UNICODE" = "yes" ; then
AC_DEFINE(wxUSE_UNICODE)
- if test "$wxUSE_MSW" != 1; then
+ if test "$USE_WIN32" != 1; then
wxUSE_UNICODE_MSLU=no
fi
- if test "$wxUSE_MSW" = 1 -a "$wxUSE_UNICODE_MSLU" = "yes"; then
+ if test "$USE_WIN32" = 1 -a "$wxUSE_UNICODE_MSLU" = "yes"; then
AC_CHECK_LIB(unicows,main,
[
AC_DEFINE(wxUSE_UNICODE_MSLU)
if test "$wxUSE_SYSTEM_OPTIONS" = "yes"; then
AC_DEFINE(wxUSE_SYSTEM_OPTIONS)
-if test "$TOOLKIT" = "MSW"; then
+if test "$TOOLKIT" = "MSW" -o "$TOOLKIT" = "GTK" -o "$TOOLKIT" = "X11" -o \
+ "$TOOLKIT" = "MOTIF"; then
SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS taskbar"
fi
dnl define the variables used in wx-config
top_builddir_wxconfig=`pwd`
+
+dnl ---------------------------------------------------------------------------
+dnl define variables with all built libraries for wx-config
+dnl ---------------------------------------------------------------------------
+
+CORE_BASE_LIBS="net base"
+CORE_GUI_LIBS="adv core"
+
+if test "$wxUSE_XML" = "yes" ; then
+ CORE_BASE_LIBS="xml $CORE_BASE_LIBS"
+fi
+if test "$wxUSE_ODBC" != "no" ; then
+ CORE_BASE_LIBS="odbc $CORE_BASE_LIBS"
+ CORE_GUI_LIBS="dbgrid $CORE_GUI_LIBS"
+fi
+if test "$wxUSE_HTML" = "yes" ; then
+ CORE_GUI_LIBS="html $CORE_GUI_LIBS"
+fi
+
+AC_SUBST(CORE_BASE_LIBS)
+AC_SUBST(CORE_GUI_LIBS)
+
+
dnl ---------------------------------------------------------------------------
dnl Output the makefiles and such from the results found above
dnl ---------------------------------------------------------------------------
dnl ipc, mfc, nativdlg, oleauto, ownerdrw
SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS artprov controls dialogs \
drawing dynamic erase event exec font image \
- minimal propsize rotate shaped widgets"
+ minimal propsize rotate shaped widgets render"
if test "$wxUSE_MONOLITHIC" != "yes"; then
SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS console"
LIBS=`echo $LIBS | sed 's/ \+/ /g'`
EXTRALIBS="$LDFLAGS $LDFLAGS_VERSIONING $LIBS $DMALLOC_LIBS"
EXTRALIBS_XML="$EXPAT_LINK"
+EXTRALIBS_ODBC="$ODBC_LINK"
if test "$wxUSE_GUI" = "yes"; then
EXTRALIBS_GUI=`echo $GUI_TK_LIBRARY $PNG_LINK $JPEG_LINK $TIFF_LINK | sed 's/ \+/ /g'`
fi
WXCONFIG_INCLUDE="$TOOLKIT_INCLUDE"
fi
+WXCONFIG_EXTRALIBS="$LIBS"
+
+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"
+fi
+if test "$wxUSE_EXPAT" = "builtin" ; then
+ wxconfig_3rdparty="$wxconfig_3rdparty expat"
+fi
+if test "$wxUSE_ODBC" = "builtin" ; then
+ wxconfig_3rdparty="$wxconfig_3rdparty odbc"
+fi
+if test "$wxUSE_LIBTIFF" = "builtin" ; then
+ wxconfig_3rdparty="$wxconfig_3rdparty tiff"
+fi
+if test "$wxUSE_LIBJPEG" = "builtin" ; then
+ wxconfig_3rdparty="$wxconfig_3rdparty jpeg"
+fi
+if test "$wxUSE_LIBPNG" = "builtin" ; then
+ wxconfig_3rdparty="$wxconfig_3rdparty png"
+fi
+if test "$wxUSE_ZLIB" = "builtin" ; then
+ wxconfig_3rdparty="$wxconfig_3rdparty zlib"
+fi
+if test "$wxUSE_ODBC" = "builtin" ; then
+ wxconfig_3rdparty="$wxconfig_3rdparty odbc"
+fi
+
+for i in $wxconfig_3rdparty ; do
+ WXCONFIG_EXTRALIBS="$WXCONFIG_EXTRALIBS -lwx${i}${lib_debug_suffix}${HOST_SUFFIX}"
+done
+
+
if test "x$wxUSE_UNIVERSAL" = "xyes" ; then
WXUNIV=1
else
MONOLITHIC=0
fi
-dnl FIXME -- make configurable!
-VENDOR="custom"
-OFFICIAL_BUILD=0
+if test $wxUSE_ODBC != "no" ; then
+ USE_ODBC=1
+else
+ USE_ODBC=0
+fi
+
+if test $wxUSE_OFFICIAL_BUILD = "yes" ; then
+ OFFICIAL_BUILD=1
+else
+ OFFICIAL_BUILD=0
+fi
+
AC_SUBST(VENDOR)
AC_SUBST(OFFICIAL_BUILD)
AC_SUBST(WXUNIV)
AC_SUBST(MONOLITHIC)
+AC_SUBST(LIBS)
AC_SUBST(EXTRALIBS)
AC_SUBST(EXTRALIBS_XML)
+AC_SUBST(EXTRALIBS_ODBC)
AC_SUBST(EXTRALIBS_GUI)
AC_SUBST(EXTRALIBS_OPENGL)
AC_SUBST(UNICODE)
AC_SUBST(BUILD)
+AC_SUBST(DEBUG_INFO)
+AC_SUBST(DEBUG_FLAG)
AC_SUBST(SHARED)
TOOLKIT_LOWERCASE=`echo $TOOLKIT | tr [[A-Z]] [[a-z]]`
AC_SUBST(TOOLKIT_LOWERCASE)
AC_SUBST(TOOLKIT_VERSION)
AC_SUBST(SAMPLES_RPATH_FLAG)
+AC_SUBST(SAMPLES_RPATH_POSTLINK)
AC_SUBST(HOST_SUFFIX)
AC_BAKEFILE
+dnl Find out if we have to define NO_GCC_PRAGMA and WX_PRECOMP:
+if test $GCC_PCH = 1 ; then
+ CPPFLAGS="-DWX_PRECOMP -DNO_GCC_PRAGMA $CPPFLAGS"
+else
+ case "${host}" in
+ powerpc-*-darwin* )
+ dnl Some Apple's GCC version are broken and can't handle the
+ dnl pragmas:
+ CPPFLAGS="-DNO_GCC_PRAGMA $CPPFLAGS"
+ ;;
+ esac
+fi
+dnl We have to output NO_GCC_PRAGMA with wx-config on Apple, too:
+case "${host}" in
+ powerpc-*-darwin* )
+ dnl Some Apple's GCC version are broken and can't handle the
+ dnl pragmas:
+ CODE_GEN_FLAGS_CXX="-DNO_GCC_PRAGMA $CODE_GEN_FLAGS_CXX"
+ ;;
+esac
+
dnl for convenience, sort the samples in alphabetical order
dnl
AC_SUBST(WX_RELEASE_NUMBER)
AC_SUBST(WX_LIBRARY_NAME_STATIC)
AC_SUBST(WX_LIBRARY_NAME_SHARED)
-AC_SUBST(WX_LIBRARY_BASENAME)
+AC_SUBST(WX_LIBRARY_BASENAME_NOGUI)
+AC_SUBST(WX_LIBRARY_BASENAME_GUI)
AC_SUBST(WX_LIBRARY_IMPORTLIB)
AC_SUBST(WX_TARGET_LIBRARY)
AC_SUBST(WX_LIBRARY_LINK1)
AC_SUBST(top_builddir_wxconfig)
AC_SUBST(host_alias)
AC_SUBST(cross_compiling)
+AC_SUBST(WXCONFIG_EXTRALIBS)
AC_SUBST(WXCONFIG_LIBS)
AC_SUBST(WXCONFIG_LIBS_GL)
AC_SUBST(WXCONFIG_LIBS_STATIC)
AC_SUBST(INSTALL_LIBRARY)
AC_SUBST(INSTALL_DIR)
-dnl contrib tests results:
-AC_SUBST(ESD_LINK)
-
dnl MAKE_SET will be replaced with "MAKE=..." or nothing if make sets MAKE
dnl itself (this macro is required if SUBDIRS variable is used in Makefile.am
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
if test -d $srcdir/samples/$sample; then
makefiles="samples/$sample/Makefile.in $makefiles"
dnl don't take all samples/utils, just those which build with
dnl wxBase
if test ${subdir} = "samples"; then
- makefiles="samples/console/Makefile.in"
+ makefiles="samples/Makefile.in samples/console/Makefile.in"
else dnl utils
makefiles="utils/HelpGen/Makefile.in \
utils/HelpGen/src/Makefile.in \