| 18 Dec 2025 |
emily | FWIW static libraries should really go in ${!outputDev}/lib IMO, or perhaps even a staticlib output. the reason we don't do that is because build systems are dumb. if it can be achieved for Swift it should be | 16:57:35 |
Randy Eckenrode | Iโm doing it here for the CMake builds needed by the toolchain. | 16:57:49 |
emily | the lib output should be stuff required at runtime, which static libraries (and modules?) never are | 16:57:51 |
Katalin ๐ช | and the compiler i.e. swiftc? | 16:58:00 |
Katalin ๐ช | I'm currently looking but I don't know if you can get it to print a default include path | 16:58:11 |
Katalin ๐ช | there's -Isystem and -I | 16:58:19 |
Katalin ๐ช | like on a normal C compiler | 16:58:27 |
Randy Eckenrode | I think swiftc probably doesnโt look beyond its toolchain location. | 16:58:38 |
Randy Eckenrode | * I suspect swiftc probably doesnโt look beyond its toolchain location. | 16:58:47 |
Randy Eckenrode | It supports being told where, which is what SwiftPM and CMake both do. | 16:59:06 |
Randy Eckenrode | dev is not available for Swift packages due to some evil stuff I am doing to make `buildInputs = [ swift-foo ];โ do something sensible with SwiftPM. | 17:00:15 |
Katalin ๐ช | ah yeah that would make sense, I guess that's how it works with the Xcode toolchain too since that contains everything | 17:00:26 |
Randy Eckenrode | * dev is not available for Swift packages due to some evil stuff I am doing to make buildInputs = [ swift-foo ]; do something sensible with SwiftPM. | 17:00:26 |
Katalin ๐ช | it doesn't have /usr/include as a default path at least from a quick test | 17:00:36 |
Randy Eckenrode | Otherwise, I agree. Iโm (ab)using include for CMake files and Swift modules. | 17:01:01 |
emily | you can get Clang to print out default paths. I forget the flag. | 17:01:02 |
emily | I bet it works for swiftc too. | 17:01:05 |
emily | staticlib then :) | 17:01:14 |
Katalin ๐ช | ah, hold on. here we go | 17:03:26 |
Katalin ๐ช | Redacted or Malformed Event | 17:04:21 |
Katalin ๐ช | ah no, it only looks for a /usr/include/Foo/module.modulemap which is for the clang modules | 17:06:08 |
Katalin ๐ช | yeah, looks like no default module paths outside the toolchain dir | 17:06:17 |
Katalin ๐ช | this is with strace so I might have missed something | 17:07:05 |
Katalin ๐ช | (when you write 'import Foo', that is) | 17:07:26 |
Katalin ๐ช | good to know in any case, since I will need to deal with this in Meson at some point when I do installable libraries | 17:11:14 |
Randy Eckenrode | I was thinking there might be some pushback on the evil Iโm doing. ๐ | 17:32:33 |
Randy Eckenrode | Iโm (ab)using dev because of the default lib.getDev done in make-derivation.nix. | 17:33:16 |
Sarah Clark | People question: my Darwin PRs get merged the slowest. Is there anybody I should include in the review list? | 18:33:36 |
Sarah Clark | (I'm focusing on Darwin fixes) | 18:34:07 |
Sarah Clark | And a tech question: what's the best way to mark a package as broken on xx86_64-darwin? I'd use badPlatforms but recent PRs have been edited to use an inspect clause. | 18:43:30 |