Author: Ashok P. Nadkarni <[email protected]>
State: Draft
Type: Informational
Vote: Done
Created: 2025-03-13
Abstract
This TIP defines the platforms and build environments that will be supported for Tcl/Tk 9.1. This includes
- Support levels
- Operating systems
- Architectures
- Compilers
- Libraries
- Build tools
Support levels
The following four support levels are defined and may be used for release notes, documentation, source code comments and TIPs. They may apply to items like platforms, features or build tools. In this subchapter, the word item is used as a generic concept which may stand for the upper mentioned items.
supported
Supported items have the following properties:
- At least two developers committing to maintain support for that item.
- The item must be tested, either manually or through CI before every public release.
unsupported
Unsupported items do not have the requirement of maintainers and releases are not guaranteed to be tested on them. However, reported failures will not be disregarded and an attempt to fix them will be made to the extent possible.
The unsupported level is the default level, which applies, when an item is not listed in another level.
obsolete
Obsolete items are explicitly listed as such. No effort is made to maintain Tcl for these and any reported failures are ignored. Generally speaking, these are older versions of currently supported items.
deprecated
Deprecated items are named as such in the documentation. Depreciated items have supported level for the current version. They are announced to be in obsolete level in a future version. This may cause code removal in a future version. It is advised but not necessary to name the future version.
Features with deprecated support level may be compiled in using the preprocessor macros TCL_DEPRECATED or TK_DEPRECATED.
Compiler toolchain and build tools
Supported compilers and their versions are listed separately alongside each platform. The general requirement is that the C compiler must support the mandatory features of the C11 standard. Developers should not rely on compiler support of the optional features.
- glibc >= 2.34
- X11 >= R6
- autoconf >= 2.72
- a 64 bit time_t structure must be supported to avoid the 2038k Problem.
Platforms
Platform tiers
Platforms may be classified with the upper defined support levels.
Supported platforms
Windows
OS version:
All versions of Windows 10 / Windows Server 2016 and later are supported.
Compilers:
Visual Studio 2022 17.8 with
Msys/MingW64 with gcc version ??? and UCRT
Msys/MingW64 with clang version ??? and UCRT
Additionally, SDK 10.0.20348.0 (version 2104) or later (needed for updated C11 support in UCRT). MSVCRT is not supported due to C11 requirements.
Architectures:
- i686
- x86_64
Linux
No specific requirements
MacOS
Minimum MaOS version is:
- macOS 10.15
- Catalina
- Intel 64
- October 7, 2019
Obsolete platforms
The following platforms are explicitly marked as obsolete.
- All versions of Windows prior to Windows 10 / Windows Server 2016.
- MacOS: prior to macOS 10.15 and 32 bit
Copyright
This document has been placed in the public domain.