blob: 70f70fc3a1a2dfe5dc7f043c027c688d47291999 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
/*
* 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"
}
|