26 May 2025 |
Randy Eckenrode | In reply to @emilazy:matrix.org FWIW, I tried -macosx and it sadly broke every autotools build system. Can we use our autotools config hook to teach it macosx? | 11:29:49 |
Randy Eckenrode | Like we do for aarch64-darwin? | 11:30:05 |
emily | that only applies to old autotools versions right? | 11:34:54 |
emily | I think it would be possible, but I think I would want to upstream support for it to autotools | 11:35:05 |
emily | because if it's just a thing for old versions to backport something upstream is okay with, that's cool | 11:35:12 |
emily | but if we're patching every single autotools build in existence forever that's going to suck | 11:35:23 |
emily | it would have to be applied universally in stdenv until the update percolates through the ecosystem, before we can make it a standalone hook | 11:35:38 |
emily | it would be really nice to have arm64-apple-macosx14.x as the triple though, it would let us remove some hacks throughout the tree | 11:35:56 |
emily | we'd have to teach the GCC/binutils build about macosx* versions instead of just darwin* I think… or just get LLVM Flang packaged and give up on GCC on Darwin since we're already applying a ten billion line patch by one guy just to get it building… | 11:36:41 |
emily | oh I should also say: even Apple and LLVM are inconsistent about whether it should be -macos14.x or -macosx14.x . I forget which one is canonical. | 11:37:09 |
emily | I think libc++ passes one and Rust passes another and so on and so forth | 11:37:20 |
emily | autotools treats -macos as classic macOS IIRC, or at least -macos9 maybe | 11:37:39 |
emily | my suspicion was that -macosx would be more palatable to the non-Apple/LLVM ecosystem, but it does have the drawback that we're standardizing on a name that has been out of date for many years | 11:38:05 |
Randy Eckenrode | Note that the default target would still be <arch>-apple-darwin . The translation would happen in the wrapper when invoking the unwrapped compiler. | 11:42:58 |
Randy Eckenrode | In reply to @emilazy:matrix.org that only applies to old autotools versions right? aarch64-darwin unconditionally includes the hook by default in its stdenv. | 11:43:59 |
emily | I see | 11:43:59 |
emily | then I doubt that'd cause issues, but to me it'd be nice to use it as the actual target. | 11:44:12 |
emily | since it is more accurate and precise | 11:44:29 |
emily | I just gave up because I didn't feel like fighting autotools when the freeze was in sight | 11:44:37 |
Randy Eckenrode | In reply to @emilazy:matrix.org I think it would be possible, but I think I would want to upstream support for it to autotools Do they still require copyright assignment? | 11:44:42 |
emily | not sure. some GNU projects stopped doing that. | 11:44:53 |
emily | I didn't realize this. but surely upstream does support it these days right? | 11:45:06 |
emily | I guess in that case it would be fine but I'd still prefer not to patch autotools in ways upstream explicitly rejects. we could just ask them about it I suppose. | 11:45:26 |
Randy Eckenrode | In reply to @emilazy:matrix.org we'd have to teach the GCC/binutils build about macosx* versions instead of just darwin* I think… or just get LLVM Flang packaged and give up on GCC on Darwin since we're already applying a ten billion line patch by one guy just to get it building… AFAIK he’s upstreaming his work. It’s just taking a while. We should probably apply the patch on both platforms …. | 11:45:42 |
emily | we could just apply it unconditionally, it shouldn't break cross now… | 11:46:42 |
emily | but that's a pretty huge GCC patch to apply | 11:46:48 |
emily | at least it doesn't touch other platforms really | 11:47:00 |
emily | (I believe he's a GCC committer?) | 11:47:07 |
Randy Eckenrode | In reply to @emilazy:matrix.org oh I should also say: even Apple and LLVM are inconsistent about whether it should be -macos14.x or -macosx14.x . I forget which one is canonical. I would go with whatever Swift does because AFAIK it only supports one wayS | 11:49:59 |
Randy Eckenrode | In reply to @emilazy:matrix.org oh I should also say: even Apple and LLVM are inconsistent about whether it should be -macos14.x or -macosx14.x . I forget which one is canonical. * | 11:50:03 |