From 36ea4889f7a2016c2525f6b251f1787fbcb7d4aa Mon Sep 17 00:00:00 2001 From: nijtmans Date: Wed, 12 Jan 2011 10:40:03 +0000 Subject: handle --enable-64bit=ia64 for gcc more accurate test for correct --- ChangeLog | 7 +++++-- win/configure | 56 ++++++++++++++++++++++++++++++++------------------------ win/configure.in | 5 ++--- win/tcl.m4 | 42 ++++++++++++++++++++++++------------------ 4 files changed, 63 insertions(+), 47 deletions(-) diff --git a/ChangeLog b/ChangeLog index ed460c3..4f9554f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,8 +1,11 @@ 2011-01-12 Jan Nijtmans - * win/tclWinFile.c: Use _vsnprintf in stead of vsnprintf, because + * win/tclWinFile.c: Use _vsnprintf in stead of vsnprintf, because MSVC 6 doesn't have it. Reported by andreask. - * win/tclWin32Dll.c: VS 2005 64-bit does not have intrin.h, and + * win/tcl.m4: handle --enable-64bit=ia64 for gcc + * win/configure.in: more accurate test for correct + * win/configure: (autoconf-2.59) + * win/tclWin32Dll.c: VS 2005 64-bit does not have intrin.h, and * generic/tclPanic.c: does not need it. 2011-01-07 Kevin B. Kenny diff --git a/win/configure b/win/configure index b5ab2cf..2e69364 100755 --- a/win/configure +++ b/win/configure @@ -3652,15 +3652,14 @@ main () { __cpuidex(0,0,0); - __debugbreak(); ; return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 @@ -3674,7 +3673,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' + { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -3687,7 +3686,8 @@ sed 's/^/| /' conftest.$ac_ext >&5 tcl_cv_intrinsics=no fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $tcl_cv_intrinsics" >&5 @@ -3971,6 +3971,10 @@ fi SHLIB_SUFFIX=".dll" + # MACHINE is IX86 for LINK, but this is used by the manifest, + # which requires x86|amd64|ia64. + MACHINE="X86" + # Check for a bug in gcc's windres that causes the # compile to fail when a Windows native path is # passed into windres. The mingw toolchain requires @@ -4251,11 +4255,18 @@ echo "$as_me: error: ${CC} does not support the -shared option. LDFLAGS_CONSOLE="-mconsole ${extra_ldflags}" LDFLAGS_WINDOW="-mwindows ${extra_ldflags}" - if test "$do64bit" != "no" ; then - MACHINE="AMD64" - else - MACHINE="X86" - fi + case "$do64bit" in + amd64|x64|yes) + MACHINE="AMD64" ; # assume AMD64 as default 64-bit build + echo "$as_me:$LINENO: result: Using 64-bit $MACHINE mode" >&5 +echo "${ECHO_T} Using 64-bit $MACHINE mode" >&6 + ;; + ia64) + MACHINE="IA64" + echo "$as_me:$LINENO: result: Using 64-bit $MACHINE mode" >&5 +echo "${ECHO_T} Using 64-bit $MACHINE mode" >&6 + ;; + esac else if test "${SHARED_BUILD}" = "0" ; then # static @@ -4280,12 +4291,9 @@ echo "${ECHO_T}using shared flags" >&6 LIBSUFFIX="\${DBGX}.lib" LIBFLAGSUFFIX="\${DBGX}" - # This is a 2-stage check to make sure we have the 64-bit SDK - # We have to know where the SDK is installed. + # This is a 2-stage check to make sure we have the 64-bit SDK + # We have to know where the SDK is installed. # This magic is based on MS Platform SDK for Win2003 SP1 - hobbs - # MACHINE is IX86 for LINK, but this is used by the manifest, - # which requires x86|amd64|ia64. - MACHINE="X86" if test "$do64bit" != "no" ; then if test "x${MSSDK}x" = "xx" ; then MSSDK="C:/Progra~1/Microsoft Platform SDK" @@ -4293,14 +4301,14 @@ echo "${ECHO_T}using shared flags" >&6 MSSDK=`echo "$MSSDK" | sed -e 's!\\\!/!g'` PATH64="" case "$do64bit" in - amd64|x64|yes) - MACHINE="AMD64" ; # assume AMD64 as default 64-bit build - PATH64="${MSSDK}/Bin/Win64/x86/AMD64" - ;; - ia64) - MACHINE="IA64" - PATH64="${MSSDK}/Bin/Win64" - ;; + amd64|x64|yes) + MACHINE="AMD64" ; # assume AMD64 as default 64-bit build + PATH64="${MSSDK}/Bin/Win64/x86/AMD64" + ;; + ia64) + MACHINE="IA64" + PATH64="${MSSDK}/Bin/Win64" + ;; esac if test ! -d "${PATH64}" ; then { echo "$as_me:$LINENO: WARNING: Could not find 64-bit $MACHINE SDK to enable 64bit mode" >&5 diff --git a/win/configure.in b/win/configure.in index b78aa8a..bd42c49 100644 --- a/win/configure.in +++ b/win/configure.in @@ -3,7 +3,7 @@ # generate the file "configure", which is run during Tcl installation # to configure the system for the local environment. # -# RCS: @(#) $Id: configure.in,v 1.130 2010/12/21 09:07:15 nijtmans Exp $ +# RCS: @(#) $Id: configure.in,v 1.131 2011/01/12 10:40:03 nijtmans Exp $ AC_INIT(../generic/tcl.h) AC_PREREQ(2.59) @@ -276,7 +276,7 @@ fi AC_CACHE_CHECK(for intrinsics support in compiler, tcl_cv_intrinsics, -AC_TRY_COMPILE([ +AC_TRY_LINK([ #define WIN32_LEAN_AND_MEAN #include #undef WIN32_LEAN_AND_MEAN @@ -284,7 +284,6 @@ AC_TRY_COMPILE([ ], [ __cpuidex(0,0,0); - __debugbreak(); ], tcl_cv_intrinsics=yes, tcl_cv_intrinsics=no) diff --git a/win/tcl.m4 b/win/tcl.m4 index 601f3e2..c39bd7f 100644 --- a/win/tcl.m4 +++ b/win/tcl.m4 @@ -407,6 +407,10 @@ AC_DEFUN([SC_CONFIG_CFLAGS], [ SHLIB_SUFFIX=".dll" + # MACHINE is IX86 for LINK, but this is used by the manifest, + # which requires x86|amd64|ia64. + MACHINE="X86" + # Check for a bug in gcc's windres that causes the # compile to fail when a Windows native path is # passed into windres. The mingw toolchain requires @@ -575,11 +579,16 @@ file for information about building with Mingw.]) LDFLAGS_CONSOLE="-mconsole ${extra_ldflags}" LDFLAGS_WINDOW="-mwindows ${extra_ldflags}" - if test "$do64bit" != "no" ; then - MACHINE="AMD64" - else - MACHINE="X86" - fi + case "$do64bit" in + amd64|x64|yes) + MACHINE="AMD64" ; # assume AMD64 as default 64-bit build + AC_MSG_RESULT([ Using 64-bit $MACHINE mode]) + ;; + ia64) + MACHINE="IA64" + AC_MSG_RESULT([ Using 64-bit $MACHINE mode]) + ;; + esac else if test "${SHARED_BUILD}" = "0" ; then # static @@ -602,12 +611,9 @@ file for information about building with Mingw.]) LIBSUFFIX="\${DBGX}.lib" LIBFLAGSUFFIX="\${DBGX}" - # This is a 2-stage check to make sure we have the 64-bit SDK - # We have to know where the SDK is installed. + # This is a 2-stage check to make sure we have the 64-bit SDK + # We have to know where the SDK is installed. # This magic is based on MS Platform SDK for Win2003 SP1 - hobbs - # MACHINE is IX86 for LINK, but this is used by the manifest, - # which requires x86|amd64|ia64. - MACHINE="X86" if test "$do64bit" != "no" ; then if test "x${MSSDK}x" = "xx" ; then MSSDK="C:/Progra~1/Microsoft Platform SDK" @@ -615,14 +621,14 @@ file for information about building with Mingw.]) MSSDK=`echo "$MSSDK" | sed -e 's!\\\!/!g'` PATH64="" case "$do64bit" in - amd64|x64|yes) - MACHINE="AMD64" ; # assume AMD64 as default 64-bit build - PATH64="${MSSDK}/Bin/Win64/x86/AMD64" - ;; - ia64) - MACHINE="IA64" - PATH64="${MSSDK}/Bin/Win64" - ;; + amd64|x64|yes) + MACHINE="AMD64" ; # assume AMD64 as default 64-bit build + PATH64="${MSSDK}/Bin/Win64/x86/AMD64" + ;; + ia64) + MACHINE="IA64" + PATH64="${MSSDK}/Bin/Win64" + ;; esac if test ! -d "${PATH64}" ; then AC_MSG_WARN([Could not find 64-bit $MACHINE SDK to enable 64bit mode]) -- cgit v0.12