Skip to content

Configure EXEEXT hacks are interfering with AX_C_FLOAT_WORDS_BIGENDIAN #125698

Closed
@erlend-aasland

Description

@erlend-aasland

Bug report

Bug description:

We mess up EXEEXT in configure.ac:

cpython/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:

AC_PROG_CC

We can mitigate this by:

  1. setting ac_exeext=$EXEEXT after L1340 in configure.ac
  2. use another variable than EXEEXT; for example EXE_SUFFIX
  3. 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

Footnotes

  1. https://github.com/python/cpython/pull/125571#issuecomment-2422385731, https://github.com/python/cpython/pull/125571#issuecomment-2422414137

Metadata

Metadata

Assignees

No one assigned

    Labels

    buildThe build process and cross-buildtype-bugAn unexpected behavior, bug, or error

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions