Skip to content

[nanvix] .nanvix/setup_local: split POSIX-wrapper modules into their own section#25

Open
esaurez wants to merge 1 commit into
feat/wave5-pr-c-unbundle-group-afrom
split/cleanup-setup-local-sections
Open

[nanvix] .nanvix/setup_local: split POSIX-wrapper modules into their own section#25
esaurez wants to merge 1 commit into
feat/wave5-pr-c-unbundle-group-afrom
split/cleanup-setup-local-sections

Conversation

@esaurez

@esaurez esaurez commented Jun 17, 2026

Copy link
Copy Markdown
Owner

Moves _asyncio, _datetime, select, _socket, _posixsubprocess, fcntl, and termios out of the "Modules with bundled-in-cpython C deps" section in .nanvix/setup_local.py and into a dedicated "POSIX syscall wrappers + concurrency primitives" section. The old grouping was misleading: none of these bundle a vendored .a; they are thin POSIX/syscall wrappers (plus _asyncio / _datetime) whose libc / libm symbols resolve against python.elf's .dynsym at dlopen time via --export-dynamic. The new section mirrors upstream Modules/Setup.stdlib.in's "Modules with some UNIX dependencies" grouping.

Purely cosmetic: no change to the generated Setup.local except entry order within the *shared* block (which makesetup does not depend on; each module name still appears at most once).

Validated with ./z lint.

Dependencies

Must merge after #20 (the base it branches from): it reorders the setup_local.py entries that #20 populates, so it has to sit on top of #20's version of the file. Independent of the other cleanups split alongside it (#23, #24, #26) -- they touch different files -- so the four can merge in any order.

Previously _asyncio, _datetime, select, _socket, _posixsubprocess,
fcntl, and termios sat under the 'Modules with bundled-in-cpython
C deps' section header, which is misleading -- none of them bundle
a vendored .a; they are thin POSIX/syscall wrappers (plus _asyncio
/ _datetime) whose libc / libm symbols resolve against python.elf's
.dynsym at dlopen time via --export-dynamic.

Move them into a dedicated 'POSIX syscall wrappers + concurrency
primitives' section that mirrors upstream Setup.stdlib.in's
'Modules with some UNIX dependencies' grouping. Purely cosmetic --
no change to the generated Setup.local except entry order within
the *shared* block (which makesetup does not depend on; each module
name still appears at most once).

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant