| /* |
| * 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" |
| } |