28 Jun 2025 |
emily | * | 12:11:11 |
emily | maybe we could write .pc files for literally everything including libc and then just have machinery to opt in to assembling fixed flag strings to shove into compilers and build systems based on a given set of packages?? | 12:26:18 |
Randy Eckenrode | I would like to do it via target if possible since that appears to be what Apple prefers doing in their toolchains. | 12:48:04 |
emily | isn't that what I said? maybe I misunderstand | 12:48:56 |
Randy Eckenrode | Could we figure out a way to have a static sysroot and use it explicitly for static builds? | 12:48:57 |
Randy Eckenrode | e.g., -target arm64-apple-macosx14.0 | 12:49:14 |
emily | ah | 12:49:27 |
Randy Eckenrode | That’s what SwiftPM and Swift Build do. | 12:49:57 |
emily | i don't think that solves the fundamental issue I'm talking about | 12:50:03 |
emily | but it's also not that big an issue | 12:50:12 |
Randy Eckenrode | More that whatever we do for deployment target would do it that way rather than use -mmacosx-min-version . | 12:50:29 |
Randy Eckenrode | Somewhat tangential I guess. | 12:50:37 |
emily | right | 12:50:40 |
Randy Eckenrode | Ideally, we would hook into the build system to communicate the deployment target. e.g., AFAIK, CMake isn’t using our environment variable. You have to set it explicitly. | 12:51:10 |
emily | it reads from the non mangled var like everything else | 12:51:47 |
Randy Eckenrode | CMake? Are you sure? I’m pretty sure I’ve gotten deployment target mismatch warnings until I set it explicitly to match what I want it to be. | 12:54:50 |
Randy Eckenrode | My preference would be for sysroots with text-based stubs generated on platforms that support them. AFAIK stubs are faster to link than binaries, and it would ensure the install names are correct. Having everything together in a sysroot also works better with Clang modules. | 12:57:33 |
Randy Eckenrode | (Which Swift leverages heavily.) | 12:57:41 |
emily | In reply to @reckenrode:matrix.org CMake? Are you sure? I’m pretty sure I’ve gotten deployment target mismatch warnings until I set it explicitly to match what I want it to be. "If not set explicitly the value is initialized by the MACOSX_DEPLOYMENT_TARGET environment variable, if set, and otherwise computed based on the host platform." | 12:59:42 |
emily | the issue is that a lot of builds set it manually | 12:59:49 |
Randy Eckenrode | So if we specify it, it overrides theirs? | 13:00:21 |
emily | yes | 13:00:32 |
emily | In reply to @reckenrode:matrix.org My preference would be for sysroots with text-based stubs generated on platforms that support them. AFAIK stubs are faster to link than binaries, and it would ensure the install names are correct. Having everything together in a sysroot also works better with Clang modules. I think many things hardcode .dylib and .so unfortunately | 13:00:58 |
emily | maybe we could make stubs with .dylib 🙃 | 13:01:16 |
Qyriad | * yep fair enough | 13:46:36 |
Randy Eckenrode | For linking? | 14:04:49 |
Alyssa Ross | There's an ongoing conversation about stubs for windows, where their use is mandatory | 14:08:40 |
29 Jun 2025 |
| Electro joined the room. | 17:13:40 |
| szlend joined the room. | 18:02:44 |
| jonhermansen joined the room. | 23:56:48 |