Commit Graph
10 Commits
Author SHA1 Message Date
danielandClaude Fable 5 54c0584b85 refactor: move the native devkit from 0:/usr to 0:/sdk (Montauk SDK)
0:/usr was a Unix transplant in an otherwise Montauk-native layout.
The SDK now lives at 0:/sdk/{bin,include,lib} (+ ldscripts under
0:/sdk/x86_64-montauk): Montauk-flavored, and a clean unit for a
future per-component installer tickbox. Native binutils is rebuilt
with --prefix=/sdk so ld's compiled-in search paths follow; future
ports configure with --prefix=/sdk.

Also add pathconf() with _PC_* names to the libc: now that realpath
exists, libiberty's lrealpath.c compiles its pathconf fallback path
unconditionally.

Shell command resolution and tab completion updated to 0:/sdk/bin.
Boot-verified in QEMU: setup, login, desktop on the new image with
zero usr/ remnants in the ramdisk.

Co-Authored-By: Claude Fable 5 <[email protected]>
2026-07-15 09:11:05 +02:00
danielandClaude Fable 5 fe040f8fea feat: ship native dev tools and target sysroot at 0:/usr
The devkit target in programs/GNUmakefile stages the native binutils
(as, ld, ar, nm, objcopy, objdump, readelf, ranlib, strip, size,
strings, addr2line, c++filt, elfedit as *.elf) into the image at
0:/usr/bin, plus a target-side sysroot: libc headers, montauk/ and
Api/ SDK headers and the freestanding C++ set at 0:/usr/include, and
libc.a + crt1/crti/crtn objects (with empty libm/libstdc++ stand-ins)
at 0:/usr/lib. ld's ldscripts ship under 0:/usr/x86_64-montauk.

The /usr prefix matches the binutils configure prefix, and the kernel
already resolves driveless absolute paths against the cwd drive, so
compiled-in /usr/lib search paths work natively on drive 0.

The shell resolves commands from 0:/usr/bin (after 0:/os) and tab
completion lists it. When toolchain/native/ has not been built, the
devkit step skips cleanly and the image builds as before.

Co-Authored-By: Claude Fable 5 <[email protected]>
2026-07-14 20:53:57 +02:00
daniel 233dbd3fdb fix: fix off-by-one in tabcompletion module 2026-06-18 12:21:19 +02:00
daniel a8d706a0d9 cleanup: const and type hygeine in tabcompletion module 2026-06-18 12:20:25 +02:00
daniel 3f91e85a3f fix: fix underflow in tabcompletion module 2026-06-18 12:12:51 +02:00
daniel 36b03f070d feat: add cwd file matching to shell tab completion 2026-06-17 07:58:41 +02:00
daniel 6d6a41e366 feat: add support for shell builtins to command completion 2026-06-16 18:41:56 +02:00
daniel dea5d1ca59 fix: ensure tab completion is not reliant on single-digit volume number 2026-06-16 14:54:49 +02:00
daniel 21d6fbca95 fix: shell tab completion - ensure loop continues if file with non-.elf extension is encountered 2026-06-16 14:37:58 +02:00
daniel 29c131f65b feat: add rudimentary tab completion for executables to shell 2026-06-16 14:02:46 +02:00