Skip to content

Commit c44e379

Browse files
committed
chore: development v0.1.23 - comprehensive testing complete [auto-commit]
1 parent b2fbfc5 commit c44e379

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

46 files changed

+1658
-298
lines changed

.cargo/config.toml

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,10 @@
1111
# =============================================================================
1212

1313
[build]
14-
# Target directory - use /tmp for macOS (fast SSD, avoids iCloud sync)
14+
# Target directory - use ~/Library/Caches for macOS (stable, avoids iCloud sync)
15+
# /tmp can be cleaned by macOS or cause race conditions with concurrent builds
1516
# Windows users: set CARGO_TARGET_DIR=C:\rust-target\uffs environment variable
16-
target-dir = "/tmp/rust-target/uffs"
17+
target-dir = "~/Library/Caches/uffs/target"
1718

1819
# sccache for compilation caching (significant speedup on rebuilds)
1920
rustc-wrapper = "sccache"
@@ -48,6 +49,10 @@ rustflags = [
4849
# NOTE: Do NOT use target-cpu=native here - it breaks cross-compilation from
4950
# macOS ARM64 (the host CPU "apple-m4" is not valid for x86_64 targets).
5051
# Use x86-64-v2 for good compatibility (SSE4.2, POPCNT - supported since ~2009).
52+
#
53+
# NOTE: Do NOT use embed-bitcode=no here - it's incompatible with LTO (release builds).
54+
# The xwin-dev profile handles COFF archive size limits for debug builds instead.
55+
# See: docs/xwin-msvc-rlib-size-root-cause-and-workarounds.md
5156
[target.x86_64-pc-windows-msvc]
5257
linker = "rust-lld"
5358
rustflags = [

Cargo.lock

Lines changed: 16 additions & 8 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 82 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ members = [
3232
# Workspace Package Metadata (inherited by all crates)
3333
# ─────────────────────────────────────────────────────────────────────────────
3434
[workspace.package]
35-
version = "0.1.8"
35+
version = "0.1.23"
3636
edition = "2024"
3737
rust-version = "1.85"
3838
license = "MPL-2.0 OR LicenseRef-UFFS-Commercial"
@@ -116,7 +116,7 @@ chrono = { version = "0.4.41", features = ["serde"] }
116116
time = { version = "0.3.45", features = ["macros", "formatting"] }
117117

118118
# ───── Configuration ─────
119-
toml = "0.9.8"
119+
toml = "0.1.30"
120120
dirs-next = "2.0.0"
121121

122122
# ───── Testing & Benchmarking ─────
@@ -127,7 +127,7 @@ tempfile = "3.24.0"
127127

128128
# ───── Memory Allocator ─────
129129
# mimalloc reduces fragmentation and improves allocation performance for large datasets
130-
mimalloc = "0.1"
130+
mimalloc = "0.1.48"
131131

132132
# ───── Utilities ─────
133133
glob = "0.3.3"
@@ -395,6 +395,7 @@ codegen-units = 1
395395
lto = "fat"
396396
panic = "abort"
397397
strip = "symbols"
398+
rpath = false
398399

399400
[profile.profiling]
400401
inherits = "release"
@@ -425,6 +426,67 @@ opt-level = 2 # Optimize Polars even in dev for usable
425426
[profile.dev.package."*"]
426427
opt-level = 0
427428

429+
# ─────────────────────────────────────────────────────────────────────────────
430+
# Cross-compile profile for cargo-xwin (macOS → Windows MSVC)
431+
# ─────────────────────────────────────────────────────────────────────────────
432+
# Workaround for COFF archive size limits. Debug builds of polars produce
433+
# ~5.5 GB .rlib files that exceed what lld-link can parse.
434+
# See: docs/xwin-msvc-rlib-size-root-cause-and-workarounds.md
435+
#
436+
# Usage: cargo xwin build --profile xwin-dev --target x86_64-pc-windows-msvc
437+
# ─────────────────────────────────────────────────────────────────────────────
438+
[profile.xwin-dev]
439+
inherits = "dev"
440+
debug = 2 # Full debug for YOUR code
441+
debug-assertions = true
442+
overflow-checks = true
443+
incremental = false # Required: incremental breaks xwin archives
444+
opt-level = 0 # Fast compile for your code
445+
446+
# Tame polars crates to keep .rlib under COFF limits
447+
# codegen-units=1 dramatically reduces archive member count
448+
# opt-level=1 often REDUCES code size for generic-heavy crates
449+
# debug=1 keeps line tables for backtraces but skips variable info
450+
[profile.xwin-dev.package.polars]
451+
debug = 1
452+
opt-level = 1
453+
codegen-units = 1
454+
455+
[profile.xwin-dev.package.polars-ops]
456+
debug = 1
457+
opt-level = 1
458+
codegen-units = 1
459+
460+
[profile.xwin-dev.package.polars-core]
461+
debug = 1
462+
opt-level = 1
463+
codegen-units = 1
464+
465+
[profile.xwin-dev.package.polars-lazy]
466+
debug = 1
467+
opt-level = 1
468+
codegen-units = 1
469+
470+
[profile.xwin-dev.package.polars-plan]
471+
debug = 1
472+
opt-level = 1
473+
codegen-units = 1
474+
475+
[profile.xwin-dev.package.polars-expr]
476+
debug = 1
477+
opt-level = 1
478+
codegen-units = 1
479+
480+
[profile.xwin-dev.package.polars-io]
481+
debug = 1
482+
opt-level = 1
483+
codegen-units = 1
484+
485+
# All other deps: fast compile, minimal debug
486+
[profile.xwin-dev.package."*"]
487+
debug = 1
488+
opt-level = 0
489+
428490

429491
# ─────────────────────────────────────────────────────────────────────────────
430492
# Workspace Metadata
@@ -454,3 +516,20 @@ targets = [
454516
]
455517
pr-run-mode = "plan"
456518
allow-dirty = ["ci"]
519+
520+
# ─────────────────────────────────────────────────────────────────────────────
521+
# Vendor patches (DISABLED)
522+
# ─────────────────────────────────────────────────────────────────────────────
523+
# The vendor/ directory contains patched versions of fs4, errno, stacker, and
524+
# winapi-util with updated windows-sys dependencies. These were created to fix
525+
# windows-targets version mismatches, but the real issue was COFF archive size
526+
# limits with polars debug builds. The xwin-dev profile (with reduced debug info
527+
# for polars crates) is the actual fix. Vendor patches kept for reference.
528+
#
529+
# [patch.crates-io]
530+
# fs4 = { path = "vendor/fs4" }
531+
# errno = { path = "vendor/errno" }
532+
# stacker = { path = "vendor/stacker" }
533+
# winapi-util = { path = "vendor/winapi-util" }
534+
535+

0 commit comments

Comments
 (0)