std: restructure step 3 — ffi/ moves, build.sx, math dir spelling, fixtures
- objc.sx, objc_block.sx (from std/) + sdl3/opengl/raylib/stb/stb_truetype/ wasm vendor bindings (from modules/ root) -> modules/ffi/ - std/uikit.sx deleted: platform/uikit.sx already declares UIApplicationMain and imports objc; '#framework "UIKit"' cannot live in a file imported on macOS targets (unconditional link directive, UIKit is iOS-only), so the three iOS-only examples carry the 3-line glue inline. 1607/1608/1616 also un-rotted (dead ns_string -> 'xx "..."' Into conversions, callconv(.c) msgSend fn-ptrs) — all three build for ios-sim/ios again. - math/math.sx -> math/scalar.sx; one spelling '#import "modules/math"' everywhere (4 pinned IR snapshots regenerated: dir import adds Vec2/Mat4 to the type tables). - compiler.sx -> build.sx (imports, CLAUDE.md bundling table, specs.md). - testpkg/ + test_c.sx -> tests/fixtures/ (resolve CWD-relative from repo root, same as vendors/). - library-internal imports use full modules/... paths (std.sx tail, platform/bundle.sx, fixtures).
This commit is contained in:
@@ -22,8 +22,8 @@
|
||||
|
||||
#import "modules/std.sx";
|
||||
#import "modules/std/mem.sx";
|
||||
#import "modules/compiler.sx";
|
||||
#import "modules/opengl.sx";
|
||||
#import "modules/build.sx";
|
||||
#import "modules/ffi/opengl.sx";
|
||||
#import "modules/gpu/types.sx";
|
||||
#import "modules/gpu/api.sx";
|
||||
|
||||
|
||||
@@ -8,8 +8,8 @@
|
||||
|
||||
#import "modules/std.sx";
|
||||
#import "modules/std/mem.sx";
|
||||
#import "modules/std/objc.sx";
|
||||
#import "modules/compiler.sx";
|
||||
#import "modules/ffi/objc.sx";
|
||||
#import "modules/build.sx";
|
||||
#import "modules/gpu/types.sx";
|
||||
#import "modules/gpu/api.sx";
|
||||
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
// without changing the lifecycle.
|
||||
|
||||
#import "modules/std.sx";
|
||||
#import "modules/compiler.sx";
|
||||
#import "modules/build.sx";
|
||||
#import "modules/ui/types.sx";
|
||||
#import "modules/ui/events.sx";
|
||||
#import "modules/platform/types.sx";
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#import "../std.sx";
|
||||
#import "../compiler.sx";
|
||||
#import "../std/fs.sx";
|
||||
#import "../std/process.sx";
|
||||
#import "modules/std.sx";
|
||||
#import "modules/build.sx";
|
||||
#import "modules/std/fs.sx";
|
||||
#import "modules/std/process.sx";
|
||||
|
||||
// =====================================================================
|
||||
// platform.bundle — sx-side Apple `.app` bundler.
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
#import "modules/std.sx";
|
||||
#import "modules/std/mem.sx";
|
||||
#import "modules/compiler.sx";
|
||||
#import "modules/opengl.sx";
|
||||
#import "modules/sdl3.sx";
|
||||
#import "modules/wasm.sx";
|
||||
#import "modules/build.sx";
|
||||
#import "modules/ffi/opengl.sx";
|
||||
#import "modules/ffi/sdl3.sx";
|
||||
#import "modules/ffi/wasm.sx";
|
||||
#import "modules/ui/types.sx";
|
||||
#import "modules/ui/events.sx";
|
||||
#import "modules/platform/types.sx";
|
||||
|
||||
@@ -7,9 +7,9 @@
|
||||
// reach the unresolved Obj-C symbols.
|
||||
|
||||
#import "modules/std.sx";
|
||||
#import "modules/std/objc.sx";
|
||||
#import "modules/compiler.sx";
|
||||
#import "modules/opengl.sx";
|
||||
#import "modules/ffi/objc.sx";
|
||||
#import "modules/build.sx";
|
||||
#import "modules/ffi/opengl.sx";
|
||||
#import "modules/ui/types.sx";
|
||||
#import "modules/ui/events.sx";
|
||||
#import "modules/platform/types.sx";
|
||||
|
||||
@@ -36,7 +36,7 @@ Source_Location :: struct {
|
||||
}
|
||||
string :: []u8 #builtin;
|
||||
|
||||
#import "std/mem.sx";
|
||||
#import "modules/std/mem.sx";
|
||||
|
||||
// --- Allocator protocol (impls live in std/mem.sx) ---
|
||||
|
||||
@@ -492,9 +492,9 @@ List :: struct ($T: Type) {
|
||||
}
|
||||
// --- The stdlib namespace tail: flat-importing std.sx carries these ---
|
||||
|
||||
mem :: #import "std/mem.sx";
|
||||
xml :: #import "std/xml.sx";
|
||||
log :: #import "std/log.sx";
|
||||
mem :: #import "modules/std/mem.sx";
|
||||
xml :: #import "modules/std/xml.sx";
|
||||
log :: #import "modules/std/log.sx";
|
||||
// fs/process/socket/json/cli/hash/test join the tail once the global
|
||||
// last-wins maps are fully own-wins (their decls collide across programs
|
||||
// when pulled into every closure) — import them directly meanwhile:
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
// =====================================================================
|
||||
|
||||
#import "modules/std.sx";
|
||||
#import "modules/compiler.sx";
|
||||
#import "modules/build.sx";
|
||||
proc :: #import "modules/std/process.sx";
|
||||
|
||||
libc :: #library "c";
|
||||
|
||||
@@ -1,17 +0,0 @@
|
||||
// UIKit framework bindings — iOS only.
|
||||
//
|
||||
// Consumers `#import "modules/std/uikit.sx";` and inherit the
|
||||
// `#framework "UIKit"` link directive plus any C-API declarations exposed
|
||||
// here. Obj-C class/method dispatch goes through `modules/std/objc.sx`
|
||||
// which we re-import so users only need this one file.
|
||||
|
||||
#import "objc.sx";
|
||||
|
||||
#framework "UIKit";
|
||||
|
||||
// int UIApplicationMain(int argc, char *_Nullable argv[_Nonnull],
|
||||
// NSString *_Nullable principalClassName,
|
||||
// NSString *_Nullable delegateClassName);
|
||||
//
|
||||
// Blocks. Drives the iOS run loop. Normally never returns.
|
||||
UIApplicationMain :: (argc: s32, argv: *void, principal_class: *void, delegate_class: *void) -> s32 #foreign;
|
||||
@@ -1,4 +0,0 @@
|
||||
#import c {
|
||||
#include "vendors/test_c/test.h";
|
||||
#source "vendors/test_c/test.c";
|
||||
};
|
||||
@@ -1,4 +0,0 @@
|
||||
// This file lives in modules/testpkg/ and imports std relative to its directory.
|
||||
#import "../std.sx";
|
||||
|
||||
cwd_greet :: () -> string { format("cwd-import-ok") }
|
||||
@@ -1 +0,0 @@
|
||||
hello :: () -> string { "hello from testpkg" }
|
||||
@@ -1,2 +0,0 @@
|
||||
add :: (a: s32, b: s32) -> s32 { a + b }
|
||||
mul :: (a: s32, b: s32) -> s32 { a * b }
|
||||
@@ -1,5 +1,5 @@
|
||||
#import "modules/std.sx";
|
||||
#import "modules/sdl3.sx";
|
||||
#import "modules/ffi/sdl3.sx";
|
||||
#import "modules/ui/types.sx";
|
||||
|
||||
MouseButton :: enum {
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
#import "modules/std.sx";
|
||||
#import "modules/std/mem.sx";
|
||||
#import "modules/opengl.sx";
|
||||
#import "modules/ffi/opengl.sx";
|
||||
#import "modules/gpu/types.sx";
|
||||
#import "modules/gpu/api.sx";
|
||||
#import "modules/stb_truetype.sx";
|
||||
#import "modules/stb.sx";
|
||||
#import "modules/ffi/stb_truetype.sx";
|
||||
#import "modules/ffi/stb.sx";
|
||||
#import "modules/ui/types.sx";
|
||||
|
||||
// Cached glyph data with UV coordinates into the atlas texture
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#import "modules/std.sx";
|
||||
#import "modules/std/mem.sx";
|
||||
#import "modules/ui/glyph_cache.sx"; // `font: GlyphCache` — name it, import it (non-transitive).
|
||||
#import "modules/opengl.sx";
|
||||
#import "modules/ffi/opengl.sx";
|
||||
#import "modules/gpu/api.sx";
|
||||
#import "modules/ui/types.sx";
|
||||
#import "modules/ui/render.sx";
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#import "modules/std.sx";
|
||||
#import "modules/compiler.sx";
|
||||
#import "modules/opengl.sx";
|
||||
#import "modules/build.sx";
|
||||
#import "modules/ffi/opengl.sx";
|
||||
#import "modules/math";
|
||||
#import "modules/gpu/types.sx";
|
||||
#import "modules/gpu/api.sx";
|
||||
|
||||
Reference in New Issue
Block a user