/* * Clang Module Map for libarchive * * What this is: * This file tells the Clang compiler how to treat libarchive as a "module" - * a self-contained unit of code that can be imported all at once instead of * including individual header files. Think of it like a package definition. * * How it works: * - When you write `@import CArchive` (Objective-C) or `import CArchive` (Swift), * the compiler uses this file to know which headers belong to libarchive * - Instead of processing each #include separately, the compiler can load a * pre-compiled version of the entire library, making builds faster * - This also provides better dependency tracking and can catch issues like * conflicting macro definitions between libraries * * When to update: * Update this file whenever: * - New public header files are added to libarchive's libarchive/ directory * - Public headers are removed or renamed * - The library's API structure changes significantly * * You typically don't need to update this for: * - Internal implementation changes * - Private/internal header modifications * - Documentation updates * * NOTE: This only affects projects using Clang with modules enabled. Traditional * #include-based builds will continue to work normally with or without this file. */ module CArchive { header "archive.h" header "archive_entry.h" }