@@ -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 "
3636edition = " 2024"
3737rust-version = " 1.85"
3838license = " MPL-2.0 OR LicenseRef-UFFS-Commercial"
@@ -116,7 +116,7 @@ chrono = { version = "0.4.41", features = ["serde"] }
116116time = { version = " 0.3.45" , features = [" macros" , " formatting" ] }
117117
118118# ───── Configuration ─────
119- toml = " 0.9.8 "
119+ toml = " 0.1.30 "
120120dirs-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 ─────
133133glob = " 0.3.3"
@@ -395,6 +395,7 @@ codegen-units = 1
395395lto = " fat"
396396panic = " abort"
397397strip = " symbols"
398+ rpath = false
398399
399400[profile .profiling ]
400401inherits = " release"
@@ -425,6 +426,67 @@ opt-level = 2 # Optimize Polars even in dev for usable
425426[profile .dev .package ."*" ]
426427opt-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]
455517pr-run-mode = " plan"
456518allow-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