diff options
author | das <das> | 2006-07-20 06:25:18 (GMT) |
---|---|---|
committer | das <das> | 2006-07-20 06:25:18 (GMT) |
commit | 472701c8e65c0becd4620bce71070564d0569287 (patch) | |
tree | 908cf8a88b6a313743cec6481241735b0ff1f9d2 /unix/configure.in | |
parent | 516d2a2413bfa3330b641f88c3a940a54f790a60 (diff) | |
download | tk-472701c8e65c0becd4620bce71070564d0569287.zip tk-472701c8e65c0becd4620bce71070564d0569287.tar.gz tk-472701c8e65c0becd4620bce71070564d0569287.tar.bz2 |
* macosx/tkMacOSXWm.c (WmAttributesCmd, WmIconbitmapCmd): add support
* unix/tkUnixSend.c (Tk_GetUserInactiveTime): for weakly
importing symbols not available on OSX 10.2 or 10.3, enables binaires
built on later OSX versions to run on earlier ones.
* macosx/Wish.xcodeproj/project.pbxproj: enable weak-linking; turn on
extra warnings.
* macosx/README: document how to enable weak-linking; cleanup.
* unix/configure.in: add check on Darwin-X11 for ld support of -weak-l
* unix/tcl.m4: flag and weak-link libXss if possible as it is not
available before OSX 10.4; enforce requirement of OSX 10.2 for TkAqua;
move Darwin specific checks & defines that are only relevant to the tcl
build out of tcl.m4; restrict framework option to Darwin; cleanup
quoting and help messages.
* unix/configure: autoconf-2.59
* unix/tkConfig.h.in: autoheader-2.59
* macosx/GNUmakefile: enable xft for TkX11 build.
* macosx/tkMacOSXFont.c (TkMacOSXQuarzStartDraw, TkMacOSXQuarzEndDraw):
verify validity of context returned from QDBeginCGContext() before use.
* macosx/tkMacOSXKeyEvent.c: ifdef out diagnostic messages to stderr.
* macosx/tkMacOSXEvent.h: standardize MAC_OS_X_VERSION_MAX_ALLOWED
* macosx/tkMacOSXMenu.c: checks per QA1316, ensure define can be
* macosx/tkMacOSXMenubutton.c: overriden on command line (from default
* macosx/tkMacOSXMenus.c: of current OS version).
* macosx/tkMacOSXMouseEvent.c:
* macosx/tkMacOSXWm.c:
* macosx/tkMacOSXFont.c (TkpMeasureCharsInContext): fix
signed-with-unsigned comparison and other warnings from gcc4 -Wextra.
Diffstat (limited to 'unix/configure.in')
-rw-r--r-- | unix/configure.in | 74 |
1 files changed, 46 insertions, 28 deletions
diff --git a/unix/configure.in b/unix/configure.in index a9a804c..8182d93 100644 --- a/unix/configure.in +++ b/unix/configure.in @@ -3,7 +3,7 @@ dnl This file is an input file used by the GNU "autoconf" program to dnl generate the file "configure", which is run during Tk installation dnl to configure the system for the local environment. # -# RCS: @(#) $Id: configure.in,v 1.119 2006/05/04 14:11:50 dgp Exp $ +# RCS: @(#) $Id: configure.in,v 1.120 2006/07/20 06:25:20 das Exp $ AC_INIT([tk],[8.5]) AC_PREREQ(2.59) @@ -177,14 +177,14 @@ fi # special flag. #-------------------------------------------------------------------- -AC_CACHE_CHECK([for fd_set in sys/types], tcl_cv_type_fd_set, +AC_CACHE_CHECK([for fd_set in sys/types], tcl_cv_type_fd_set, [ AC_TRY_COMPILE([#include <sys/types.h>],[fd_set readMask, writeMask;], - tcl_cv_type_fd_set=yes, tcl_cv_type_fd_set=no)) + tcl_cv_type_fd_set=yes, tcl_cv_type_fd_set=no)]) tk_ok=$tcl_cv_type_fd_set if test $tk_ok = no; then - AC_CACHE_CHECK([for fd_mask in sys/select], tcl_cv_grep_fd_mask, + AC_CACHE_CHECK([for fd_mask in sys/select], tcl_cv_grep_fd_mask, [ AC_EGREP_HEADER(fd_mask, sys/select.h, - tcl_cv_grep_fd_mask=present, tcl_cv_grep_fd_mask=missing)) + tcl_cv_grep_fd_mask=present, tcl_cv_grep_fd_mask=missing)]) if test $tcl_cv_grep_fd_mask = present; then AC_DEFINE(HAVE_SYS_SELECT_H, 1, [Should we include <sys/select.h>?]) tk_ok=yes @@ -224,10 +224,10 @@ AC_TYPE_UID_T # In OS/390 struct pwd has no pw_gecos field #------------------------------------------- -AC_CACHE_CHECK([pw_gecos in struct pwd], tcl_cv_pwd_pw_gecos, +AC_CACHE_CHECK([pw_gecos in struct pwd], tcl_cv_pwd_pw_gecos, [ AC_TRY_COMPILE([#include <pwd.h>], [struct passwd pwd; pwd.pw_gecos;], - tcl_cv_pwd_pw_gecos=yes, tcl_cv_pwd_pw_gecos=no)) + tcl_cv_pwd_pw_gecos=yes, tcl_cv_pwd_pw_gecos=no)]) if test $tcl_cv_pwd_pw_gecos = yes; then AC_DEFINE(HAVE_PW_GECOS, 1, [Does struct password have a pw_gecos field?]) fi @@ -237,24 +237,40 @@ fi #-------------------------------------------------------------------- if test "`uname -s`" = "Darwin" ; then + AC_MSG_CHECKING([whether to use Aqua]) AC_ARG_ENABLE(aqua, - AC_HELP_STRING([--enable-aqua], - [enable Aqua windowingsystem on Mac OS X (default: off)]), - [tk_aqua=$enableval], [tk_aqua=no]) + AC_HELP_STRING([--enable-aqua], + [use Aqua windowingsystem on Mac OS X (default: off)]), + [tk_aqua=$enableval], [tk_aqua=no]) if test $tk_aqua = yes; then - if test $tcl_corefoundation = no; then - AC_MSG_WARN([Aqua can only be used when CoreFoundation is available]) - tk_aqua=no - elif test ! -d /System/Library/Frameworks/Carbon.framework; then - AC_MSG_WARN([Aqua can only be used when Carbon is available]) - tk_aqua=no - fi + if test $tcl_corefoundation = no; then + AC_MSG_WARN([Aqua can only be used when CoreFoundation is available]) + tk_aqua=no + fi + if test ! -d /System/Library/Frameworks/Carbon.framework; then + AC_MSG_WARN([Aqua can only be used when Carbon is available]) + tk_aqua=no + fi + if test "`uname -r | awk -F. '{print [$]1}'`" -lt 6; then + AC_MSG_WARN([Aqua requires Mac OS X 10.2 or later]) + tk_aqua=no + fi fi + AC_MSG_RESULT([$tk_aqua]) if test $do64bit_ok = no ; then # remove -arch ppc64 from CFLAGS for fat builds as neither Aqua nor X11 # can be built for 64bit at present (no 64bit GUI libraries). CFLAGS="`echo "$CFLAGS" | sed -e 's/-arch ppc64/-arch ppc/g'`" fi + if test $tk_aqua = no; then + # check if weak linking whole libraries is possible. + AC_CACHE_CHECK([if ld accepts -weak-l flag], tcl_cv_ld_weak_l, [ + hold_ldflags=$LDFLAGS + LDFLAGS="$LDFLAGS -Wl,-weak-lm" + AC_TRY_LINK([#include <math.h>], [double f = sin(1.0);], + tcl_cv_ld_weak_l=yes, tcl_cv_ld_weak_l=no) + LDFLAGS=$hold_ldflags]) + fi else tk_aqua=no fi @@ -368,7 +384,6 @@ fi #-------------------------------------------------------------------- if test $tk_aqua = no; then - tk_oldCFlags=$CFLAGS CFLAGS="$CFLAGS $XINCLUDES" tk_oldLibs=$LIBS @@ -384,7 +399,13 @@ if test $tk_aqua = no; then xss_lib_found=yes ], [ AC_CHECK_LIB(Xss,XScreenSaverQueryInfo, [ - XLIBSW="$XLIBSW -lXss -lXext" + if test "$tcl_cv_ld_weak_l" = yes; then + # On Darwin, weak link libXss if possible, + # as it is only available on Tiger or later. + XLIBSW="$XLIBSW -weak-lXss -lXext" + else + XLIBSW="$XLIBSW -lXss -lXext" + fi xss_lib_found=yes ],, -lXext) ]) @@ -401,15 +422,14 @@ fi #-------------------------------------------------------------------- if test $tk_aqua = no; then + AC_MSG_CHECKING([whether to use xft]) AC_ARG_ENABLE(xft, - AC_HELP_STRING([--enable-xft],[Use freetype/fontconfig/xft (default: off)]), - [enable_xft=$enableval], - [enable_xft="no"]) - + AC_HELP_STRING([--enable-xft], + [use freetype/fontconfig/xft (default: off)]), + [enable_xft=$enableval], [enable_xft="no"]) XFT_CFLAGS="" XFT_LIBS="" if test "$enable_xft" = "yes" ; then - AC_MSG_CHECKING([for xft configuration]) XFT_CFLAGS=`xft-config --cflags 2>/dev/null` || enable_xft="no" XFT_LIBS=`xft-config --libs 2>/dev/null` || enable_xft="no" if test "$enable_xft" = "no" ; then @@ -417,19 +437,17 @@ if test $tk_aqua = no; then XFT_CFLAGS=`pkg-config --cflags xft 2>/dev/null` || enable_xft="no" XFT_LIBS=`pkg-config --libs xft 2>/dev/null` || enable_xft="no" fi - if test "$enable_xft" = "yes" ; then - AC_MSG_RESULT([ok]) - else + if test "$enable_xft" == "no" ; then AC_MSG_WARN([Can't find xft configuration]) fi fi + AC_MSG_RESULT([$enable_xft]) if test $enable_xft = "yes" ; then UNIX_FONT_OBJS=tkUnixRFont.o AC_DEFINE(HAVE_XFT, 1, [Have we turned on XFT (antialiased fonts)?]) else UNIX_FONT_OBJS=tkUnixFont.o fi - AC_SUBST(XFT_CFLAGS) AC_SUBST(XFT_LIBS) AC_SUBST(UNIX_FONT_OBJS) |