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)
-dnl allow the precompiled header option to be disabled under Mac OS X
-WX_ARG_ENABLE(precomp, [ --enable-precomp enable use of precompiled headers (Mac OS X)], wxUSE_PRECOMP)
+dnl allow the precompiled header option to be disabled under Mac OS X/Darwin
+WX_ARG_ENABLE(precomp, [ --enable-precomp enable use of precompiled headers (Mac OS X/Darwin)], wxUSE_PRECOMP)
if test "$wxUSE_DEBUG" = "yes"; then
DEFAULT_wxUSE_DEBUG_FLAG=yes
RESPROGRAMOBJ="\$(PROGRAM)_resources.o"
fi
+if test "$USE_DARWIN" = 1; then
+ // Mac OS X/Darwin GCC uses precompiled headers by default
+ // this can cause problems both when compiling wxMac and wxBase
+ if test "$wxUSE_PRECOMP" = "yes"; then
+ CPPFLAGS="$CPPFLAGS -cpp-precomp"
+ else
+ CPPFLAGS="$CPPFLAGS -no-cpp-precomp"
+ fi
+fi
+
if test "$wxUSE_GUI" = "yes"; then
USE_GUI=1
fi
if test "$wxUSE_MAC" = 1; then
- if test "$wxUSE_PRECOMP" = "yes"; then
- CPPFLAGS="$CPPFLAGS -cpp-precomp"
- else
- CPPFLAGS="$CPPFLAGS -no-cpp-precomp"
- fi
- CPPFLAGS="$CPPFLAGS -I/Developer/Headers/FlatCarbon -I\${top_srcdir}/src/mac/morefile"
- CFLAGS="$CFLAGS -fpascal-strings"
- CXXFLAGS="$CXXFLAGS -fpascal-strings"
+ CPPFLAGS="$CPPFLAGS -fpascal-strings -I\${top_srcdir}/src/mac/morefile -I/Developer/Headers/FlatCarbon"
TOOLKIT_VPATH="\${top_srcdir}/src/mac${PATH_IFS}\${top_srcdir}/src/mac/morefile"
TOOLKIT=MAC
*-*-darwin* )
dnl For Unix to MacOS X porting instructions, see:
dnl http://fink.sourceforge.net/doc/porting/porting.html
- CFLAGS="$CFLAGS -fno-common -DWXMAKINGDLL"
- CXXFLAGS="$CXXFLAGS -fno-common -DWXMAKINGDLL"
+ TOOLCHAIN_DEFS="${TOOLCHAIN_DEFS} -DWXMAKINGDLL"
+ CFLAGS="$CFLAGS -fno-common"
+ CXXFLAGS="$CXXFLAGS -fno-common"
dnl wxWindows must be fully binded (lazy binding breaks RTTI classinfo)
dnl this can be done either with the exe linker flag -Wl,-bind_at_load
dnl or with a double stage link in order to create a single module
WX_TARGET_LIBRARY_TYPE="a"
INSTALL_LIBRARY='$(INSTALL_DATA)'
+
+ dnl wx-config should assume the --static flag by default if we don't have
+ dnl any shared libs anyhow
+ STATIC_FLAG="yes"
+else
+ STATIC_FLAG="no"
fi
if test "$wxUSE_MAC" = 1; then
fi
if test "$USE_DARWIN" = 1; then
- dnl Mac OS X has both nanosleep and usleep
+ dnl Mac OS X/Darwin has both nanosleep and usleep
dnl but only usleep is defined in unistd.h
AC_DEFINE(HAVE_USLEEP)
HAVE_SOME_SLEEP_FUNC=1
if test "$wxUSE_THREADS" = "yes" ; then
case "${host}" in
*-*-mingw32* )
- CFLAGS="$CFLAGS -mthreads"
- CXXFLAGS="$CXXFLAGS -mthreads"
- TOOLCHAIN_DEFS="$TOOLCHAIN_DEFS -mthreads"
- LDFLAGS="$LDFLAGS -mthreads"
+ dnl check if the compiler accepts -mthreads
+ AC_CACHE_CHECK([if compiler supports -mthreads],
+ wx_cv_cflags_mthread,
+ [
+ CFLAGS_OLD="$CFLAGS"
+ CFLAGS="$CFLAGS -mthreads"
+ 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
+ CXXFLAGS="$CXXFLAGS -mthreads"
+ TOOLCHAIN_DEFS="$TOOLCHAIN_DEFS -mthreads"
+ LDFLAGS="$LDFLAGS -mthreads"
+ else
+ dnl it doesn't
+ CFLAGS="$CFLAGS_OLD"
+ fi
;;
esac
fi
fi
fi
-EXTRA_CFLAGS="$WXDEBUG $WXODBCFLAG $PROFILE $OPTIMISE $INCLUDES"
+EXTRA_CFLAGS="$WXDEBUG $WXODBCFLAG $PROFILE $OPTIMISE"
dnl remove the extra white space from the cc/c++/ld options
+CPPFLAGS=`echo $INCLUDES $CPPFLAGS | sed 's/ \\+/ /g'`
CFLAGS=`echo $EXTRA_CFLAGS $CFLAGS $CXXWARNINGS | sed 's/ \\+/ /g'`
CXXFLAGS=`echo $EXTRA_CFLAGS $CXXFLAGS $CXXWARNINGS | sed 's/ \+/ /g'`
LIBS=`echo $LIBS | sed 's/ \+/ /g'`
AC_SUBST(WX_TARGET_LIBRARY_SONAME)
AC_SUBST(WX_TARGET_LIBRARY_TYPE)
+AC_SUBST(STATIC_FLAG)
+
dnl debugging options
AC_SUBST(WXDEBUG_DEFINE)