diff --git a/configure b/configure index 147eaac..af002d9 100755 --- a/configure +++ b/configure @@ -9008,8 +9008,9 @@ printf "%s\n" "#define _ISOC99_SOURCE 1" >>confdefs.h tcl_flags="$tcl_flags _ISOC99_SOURCE" fi + if test "${TCL_MAJOR_VERSION}" -ne 8 ; then - if test ${tcl_cv_flag__largefile64_source+y} + if test ${tcl_cv_flag__file_offset_bits+y} then : printf %s "(cached) " >&6 else $as_nop @@ -9019,95 +9020,46 @@ else $as_nop int main (void) { -struct stat64 buf; int i = stat64("/", &buf); +switch (0) { case 0: case (sizeof(off_t)==sizeof(long long)): ; } ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO" then : - tcl_cv_flag__largefile64_source=no + tcl_cv_flag__file_offset_bits=no else $as_nop cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#define _LARGEFILE64_SOURCE 1 +#define _FILE_OFFSET_BITS 64 #include int main (void) { -struct stat64 buf; int i = stat64("/", &buf); +switch (0) { case 0: case (sizeof(off_t)==sizeof(long long)): ; } ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO" then : - tcl_cv_flag__largefile64_source=yes + tcl_cv_flag__file_offset_bits=yes else $as_nop - tcl_cv_flag__largefile64_source=no + tcl_cv_flag__file_offset_bits=no fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext fi - if test "x${tcl_cv_flag__largefile64_source}" = "xyes" ; then + if test "x${tcl_cv_flag__file_offset_bits}" = "xyes" ; then -printf "%s\n" "#define _LARGEFILE64_SOURCE 1" >>confdefs.h +printf "%s\n" "#define _FILE_OFFSET_BITS 64" >>confdefs.h - tcl_flags="$tcl_flags _LARGEFILE64_SOURCE" + tcl_flags="$tcl_flags _FILE_OFFSET_BITS" fi - - if test ${tcl_cv_flag__largefile_source64+y} -then : - printf %s "(cached) " >&6 -else $as_nop - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main (void) -{ -char *p = (char *)open64; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO" -then : - tcl_cv_flag__largefile_source64=no -else $as_nop - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#define _LARGEFILE_SOURCE64 1 -#include -int -main (void) -{ -char *p = (char *)open64; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO" -then : - tcl_cv_flag__largefile_source64=yes -else $as_nop - tcl_cv_flag__largefile_source64=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - - if test "x${tcl_cv_flag__largefile_source64}" = "xyes" ; then - -printf "%s\n" "#define _LARGEFILE_SOURCE64 1" >>confdefs.h - - tcl_flags="$tcl_flags _LARGEFILE_SOURCE64" fi - if test "x${tcl_flags}" = "x" ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none" >&5 printf "%s\n" "none" >&6; } @@ -9187,6 +9139,75 @@ printf "%s\n" "#define TCL_WIDE_INT_TYPE ${tcl_cv_type_64bit}" >>confdefs.h printf "%s\n" "${tcl_cv_type_64bit}" >&6; } # Now check for auxiliary declarations + if test "${TCL_MAJOR_VERSION}" -ne 8 ; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for 64-bit time_t" >&5 +printf %s "checking for 64-bit time_t... " >&6; } +if test ${tcl_cv_time_t_64+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ +switch (0) {case 0: case (sizeof(time_t)==sizeof(long long)): ;} + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + tcl_cv_time_t_64=yes +else $as_nop + tcl_cv_time_t_64=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $tcl_cv_time_t_64" >&5 +printf "%s\n" "$tcl_cv_time_t_64" >&6; } + if test "x${tcl_cv_time_t_64}" = "xno" ; then + # Note that _TIME_BITS=64 requires _FILE_OFFSET_BITS=64 + # which SC_TCL_EARLY_FLAGS has defined if necessary. + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if _TIME_BITS=64 enables 64-bit time_t" >&5 +printf %s "checking if _TIME_BITS=64 enables 64-bit time_t... " >&6; } +if test ${tcl_cv__time_bits+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#define _TIME_BITS 64 +#include +int +main (void) +{ +switch (0) {case 0: case (sizeof(time_t)==sizeof(long long)): ;} + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + tcl_cv__time_bits=yes +else $as_nop + tcl_cv__time_bits=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $tcl_cv__time_bits" >&5 +printf "%s\n" "$tcl_cv__time_bits" >&6; } + if test "x${tcl_cv__time_bits}" = "xyes" ; then + +printf "%s\n" "#define _TIME_BITS 64" >>confdefs.h + + fi + fi + fi + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for struct dirent64" >&5 printf %s "checking for struct dirent64... " >&6; } if test ${tcl_cv_struct_dirent64+y} @@ -9638,7 +9659,7 @@ printf "%s\n" "#define TCL_MAJOR_VERSION 8" >>confdefs.h eval eval "PKG_LIB_FILE=${PACKAGE_LIB_PREFIX}${PACKAGE_NAME}${UNSHARED_LIB_SUFFIX}" fi # Some packages build their own stubs libraries - eval eval "PKG_STUB_LIB_FILE=${PACKAGE_LIB_PREFIX}${PACKAGE_NAME}stub${UNSHARED_LIB_SUFFIX}" + eval eval "PKG_STUB_LIB_FILE=${PACKAGE_LIB_PREFIX8}${PACKAGE_NAME}stub${UNSHARED_LIB_SUFFIX}" if test "$GCC" = "yes"; then PKG_STUB_LIB_FILE=lib${PKG_STUB_LIB_FILE} fi diff --git a/generic/itkArchBase.c b/generic/itkArchBase.c index 38468dc..92e98ce 100644 --- a/generic/itkArchBase.c +++ b/generic/itkArchBase.c @@ -408,7 +408,7 @@ Itk_ArchCompAddCmd( Tcl_DStringAppend(&buffer, " [::itcl::code ", -1); Tcl_DStringAppend(&buffer, - Tcl_GetStringFromObj(objNamePtr,(int*)NULL), -1); + Tcl_GetString(objNamePtr), -1); Tcl_DStringAppend(&buffer, " itk_component delete ", -1); Tcl_DStringAppend(&buffer, name, -1); @@ -434,7 +434,7 @@ Itk_ArchCompAddCmd( */ Tcl_DStringSetLength(&buffer, 0); Tcl_DStringAppendElement(&buffer, - Tcl_GetStringFromObj(winNamePtr, (int*)NULL)); + Tcl_GetString(winNamePtr)); Tcl_DStringAppendElement(&buffer, "configure"); result = Tcl_Eval(interp, Tcl_DStringValue(&buffer)); @@ -565,7 +565,7 @@ Itk_ArchCompAddCmd( Tcl_AppendToObj(objPtr, "\")", -1); Tcl_IncrRefCount(objPtr); - Tcl_AddErrorInfo(interp, Tcl_GetStringFromObj(objPtr, (int*)NULL)); + Tcl_AppendObjToErrorInfo(interp, objPtr); Tcl_DecrRefCount(objPtr); @@ -750,7 +750,7 @@ Itk_ArchOptKeepCmd( * properly. */ if (!mergeInfo->archInfo || !mergeInfo->optionTable) { - token = Tcl_GetStringFromObj(objv[0], (int*)NULL); + token = Tcl_GetString(objv[0]); Tcl_AppendStringsToObj(Tcl_GetObjResult(interp), "improper usage: \"", token, "\" should only be accessed via itk_component", @@ -764,7 +764,7 @@ Itk_ArchOptKeepCmd( * Integrate them into the option info for the mega-widget. */ for (i=1; i < objc; i++) { - token = Tcl_GetStringFromObj(objv[i], (int*)NULL); + token = Tcl_GetString(objv[i]); entry = Tcl_FindHashEntry(mergeInfo->optionTable, token); if (!entry) { Tcl_AppendStringsToObj(Tcl_GetObjResult(interp), @@ -852,7 +852,7 @@ Itk_ArchOptIgnoreCmd( * properly. */ if (!mergeInfo->archInfo || !mergeInfo->optionTable) { - token = Tcl_GetStringFromObj(objv[0], (int*)NULL); + token = Tcl_GetString(objv[0]); Tcl_AppendStringsToObj(Tcl_GetObjResult(interp), "improper usage: \"", token, "\" should only be accessed via itk_component", @@ -866,7 +866,7 @@ Itk_ArchOptIgnoreCmd( * Remove them from the mega-widget. */ for (i=1; i < objc; i++) { - token = Tcl_GetStringFromObj(objv[i], (int*)NULL); + token = Tcl_GetString(objv[i]); entry = Tcl_FindHashEntry(mergeInfo->optionTable, token); if (!entry) { Tcl_AppendResult(interp, "option not recognized: ", token, @@ -931,7 +931,7 @@ Itk_ArchOptRenameCmd( * properly. */ if (!mergeInfo->archInfo || !mergeInfo->optionTable) { - char *token = Tcl_GetStringFromObj(objv[0], (int*)NULL); + char *token = Tcl_GetString(objv[0]); Tcl_AppendStringsToObj(Tcl_GetObjResult(interp), "improper usage: \"", token, "\" should only be accessed via itk_component", @@ -939,10 +939,10 @@ Itk_ArchOptRenameCmd( return TCL_ERROR; } - oldSwitch = Tcl_GetStringFromObj(objv[1], (int*)NULL); - newSwitch = Tcl_GetStringFromObj(objv[2], (int*)NULL); - resName = Tcl_GetStringFromObj(objv[3], (int*)NULL); - resClass = Tcl_GetStringFromObj(objv[4], (int*)NULL); + oldSwitch = Tcl_GetString(objv[1]); + newSwitch = Tcl_GetString(objv[2]); + resName = Tcl_GetString(objv[3]); + resClass = Tcl_GetString(objv[4]); /* * Make sure that the resource name and resource class look good. @@ -1056,7 +1056,7 @@ Itk_ArchOptUsualCmd( * properly. */ if (!mergeInfo->archInfo || !mergeInfo->optionTable) { - char *token = Tcl_GetStringFromObj(objv[0], (int*)NULL); + char *token = Tcl_GetString(objv[0]); Tcl_AppendStringsToObj(Tcl_GetObjResult(interp), "improper usage: \"", token, "\" should only be accessed via itk_component", @@ -1070,7 +1070,7 @@ Itk_ArchOptUsualCmd( * the component widget. */ if (objc == 2) { - tag = Tcl_GetStringFromObj(objv[1], (int*)NULL); + tag = Tcl_GetString(objv[1]); } else { tag = Tk_Class(mergeInfo->archComp->tkwin); } @@ -1155,7 +1155,7 @@ Itk_UsualCmd( * hash table for "usual" code. */ if (objc == 3) { - token = Tcl_GetStringFromObj(objv[1], (int*)NULL); + token = Tcl_GetString(objv[1]); entry = Tcl_CreateHashEntry(&mergeInfo->usualCode, token, &newEntry); if (!newEntry) { @@ -1174,7 +1174,7 @@ Itk_UsualCmd( /* * Otherwise, look for a code fragment with the specified tag. */ - token = Tcl_GetStringFromObj(objv[1], (int*)NULL); + token = Tcl_GetString(objv[1]); entry = Tcl_FindHashEntry(&mergeInfo->usualCode, token); if (entry) { codePtr = (Tcl_Obj*)Tcl_GetHashValue(entry); @@ -2685,12 +2685,13 @@ Itk_CreateGenericOptTable( Tcl_Interp *interp, /* interpreter handling this request */ const char *options) /* string description of config options */ { - int confc; + Tcl_Size confc; const char **confv = NULL; - int optc; + Tcl_Size optc; const char **optv = NULL; - int i, newEntry; + Tcl_Size i; + int newEntry; Tcl_HashTable *tPtr; Tcl_HashEntry *entry; GenericConfigOpt *info; @@ -2802,7 +2803,8 @@ Itk_CreateGenericOpt( GenericConfigOpt *genericOpt = NULL; Tcl_Obj *codePtr = NULL; - int optc, result; + Tcl_Size optc; + int result; const char **optv; char *name; const char *my_name; @@ -2842,7 +2844,7 @@ Itk_CreateGenericOpt( */ resultPtr = Tcl_GetObjResult(interp); Tcl_IncrRefCount(resultPtr); - info = Tcl_GetStringFromObj(resultPtr, (int*)NULL); + info = Tcl_GetString(resultPtr); result = Tcl_SplitList(interp, info, &optc, &optv); diff --git a/generic/itkArchetype.c b/generic/itkArchetype.c index 8d383a4..f3e447c 100644 --- a/generic/itkArchetype.c +++ b/generic/itkArchetype.c @@ -361,7 +361,7 @@ Itk_ArchDeleteOptsCmd( if (Itcl_GetContext(interp, &contextClass, &contextObj) != TCL_OK || !contextObj) { - char *token = Tcl_GetStringFromObj(objv[0], (int*)NULL); + char *token = Tcl_GetString(objv[0]); Tcl_ResetResult(interp); Tcl_AppendStringsToObj(Tcl_GetObjResult(interp), "cannot use \"", token, "\" without an object context", @@ -474,7 +474,7 @@ Itk_ArchComponentCmd( /* * Flag any errors. */ - cmd = Tcl_GetStringFromObj(objv[0], (int*)NULL); + cmd = Tcl_GetString(objv[0]); Tcl_AppendStringsToObj(Tcl_GetObjResult(interp), "bad option \"", token, "\": should be one of...\n", @@ -847,7 +847,7 @@ Itk_ArchCompAccessCmd( Tcl_HashSearch place; ArchInfo *info; ArchComponent *archComp; - int cmdlinec; + Tcl_Size cmdlinec; Tcl_Obj *objPtr; Tcl_Obj *cmdlinePtr; Tcl_Obj **cmdlinev; diff --git a/generic/itkHelpers.c b/generic/itkHelpers.c index 2b675f4..ec019b5 100644 --- a/generic/itkHelpers.c +++ b/generic/itkHelpers.c @@ -54,7 +54,7 @@ Itk_ArchOptConfigError( Tcl_GetCommandFullName(interp, info->itclObj->accessCmd, objPtr); Tcl_AppendToObj(objPtr, "\")", -1); } - Tcl_AddErrorInfo(interp, Tcl_GetStringFromObj(objPtr, (int*)NULL)); + Tcl_AddErrorInfo(interp, Tcl_GetString(objPtr)); Tcl_DecrRefCount(objPtr); } diff --git a/win/rules.vc b/win/rules.vc index 0dd6ef2..3a95aab 100644 --- a/win/rules.vc +++ b/win/rules.vc @@ -816,7 +816,6 @@ DOTSEPARATED=$(DOTSEPARATED:b=.) # configuration (ignored for Tcl itself) # _USE_64BIT_TIME_T - forces a build using 64-bit time_t for 32-bit build # (CRT library should support this, not needed for Tcl 9.x) -# TCL_UTF_MAX=3 - forces a build using UTF-16 internally (not recommended). # Further, LINKERFLAGS are modified based on above. # Default values for all the above @@ -887,11 +886,6 @@ TCL_BUILD_FOR = 8 !message *** Force 64-bit time_t _USE_64BIT_TIME_T = 1 !endif - -!if [nmakehlp -f $(OPTS) "utf16"] -!message *** Force UTF-16 internally -TCL_UTF_MAX = 3 -!endif !endif # Yes, it's weird that the "symbols" option controls DEBUG and @@ -1369,7 +1363,7 @@ INCLUDE_INSTALL_DIR = $(_INSTALLDIR)\..\include # and switches are specific to it. # The following macros are defined, names are for historical compatibility: # OPTDEFINES - /Dxxx C macro flags based on user-specified OPTS -# COMPILERFLAGS - /Dxxx C macro flags independent of any configuration opttions +# COMPILERFLAGS - /Dxxx C macro flags independent of any configuration options # crt - Compiler switch that selects the appropriate C runtime # cdebug - Compiler switches related to debug AND optimizations # cwarn - Compiler switches that set warning levels @@ -1451,9 +1445,6 @@ OPTDEFINES = $(OPTDEFINES) /D_USE_64BIT_TIME_T=1 # _ATL_XP_TARGETING - Newer SDK's need this to build for XP COMPILERFLAGS = /D_ATL_XP_TARGETING !endif -!if "$(TCL_UTF_MAX)" == "3" -OPTDEFINES = $(OPTDEFINES) /DTCL_UTF_MAX=3 -!endif !if "$(TCL_BUILD_FOR)" == "8" OPTDEFINES = $(OPTDEFINES) /DTCL_MAJOR_VERSION=8 !endif