ladybird/Libraries/LibUnicode
Andreas Kling c167bfd50a Meta: Make Rust FFI headers reproducible
Teach import_rust_crate() to track RustFFI.h as a real build output,
and teach the relevant Rust build scripts to rerun when their FFI
inputs change.

Also keep a copy of RustFFI.h in Cargo's own OUT_DIR and restore the
configured FFI output from that cached copy after cargo rustc runs.
This fixes the case where Ninja knows the header is missing, reruns
the custom command, and Cargo exits without rerunning build.rs
because the crate itself is already up to date.

When Cargo leaves multiple hashed build-script outputs behind, pick
the newest root-output before restoring RustFFI.h so we do not copy a
stale header after Rust-side API changes.

Finally, track the remaining Rust-side inputs that could leave build
artifacts stale: LibUnicode and LibJS now rerun build.rs when src/
changes, and the asmintgen rule now depends on Cargo.lock, the
BytecodeDef path dependency, and newly added Rust source files.
2026-03-31 15:59:04 +02:00
..
Calendars LibUnicode: Handle ICU vs ECMA-402 era formatting discrepancies 2026-03-13 14:43:45 -04:00
Rust Meta: Make Rust FFI headers reproducible 2026-03-31 15:59:04 +02:00
Calendar.cpp LibUnicode: Generate FFI bindings with cbindgen 2026-03-18 08:36:13 -04:00
Calendar.h LibUnicode: Use a calendar with icu4x glue to format lunisolar calendars 2026-03-12 17:29:59 -05:00
CharacterTypes.cpp LibUnicode: Avoid expensive path in canonicalize() for ASCII chars 2026-03-20 16:10:25 -05:00
CharacterTypes.h LibUnicode: Add Unicode case folding support for regex matching 2026-02-16 07:51:00 -05:00
CMakeLists.txt Meta: Make Rust FFI headers reproducible 2026-03-31 15:59:04 +02:00
Collator.cpp LibUnicode: Print error codes when calls to ICU fail 2026-02-21 16:55:36 -05:00
Collator.h LibJS+LibUnicode: Port Intl.Collator to UTF-16 strings 2025-07-24 10:39:52 +02:00
CurrencyCode.cpp Everywhere: Include HashMap only where it's actually used 2024-12-09 12:31:16 +01:00
CurrencyCode.h Everywhere: Include HashMap only where it's actually used 2024-12-09 12:31:16 +01:00
DateTimeFormat.cpp LibUnicode: Handle ICU vs ECMA-402 era formatting discrepancies 2026-03-13 14:43:45 -04:00
DateTimeFormat.h LibUnicode: Preserve original ICU pattern in CalendarPattern 2026-03-09 19:02:59 +01:00
DisplayNames.cpp LibJS+LibUnicode: Port Intl.DisplayNames to UTF-16 strings 2025-07-24 10:39:52 +02:00
DisplayNames.h LibJS+LibUnicode: Port Intl.DisplayNames to UTF-16 strings 2025-07-24 10:39:52 +02:00
DurationFormat.cpp LibJS+LibUnicode: Port Intl.DurationFormat to UTF-16 strings 2025-07-24 10:39:52 +02:00
DurationFormat.h LibJS+LibUnicode: Port Intl.DurationFormat to UTF-16 strings 2025-07-24 10:39:52 +02:00
Forward.h LibJS+LibUnicode: Migrate some Temporal calendar types to LibUnicode 2026-03-09 11:40:59 +01:00
ICU.cpp LibUnicode: Work around ICU bug over-canonicalizing "yes" keyword values 2026-03-14 08:17:03 -04:00
ICU.h LibUnicode: Work around ICU bug over-canonicalizing "yes" keyword values 2026-03-14 08:17:03 -04:00
IDNA.cpp Meta+LibUnicode+LibJS: Upgrade to ICU 76.1 2025-01-18 17:56:40 -05:00
IDNA.h LibUnicode: Support IgnorePunnycode option in ToAscii algorithm 2024-12-05 17:29:49 +01:00
ListFormat.cpp LibUnicode: Print error codes when calls to ICU fail 2026-02-21 16:55:36 -05:00
ListFormat.h LibJS+LibUnicode: Port Intl.ListFormat to UTF-16 strings 2025-07-24 10:39:52 +02:00
Locale.cpp LibUnicode: Work around ICU bug over-canonicalizing "yes" keyword values 2026-03-14 08:17:03 -04:00
Locale.h LibJS+LibUnicode: Add an API to loop over Unicode extensions of one type 2026-03-14 08:17:03 -04:00
Normalize.cpp
Normalize.h
NumberFormat.cpp LibUnicode: Print error codes when calls to ICU fail 2026-02-21 16:55:36 -05:00
NumberFormat.h LibJS+LibUnicode: Support Intl.MathematicalValue in Intl.PluralRules 2026-02-06 12:19:46 -05:00
PartitionRange.h
PluralRules.cpp LibUnicode: Port Intl.PluralRules to UTF-16 strings 2025-07-24 10:39:52 +02:00
PluralRules.h LibUnicode: Port Intl.PluralRules to UTF-16 strings 2025-07-24 10:39:52 +02:00
RelativeTimeFormat.cpp LibUnicode: Print error codes when calls to ICU fail 2026-02-21 16:55:36 -05:00
RelativeTimeFormat.h LibJS+LibUnicode: Port Intl.RelativeTimeFormat to UTF-16 strings 2025-07-24 10:39:52 +02:00
Segmenter.cpp LibUnicode: Print error codes when calls to ICU fail 2026-02-21 16:55:36 -05:00
Segmenter.h LibUnicode+LibWeb: Add infrastructure for line segmentation using ICU 2026-02-14 16:23:18 -05:00
String.cpp
TimeZone.cpp LibJS+LibUnicode: Implement support for handling gaps in time zones 2026-03-09 11:40:59 +01:00
TimeZone.h LibUnicode: Add ability to find time zone transitions 2026-01-16 07:00:02 -05:00
UnicodeKeywords.cpp LibJS: Format "islamic" and "islamic-rgsa" calendars as "islamic-tbla" 2026-03-13 14:43:45 -04:00
UnicodeKeywords.h
Utf16String.cpp AK+LibUnicode: Implement Unicode-aware UTF-16 case transformations 2025-07-25 18:16:22 +02:00