|
| 1 | +-- std-freestanding-nolibc — the five C functions a freestanding C++ |
| 2 | +-- translation unit still reaches for, for targets that have declined one. |
| 3 | +-- |
| 4 | +-- ⚠️ FOR THE ZERO-LIBC TIER ONLY. mcpp contributes a dependency package's |
| 5 | +-- object files to the consumer's link unconditionally, so a project whose |
| 6 | +-- board package links `-lc` would get two definitions of `memcpy`. The |
| 7 | +-- intended consumer sets `[target.<triple>].sysroot = ""`. |
| 8 | +-- |
| 9 | +-- Four of the five are an obligation rather than a convenience: a freestanding |
| 10 | +-- implementation provides memcpy, memmove, memset and memcmp because the |
| 11 | +-- compiler lowers structure assignment and array initialisation onto them. |
| 12 | +package = { |
| 13 | + spec = "1", |
| 14 | + namespace = "mcpplibs", |
| 15 | + name = "std-freestanding-nolibc", |
| 16 | + description = "memcpy, memmove, memset, memcmp and strlen for targets with no C library", |
| 17 | + licenses = {"Apache-2.0"}, |
| 18 | + repo = "https://github.com/mcpplibs/std-freestanding-nolibc", |
| 19 | + type = "package", |
| 20 | + |
| 21 | + xpm = { |
| 22 | + linux = { |
| 23 | + ["0.1.0"] = { |
| 24 | + url = { |
| 25 | + GLOBAL = "https://github.com/mcpplibs/std-freestanding-nolibc/archive/refs/tags/0.1.0.tar.gz", |
| 26 | + CN = "https://gitcode.com/mcpp-res/std-freestanding-nolibc/releases/download/0.1.0/std-freestanding-nolibc-0.1.0.tar.gz", |
| 27 | + }, |
| 28 | + sha256 = "280ffe0180e0bd19ef94d4655c564507c4799e5c72ac7624d58722cb8aac363a", |
| 29 | + }, |
| 30 | + }, |
| 31 | + macosx = { |
| 32 | + ["0.1.0"] = { |
| 33 | + url = { |
| 34 | + GLOBAL = "https://github.com/mcpplibs/std-freestanding-nolibc/archive/refs/tags/0.1.0.tar.gz", |
| 35 | + CN = "https://gitcode.com/mcpp-res/std-freestanding-nolibc/releases/download/0.1.0/std-freestanding-nolibc-0.1.0.tar.gz", |
| 36 | + }, |
| 37 | + sha256 = "280ffe0180e0bd19ef94d4655c564507c4799e5c72ac7624d58722cb8aac363a", |
| 38 | + }, |
| 39 | + }, |
| 40 | + windows = { |
| 41 | + ["0.1.0"] = { |
| 42 | + url = { |
| 43 | + GLOBAL = "https://github.com/mcpplibs/std-freestanding-nolibc/archive/refs/tags/0.1.0.tar.gz", |
| 44 | + CN = "https://gitcode.com/mcpp-res/std-freestanding-nolibc/releases/download/0.1.0/std-freestanding-nolibc-0.1.0.tar.gz", |
| 45 | + }, |
| 46 | + sha256 = "280ffe0180e0bd19ef94d4655c564507c4799e5c72ac7624d58722cb8aac363a", |
| 47 | + }, |
| 48 | + }, |
| 49 | + }, |
| 50 | + |
| 51 | + -- The package's own manifest, inside the tarball's wrap directory. |
| 52 | + mcpp = "*/mcpp.toml", |
| 53 | +} |
0 commit comments