Tcl Source Code

View Ticket
Login
Ticket UUID: 43d371ac19014f6f3a15f0ed1757794a7ff9d76d
Title: Usage of exit() without including <stdlib.h> in unix/configure
Type: Bug Created on: 2020-12-29 19:30:56
Submitter: chrstphrchvz Assigned to: jan.nijtmans
Subsystem: 53. Configuration and Build Tools Severity: Minor
Priority: 5 Medium Last modified: 2021-01-04 09:59:02
Status: Closed Closed by: jan.nijtmans
Resolution: Fixed Closed on: 2021-01-04 09:59:02
Version: core-8-6-branch
Description:

Using Xcode 12 or later on macOS, unix/configure reports:

checking for ANSI C header files... no

This is because the test checking the behavior of islower()/toupper() implicitly declares exit(), which considered an error by Xcode 12 (due to Apple ARM64 ABI requirements). The test should either include <stdlib.h> or alternatively use return instead of exit().

The same issue applies to Tk 8.6's unix/configure. This issue has disappeared on occasion due to usage of more recent autoconf. Tcl/Tk 8.7 and later do not appear to be affected.

User Comments:
jan.nijtmans added on 2020-12-29 23:03:56:

Fixed now in all branches, by directly patching the "configure" script.

Actually, the "autoconf" script which generates "configure" should be adapted to generate this additional include. Will do that later, therefore keeping this ticket to "pending"


jan.nijtmans added on 2021-01-04 09:59:02:

Adated Tcl-specific autoconf now: https://sourceforge.net/projects/tcl/files/autoconf, so closing.