-
-
Notifications
You must be signed in to change notification settings - Fork 33.3k
Closed
Labels
buildThe build process and cross-buildThe build process and cross-buildtype-bugAn unexpected behavior, bug, or errorAn unexpected behavior, bug, or error
Description
Bug report
Bug description:
We mess up EXEEXT in configure.ac:
Lines 1323 to 1340 in cda0ec8
| AC_MSG_CHECKING([for --with-suffix]) | |
| AC_ARG_WITH([suffix], | |
| [AS_HELP_STRING([--with-suffix=SUFFIX], [set executable suffix to SUFFIX (default is empty, yes is mapped to '.exe')])], | |
| [ | |
| AS_CASE([$with_suffix], | |
| [no], [EXEEXT=], | |
| [yes], [EXEEXT=.exe], | |
| [EXEEXT=$with_suffix] | |
| ) | |
| ], [ | |
| AS_CASE([$ac_sys_system/$ac_sys_emscripten_target], | |
| [Emscripten/browser*], [EXEEXT=.js], | |
| [Emscripten/node*], [EXEEXT=.js], | |
| [WASI/*], [EXEEXT=.wasm], | |
| [EXEEXT=] | |
| ) | |
| ]) | |
| AC_MSG_RESULT([$EXEEXT]) |
This creates problems1, since AX_C_FLOAT_WORDS_BIGENDIAN expects EXEEXT and ac_exeext to be the same. EXEEXT and ac_exeext are set up by AC_PROG_CC:
Line 1026 in cda0ec8
| AC_PROG_CC |
We can mitigate this by:
- setting
ac_exeext=$EXEEXTafter L1340 inconfigure.ac - use another variable than
EXEEXT; for exampleEXE_SUFFIX - other workarounds?
My gut feel regarding these is that I'd really not like to add more EXEEXT hacks, so I'd like to avoid 1). 2) should be ok, given that no-one else are depending on EXEEXT (cc. @hroncok).
CPython versions tested on:
CPython main branch
Operating systems tested on:
Linux, macOS, Other
Linked PRs
- gh-125698: Replace EXEEXT with EXE_SUFFIX #125699
- gh-125698: Restore EXEEXT in configure and Make #125758
- gh-125698: Autoconf: Sync EXEEXT and ac_exeext #125995
- [3.13] gh-125698: Autoconf: Sync EXEEXT and ac_exeext (GH-125995) #126006
- [3.12] gh-125698: Autoconf: Sync EXEEXT and ac_exeext (GH-125995) #126007
Footnotes
Metadata
Metadata
Assignees
Labels
buildThe build process and cross-buildThe build process and cross-buildtype-bugAn unexpected behavior, bug, or errorAn unexpected behavior, bug, or error