ac_find_libraries=
for ac_dir in $1;
do
- for ac_extension in a so sl; do
+ for ac_extension in a so sl dylib; do
if test -f "$ac_dir/lib$2.$ac_extension"; then
ac_find_libraries=$ac_dir
break 2
USE_ALPHA=
USE_OSF=
USE_BSD=
+USE_DARWIN=
USE_FREEBSD=
USE_OPENBSD=
USE_NETBSD=
*-*-darwin* )
USE_BSD=1
- USE_MAC=1
- AC_DEFINE(__MAC__)
+ USE_DARWIN=1
AC_DEFINE(__BSD__)
+ AC_DEFINE(__DARWIN__)
AC_DEFINE(__UNIX__)
DEFAULT_DEFAULT_wxUSE_MAC=1
;;
DEFAULT_wxUSE_GUI=yes
DEFAULT_wxUSE_CONTROLS=no
+ DEFAULT_wxUSE_REGEX=no
DEFAULT_wxUSE_ZLIB=no
DEFAULT_wxUSE_LIBPNG=no
DEFAULT_wxUSE_LIBJPEG=no
DEFAULT_wxUSE_IPC=no
DEFAULT_wxUSE_HELP=no
DEFAULT_wxUSE_MS_HTML_HELP=no
-
DEFAULT_wxUSE_WXHTML_HELP=no
DEFAULT_wxUSE_WXTREE=no
DEFAULT_wxUSE_METAFILE=no
DEFAULT_wxUSE_GUI=yes
+ DEFAULT_wxUSE_REGEX=yes
DEFAULT_wxUSE_ZLIB=yes
DEFAULT_wxUSE_LIBPNG=yes
DEFAULT_wxUSE_LIBJPEG=yes
dnl for GUI only
WX_ARG_WITH(dmalloc, [ --with-dmalloc use dmalloc library (www.letters.com/dmalloc)], wxUSE_DMALLOC)
+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_WITH(odbc, [ --with-odbc use the IODBC and wxODBC classes], wxUSE_ODBC)
WXWINE=
if test "$wxUSE_CYGWIN" = 1 || test "$wxUSE_MINGW" = 1 ; then
- AC_CHECK_HEADER(windows.h, [],
- [
- AC_MSG_ERROR(please set CFLAGS to contain the location of windows.h)
- ])
-
+ AC_CHECK_HEADER(windows.h, [],
+ [
+ AC_MSG_ERROR(please set CFLAGS to contain the location of windows.h)
+ ])
+
INCLUDE_SUBDIRS="$INCLUDE_SUBDIRS msw"
+
+ dnl VZ: my mingw32 doesn't define WINVER which means that __WIN95__ is
+ dnl not defined in wx/defs.h and all kinds of things break so I
+ dnl add it here
+ dnl
+ dnl if newer versions of mingw32 do define it, we should
+ dnl explicitly test for this
+ CXXFLAGS="${CXXFLAGS} -DWINVER=0x0400"
+
dnl --- Quick & Dirty ; link against most/all libraries
dnl --- This will bloat the executable, but it'll work for now...
- LIBS="$LIBS -lkernel32 -luser32 -lgdi32 -lcomdlg32 -lwinspool -lwinmm -lshell32 -lcomctl32 -lctl3d32 -lcrtdll -ladvapi32 -lwsock32"
+ LIBS="$LIBS -lkernel32 -luser32 -lgdi32 -lcomdlg32 -lwinspool -lwinmm -lshell32 -lcomctl32 -lctl3d32 -ladvapi32 -lwsock32"
dnl add extra odbc libs if we have compiled in odbc
if test "$wxUSE_ODBC" = "yes" ; then
fi
fi
+ dnl REGEX_INCLUDE is only set if we want regex support and if we use our
+ dnl own sources and not the system library
+ if test "x$REGEX_INCLUDE" != "x" ; then
+ ALL_OBJECTS="${ALL_OBJECTS} \$(REGEXOBJS)"
+ fi
+
if test "$wxUSE_LIBJPEG" = "yes" ; then
ALL_OBJECTS="${ALL_OBJECTS} \$(JPEGOBJS)"
fi
dnl this may be (almost) unneccesary for wxBase now we use TOOLKIT_NAME
TOOLKIT_DIR="base"
+ dnl well, we have to set it to something...
+ TOOLKIT_VPATH="."
+
dnl the base name of the library and wxXXX-config files
if test "$wxUSE_DEBUG_FLAG" = "yes"; then
TOOLKIT_NAME="${TOOLKIT_DIR}d"
ALL_OBJECTS="\$(BASE_OBJS) \$(BASE_UNIX_OBJS)"
ALL_DEPFILES="\$(BASE_DEPS) \$(BASE_UNIX_DEPS)"
+ dnl REGEX_INCLUDE is only set if we want regex support and if we use our
+ dnl own sources and not the system library
+ if test "x$REGEX_INCLUDE" != "x" ; then
+ ALL_OBJECTS="${ALL_OBJECTS} \$(REGEXOBJS)"
+ fi
+
if test "$wxUSE_ZLIB" = "yes" ; then
ALL_OBJECTS="${ALL_OBJECTS} \$(ZLIBOBJS)"
fi
dnl building wxBase only
WX_LIBRARY="wx_${TOOLKIT_NAME}"
- PORT_FILES="src/files.lst"
+ PORT_FILES="\${top_srcdir}/src/files.lst"
RPM_FILES="src/rpmfiles.lst"
RPM_SPEC="wxBase.spec"
fi
;;
*-*-darwin* )
+ TOOLKIT_DEF="${TOOLKIT_DEF} -D__UNIX__ -D__DARWIN__ -D__POWERPC__"
+ CFLAGS="${CFLAGS} -fno-common"
+ CPPFLAGS="${CPPFLAGS} -fno-common"
SHARED_LD="${CXX} -dynamiclib -o"
PIC_FLAG="-dynamic -fPIC"
if test "$wxUSE_OPENGL" = "yes"; then
WX_ALL_INSTALLED="CREATE_INSTALLED_LINKS"
WX_ALL="CREATE_LINKS"
fi
- dnl add the resources target
- WX_ALL="${WX_ALL} ./lib/lib${WX_LIBRARY}-${WX_RELEASE}.r"
+ dnl add the resources target for wxMac
+ if test "$wxUSE_MAC" = 1 ; then
+ WX_ALL="${WX_ALL} ./lib/lib${WX_LIBRARY}-${WX_RELEASE}.r"
+ fi
dnl the name of the shared library
WX_LIBRARY_NAME_SHARED="lib${WX_LIBRARY}-${WX_RELEASE}.dylib.${WX_CURRENT}.${WX_REVISION}.${WX_AGE}"
WX_LIBRARY_NAME_SHARED_GL="lib${WX_LIBRARY}_gl-${WX_RELEASE}.dylib.${WX_CURRENT}.${WX_REVISION}.${WX_AGE}"
HAVE_SOME_SLEEP_FUNC=1
fi
-if test "$USE_MAC" = 1; then
+if test "$USE_DARWIN" = 1; then
dnl Mac OS X has both nanosleep and usleep
dnl but only usleep is defined in unistd.h
AC_DEFINE(HAVE_USLEEP)
if test "$wxUSE_THREADS" = "yes"; then
AC_DEFINE(wxUSE_THREADS)
- dnl must define _REENTRANT for multithreaded code except for Mac OS X
- if test "$wxUSE_MAC" = "0"; then
+ dnl must define _REENTRANT for multithreaded code except for Darwin/Mac OS X
+ if test "$USE_DARWIN" != 1; then
CFLAGS="${CFLAGS} -D_REENTRANT"
CXXFLAGS="${CXXFLAGS} -D_REENTRANT"
fi
fi
if test "$wxUSE_MAC" = 1 ; then
- TOOLKIT_DEF="${TOOLKIT_DEF} -D__UNIX__ -D__POWERPC__ -DTARGET_CARBON"
- CFLAGS="${CFLAGS} -fno-common -fpascal-strings"
- CPPFLAGS="${CPPFLAGS} -cpp-precomp -fno-common -fpascal-strings"
+ TOOLKIT_DEF="${TOOLKIT_DEF} -DTARGET_CARBON"
+ CFLAGS="${CFLAGS} -fpascal-strings"
+ CPPFLAGS="${CPPFLAGS} -cpp-precomp -fpascal-strings"
AC_CHECK_PROG(REZ, Rez, Rez, /Developer/Tools/Rez)
AC_CHECK_PROG(DEREZ, Derez, Derez, /Developer/Tools/Derez)
RESCOMP=${REZ}
dnl Optional libraries
dnl ---------------------------------------------------------------------------
+REGEX_INCLUDE=
+if test "$wxUSE_REGEX" != "no"; then
+ dnl according to Unix 98 specs, regcomp() is in libc but I believe that
+ dnl on some old systems it may be in libregex - check for it too?
+ AC_CHECK_HEADER(regex.h, AC_CHECK_FUNCS(regcomp))
+
+ if test "x$ac_cv_func_regcomp" != "xyes"; then
+ dnl we were asked to use the system version of regex lib only but it
+ dnl is not available
+ if test "$wxUSE_REGEX" = "sys"; then
+ AC_MSG_ERROR([system regex library not found! Use --with-regex to use the built-in regex library.])
+ fi
+
+ dnl fallback to the built in code
+ REGEX_INCLUDE="-I\${top_srcdir}/src/regex"
+ fi
+
+ AC_DEFINE(wxUSE_REGEX)
+fi
+
ZLIB_INCLUDE=
if test "$wxUSE_ZLIB" = "yes" -o "$wxUSE_ZLIB" = "sys" ; then
AC_DEFINE(wxUSE_ZLIB)
fi
if test "$wxUSE_OPENGL" = "yes"; then
- AC_CHECK_HEADER(GL/gl.h, [
+ if test "$wxUSE_MAC" = 1; then
AC_DEFINE(wxUSE_OPENGL)
AC_DEFINE(wxUSE_GLCANVAS)
- AC_CHECK_LIB(GL, glFlush, [
- OPENGL_LINK="-lGL -lGLU"
- ],[
- AC_CHECK_LIB(MesaGL, glFlush, [
- OPENGL_LINK="-lMesaGL -lMesaGLU"
- ],)
- ],)
- ],wxUSE_OPENGL=0)
+ OPENGL_LINK="-framework OpenGL -framework AGL"
+ else
+ AC_CHECK_HEADER(GL/gl.h, [
+ AC_DEFINE(wxUSE_OPENGL)
+ AC_DEFINE(wxUSE_GLCANVAS)
+ AC_CHECK_LIB(GL, glFlush, [
+ OPENGL_LINK="-lGL -lGLU"
+ ],[
+ AC_CHECK_LIB(MesaGL, glFlush, [
+ OPENGL_LINK="-lMesaGL -lMesaGLU"
+ ],)
+ ],)
+ ],wxUSE_OPENGL=0)
+ fi
fi
dnl ---------------------------------------------------------------------------
HAVE_DL_FUNCS=0
HAVE_SHL_FUNCS=0
if test "$wxUSE_DYNLIB_CLASS" = "yes"; then
- if test "$USE_MAC" = 1; then
- dnl Mac OS X needs dl_macosx.c to be compiled in to fake dlopen/dlerror
+ if test "$USE_DARWIN" = 1; then
+ dnl dlopen/dlerror is implemented in dynlib.cpp for Darwin/Mac OS X
HAVE_DL_FUNCS=1
else
dnl the test is a bit complicated because we check for dlopen() both with
SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS help"
if test "$USE_WIN32" = 1; then
- if test "$wxUSE_WXHTML_HELP" = "yes"; then
- AC_DEFINE(wxUSE_WXHTML_HELP)
+ if test "$wxUSE_MS_HTML_HELP" = "yes"; then
+ AC_DEFINE(wxUSE_MS_HTML_HELP)
AC_CHECK_HEADER(htmlhelp.h,
[
AC_DEFINE(wxUSE_MS_HTML_HELP)
])
fi
fi
+
+ if test "$wxUSE_WXHTML_HELP" = "yes"; then
+ if test "$wxUSE_HTML" = "yes"; then
+ AC_DEFINE(wxUSE_WXHTML_HELP)
+ else
+ AC_MSG_WARN(Cannot use wxHTML-based help without wxHTML so it won't be compiled)
+ wxUSE_WXHTML_HELP=no
+ fi
+ fi
fi
if test "$wxUSE_PRINTING_ARCHITECTURE" = "yes" ; then
dnl note that we always link with -lm except for Mac OS X
dnl extended.c uses floor() and is always linked in
EXTRA_LIBS="$LIBS $POSIX4_LINK $INET_LINK $WCHAR_LINK $THREADS_LINK $DMALLOC_LINK $DL_LINK $ZLIB_LINK -lm"
-if test "$USE_MAC" = 1 ; then
+if test "$wxUSE_MAC" = 1 ; then
EXTRA_LIBS="$EXTRA_LIBS -framework Carbon -framework System"
fi
if test "$wxUSE_GUI" = "yes"; then
LD_LIBS="\${top_builddir}/lib/${WX_LIBRARY_NAME_STATIC} $EXTRA_LIBS"
dnl all -I options we must pass to the compiler
-INCLUDES="-I. -I\${top_builddir}/include -I\${top_srcdir}/include $ZLIB_INCLUDE $PNG_INCLUDE $JPEG_INCLUDE $TIFF_INCLUDE $FREETYPE_INCLUDE $TOOLKIT_INCLUDE"
+INCLUDES="-I. -I\${top_builddir}/include -I\${top_srcdir}/include \
+$REGEX_INCLUDE $ZLIB_INCLUDE $PNG_INCLUDE $JPEG_INCLUDE $TIFF_INCLUDE \
+$FREETYPE_INCLUDE $TOOLKIT_INCLUDE"
dnl wxGTK does not need TOOLKIT includes in wx-config
if test "$wxUSE_GTK" = 1; then
wx_cv_path_ifs=$PATH_IFS
wx_cv_program_ext=$PROGRAM_EXT
wx_cv_target_library=$WX_TARGET_LIBRARY
+ wx_cv_target_library_gl=$WX_TARGET_LIBRARY_GL
wx_cv_target_libtype=$WX_TARGET_LIBRARY_TYPE
dnl we need to export them because passing them through cache won't
dnl work when cache=/dev/null (which is default for autoconf 2.50)
export wx_cv_path_samplesubdirs wx_cv_path_ifs wx_cv_program_ext \
- wx_cv_target_library wx_cv_target_libtype
+ wx_cv_target_library wx_cv_target_library_gl wx_cv_target_libtype
AC_CONFIG_SUBDIRS(demos samples utils contrib)
fi
dnl from wxUSE_GUI