From 4bed36bc88a7a23c21a62e7c06c0c57fa33c119a Mon Sep 17 00:00:00 2001 From: dkf Date: Thu, 5 Jan 2006 09:47:00 +0000 Subject: Small improvement to the factoring of tcl.m4 Regeneration of configure is *not* urgent --- ChangeLog | 93 +++++++++++++++++++++++++++++++------------------------------ unix/tcl.m4 | 88 ++++++++++++++++++++++++++++++--------------------------- 2 files changed, 94 insertions(+), 87 deletions(-) diff --git a/ChangeLog b/ChangeLog index 0bdf07d..87e28c9 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,52 +1,53 @@ -2006-01-04 David Gravereaux +2006-01-05 Donal K. Fellows - * win/tclAppInit.c: WIN32 native console signal handler removed. - This was found to be interfering with TWAPI extension one. IMO, - special services such as signal handlers should best be done with - extensions to the core after discussions on c.l.t. about Roy - Terry's tclsh children of a real windows service shell. + * unix/tcl.m4 (TCL_CONFIG_SYSTEM): Factor out the code to determine + the operating system version number, as it was replicated in several + places. + +2006-01-04 David Gravereaux + + * win/tclAppInit.c: WIN32 native console signal handler removed. This + was found to be interfering with TWAPI extension one. IMO, special + services such as signal handlers should best be done with extensions + to the core after discussions on c.l.t. about Roy Terry's tclsh + children of a real windows service shell. 2005-12-30 Kevin B. Kenny * generic/tclStubLib.c: Corrected a typo in "missing Stubs table pointer." - + 2005-12-27 Kevin B. Kenny * generic/tcl.decls: Destubbed TclTomMathInitializeStubs - it is in - * generic/tcl.h: the stub library, notthe main shared - * generic/tclBasic.c: library. Exported Tcl_InitBignumFromDouble. + * generic/tcl.h: the stub library, not the main shared + * generic/tclBasic.c: library. Exported Tcl_InitBignumFromDouble. * generic/tclExecute.c: * generic/tclInt.h: * generic/tclStrToD.c: - * generic/tclDecls.h: + * generic/tclDecls.h: * generic/tclStubLib.c: * generic/tclStubInit.c: Regenerated. - - * generic/clock.tcl: Reverted to using the time zone abbreviation - and not its name to "stop the bleeding" on - Bug 1386377. This is *not* a good long-term - solution, but there may not be one. - - * libtommath/bn_mp_sqrt.c: Improved the initial approximation to - the square root, roughly doubling the - speed of the routine. (This is a local - change that needs to be communicated to - Tom.) - + + * generic/clock.tcl: Reverted to using the time zone abbreviation and + not its name to "stop the bleeding" on [Bug 1386377]. This is *not* a + good long-term solution, but there may not be one. + + * libtommath/bn_mp_sqrt.c: Improved the initial approximation to the + square root, roughly doubling the speed of the routine. (This is a + local change that needs to be communicated to Tom.) + * win/Makefile.in: Corrected a bug where tommath_class.h and - tommath_superclass.h were not installed, making - it impossible for client code to compile - against the tommath stubs. - - * library/tzdata: Updated to Olson's tzdata2005r. (Latest changes - to Daylight Saving Time in Canada, plus - redefinition of the Posix-style zones [e.g., - EST5EDT] to be locale-independent.) - + tommath_superclass.h were not installed, making it impossible for + client code to compile against the tommath stubs. + + * library/tzdata: Updated to Olson's tzdata2005r. (Latest changes to + Daylight Saving Time in Canada, plus redefinition of the Posix-style + zones [e.g., EST5EDT] to be locale-independent.) + * libtommath: Updated to Tom St.Denis's release 0.37. - + 2005-12-20 Donal K. Fellows * generic/tclThreadAlloc.c (Tcl_GetMemoryInfo): Format values as longs @@ -413,7 +414,7 @@ * unix/configure: * unix/tclConfig.h.in: regen. -2005-11-21 Andreas Kupries +2005-11-21 Andreas Kupries * unix/Makefile.in (install-libraries): Updated Makefile to new * win/Makefile.in (install-libraries): version of the http package. @@ -430,7 +431,7 @@ Tcl_PkgRequireEx() fails [Fix for #1091431 "Tcl_InitStubs failure crashes wish"] -2005-11-18 Miguel Sofer +2005-11-18 Miguel Sofer * tests/trace.test (trace-34.5): [Bug 1047286], added a second test illustrating the role of "ns in callStack" in the ns's visibility @@ -447,13 +448,13 @@ * generic/tclIO.c (TclFinalizeIOSubsystem): preserve statePtr until we netrieve next statePtr from it. -2005-11-18 Miguel Sofer +2005-11-18 Miguel Sofer * generic/tclObj.c (GetBignumFromObj): replace NULL with tclEmptyStringRep to stop memcpy from complaining in a debug build (the corresponding branch is eliminated by the optimiser otherwise). -2005-11-18 Andreas Kupries +2005-11-18 Andreas Kupries * generic/tclIO.c (TclFinalizeIOSubsystem): Applied Pat Thoyts' patch for [SF Tcl Bug 1359094]. This moves the retrieval of the next channel @@ -474,7 +475,7 @@ * library/http/http.tcl (http::geturl): Improved syntactic validation of URLs, and better error messages in some cases. [Bug 1358369] -2005-11-17 Miguel Sofer +2005-11-17 Miguel Sofer * tests/namespace.test: fix comment @@ -486,7 +487,7 @@ * generic/tclBasic.c (CallCommandTraces): Save/restore the interp result during traces to fix [Bug 1355342]. -2005-11-13 Miguel Sofer +2005-11-13 Miguel Sofer * generic/tclInt.h: * generic/tclNamesp.c: @@ -496,7 +497,7 @@ * tests/trace.test: added tests 20.13-16 for [Bug 1355342] -2005-11-12 Miguel Sofer +2005-11-12 Miguel Sofer * generic/tclBasic.c (Tcl_DeleteCommandFromToken): * generic/tclObj.c (Tcl_GetCommandFromObj): more partial fixes for @@ -515,7 +516,7 @@ * generic/tclStrToD.c: to permit tests scan-4.44,55 to pass again. [Bug 1348067]. -2005-11-11 Miguel Sofer +2005-11-11 Miguel Sofer * generic/tclBasic.c (Tcl_DeleteCommandFromToken): * generic/tclObj.c (Tcl_GetCommandFromObj): bump the cmd epoch early @@ -574,7 +575,7 @@ rest of the main trace record. This simplifies the code a bit at the same time. -2005-11-07 Miguel Sofer +2005-11-07 Miguel Sofer * tests/trace.test (trace-13.2-4): added tests to detect leak, see [Bug 1348775]. The recently added trace-8.9 test is now 13.4. @@ -585,7 +586,7 @@ only stress test the dict code and not the trace code as well. [Bug 1342858] -2005-11-05 Miguel Sofer +2005-11-05 Miguel Sofer * tests/trace.test (trace-8.9): added test to detect leak, see [Bug 1348775]. @@ -597,7 +598,7 @@ * tests/exec.test: Tests for extended error codes. * generic/tclPipe.c: Permit long codes (platform macros permitting). -2005-11-04 Miguel Sofer +2005-11-04 Miguel Sofer * generic/tclBinary.c: * generic/tclCmdAH.c: @@ -635,7 +636,7 @@ * unix/tclLoadDld.c: Removed. * unix/configure: Regenerated. -2005-11-04 Miguel Sofer +2005-11-04 Miguel Sofer * generic/tclInt.h: * generic/tclNamesp.c: @@ -679,7 +680,7 @@ * expr.test (expr-46.13): Added test that illustrates shortcoming of Patch 1340260. -2005-10-31 Miguel Sofer +2005-10-31 Miguel Sofer * generic/tclNamesp.c: fix for [Bugs 1338280/1337229]. Thanks Don. * tests/trace.test: fix duplicate test numbers @@ -691,7 +692,7 @@ non-error code paths better. * tests/ioCmd.test (iocmd-8-19): Updated. -2005-10-29 Miguel Sofer +2005-10-29 Miguel Sofer * generic/tclTrace.c (TraceVarProc): [Bug 1337229], partial fix. Ensure that a second call with TCL_TRACE_DESTROYED does not lead to a diff --git a/unix/tcl.m4 b/unix/tcl.m4 index c313068..879ea13 100644 --- a/unix/tcl.m4 +++ b/unix/tcl.m4 @@ -810,6 +810,50 @@ AC_DEFUN(SC_CONFIG_MANPAGES, [ ]) #-------------------------------------------------------------------- +# TCL_CONFIG_SYSTEM +# +# Determine what the system is (some things cannot be easily checked +# on a feature-driven basis, alas). This can usually be done via the +# "uname" command, but there are a few systems, like Next, where +# this doesn't work. +# +# Arguments: +# none +# +# Results: +# Defines the following var: +# +# system - System/platform/version identification code. +# +#-------------------------------------------------------------------- + +AC_DEFUN(TCL_CONFIG_SYSTEM, [ + AC_MSG_CHECKING([system version]) + AC_CACHE_VAL(tcl_cv_sys_version,[ + if test -f /usr/lib/NextStep/software_version; then + tcl_cv_sys_version=NEXTSTEP-`awk '/3/,/3/' /usr/lib/NextStep/software_version` + else + tcl_cv_sys_version=`uname -s`-`uname -r` + if test "$?" -ne 0 ; then + AC_MSG_WARN([can't find uname command]) + tcl_cv_sys_version=unknown + else + # Special check for weird MP-RAS system (uname returns weird + # results, and the version is kept in special file). + + if test -r /etc/.relid -a "X`uname -n`" = "X`uname -s`" ; then + tcl_cv_sys_version=MP-RAS-`awk '{print $3}' /etc/.relid` + fi + if test "`uname -s`" = "AIX" ; then + tcl_cv_sys_version=AIX-`uname -v`.`uname -r` + fi + fi + fi]) + AC_MSG_RESULT($tcl_cv_sys_version) + system=$tcl_cv_sys_version +]) + +#-------------------------------------------------------------------- # SC_CONFIG_CFLAGS # # Try to determine the proper flags to pass to the compiler @@ -940,30 +984,9 @@ AC_DEFUN(SC_CONFIG_CFLAGS, [ AC_MSG_RESULT($do64bitVIS) # Step 1: set the variable "system" to hold the name and version number - # for the system. This can usually be done via the "uname" command, but - # there are a few systems, like Next, where this doesn't work. + # for the system. - AC_MSG_CHECKING([system version (for dynamic loading)]) - if test -f /usr/lib/NextStep/software_version; then - system=NEXTSTEP-`awk '/3/,/3/' /usr/lib/NextStep/software_version` - else - system=`uname -s`-`uname -r` - if test "$?" -ne 0 ; then - AC_MSG_RESULT([unknown (can't find uname command)]) - system=unknown - else - # Special check for weird MP-RAS system (uname returns weird - # results, and the version is kept in special file). - - if test -r /etc/.relid -a "X`uname -n`" = "X`uname -s`" ; then - system=MP-RAS-`awk '{print $3}' /etc/.relid` - fi - if test "`uname -s`" = "AIX" ; then - system=AIX-`uname -v`.`uname -r` - fi - AC_MSG_RESULT($system) - fi - fi + TCL_CONFIG_SYSTEM # Step 2: check for existence of -ldl library. This is needed because # Linux can use either -ldl or -ldld for dynamic loading. @@ -2245,25 +2268,8 @@ AC_DEFUN(SC_PATH_X, [ AC_DEFUN(SC_BLOCKING_STYLE, [ AC_CHECK_HEADERS(sys/ioctl.h) AC_CHECK_HEADERS(sys/filio.h) + TCL_CONFIG_SYSTEM AC_MSG_CHECKING([FIONBIO vs. O_NONBLOCK for nonblocking I/O]) - if test -f /usr/lib/NextStep/software_version; then - system=NEXTSTEP-`awk '/3/,/3/' /usr/lib/NextStep/software_version` - else - system=`uname -s`-`uname -r` - if test "$?" -ne 0 ; then - system=unknown - else - # Special check for weird MP-RAS system (uname returns weird - # results, and the version is kept in special file). - - if test -r /etc/.relid -a "X`uname -n`" = "X`uname -s`" ; then - system=MP-RAS-`awk '{print $3}' /etc/.relid` - fi - if test "`uname -s`" = "AIX" ; then - system=AIX-`uname -v`.`uname -r` - fi - fi - fi case $system in # There used to be code here to use FIONBIO under AIX. However, it # was reported that FIONBIO doesn't work under AIX 3.2.5. Since -- cgit v0.12