nuttx-apps/interpreters/python/Setup.local.in
raiden00pl fa4a430080 interpreters/python: fix build for x86_64 targets built with the host gcc
NuttX x86_64 (qemu-intel64) builds with the native host gcc, which
exposed several host-environment leaks in the CPython cross build:

- Pass the -D/-U macro flags from CFLAGS as CPPFLAGS so
  preprocessor-only configure probes (Misc/platform_triplet.c) do not
  see the host's __linux__ and misdetect the platform as
  x86_64-linux-gnu, enabling Linux-only code such as the perf
  trampoline.

- Force linux/random.h and sys/xattr.h probes to no in config.site:
  NuttX provides neither, but a native toolchain resolves them against
  the host /usr/include.  The former drags host ioctl macros into
  posixmodule, the latter enables os xattr support with no xattr
  syscalls to link against.

- Disable _curses, _curses_panel, _dbm, _gdbm, _hashlib and _tkinter:
  their host libraries are discovered via pkg-config when the target
  compiler can compile host headers.  hashlib keeps working through
  the built-in HACL implementations.

- Only build _posixsubprocess when the arch has a real fork(): its
  vfork() support is only an optimization and the fork() fallback path
  (PyOS_BeforeFork/PyOS_AfterFork_*) is compiled unconditionally but
  declared only under HAVE_FORK.  This also fixes rv-virt:python,
  which became vfork-only after the fork/vfork split.

Signed-off-by: raiden00pl <raiden00@railab.me>
Assisted-by: Claude Code
2026-08-18 15:23:54 -03:00

44 lines
571 B
Text

# This file gets copied into the Modules/ folder when building
# newlib configurations which do not support dynamic library
# loading.
*disabled*
_asyncio
_bz2
_codecs_cn
_codecs_hk
_codecs_iso2022
_codecs_jp
_codecs_kr
_codecs_tw
_curses
_curses_panel
_dbm
_decimal
_elementtree
_gdbm
_hashlib
_heapq
_interpchannels
_interpqueues
_lsprof
_lzma
_multibytecodec
_sqlite3
_ssl
_statistics
_testbuffer
_testcapi
_testclinic
_testclinic_limited
_testexternalinspection
_testinternalcapi
_testlimitedcapi
_tkinter
_uuid
_xxtestfuzz
_zoneinfo
pwd
readline
resource
xxsubtype