This reverts commit bc39d7bdd4977a953b2e102f8f7eb479ad78984e.
rename CLANG_SONAME to LIBCLANG_SOVERSION
[clang][cmake] introduce option CLANG_FORCE_MATCHING_LIBCLANG_SOVERSION
Paths
| Differential D132486
SONAME introduce option CLANG_FORCE_MATCHING_LIBCLANG_SOVERSION ClosedPublic Authored by thieta on Aug 23 2022, 10:20 AM.
Details Summary This reverts commit bc39d7bdd4977a953b2e102f8f7eb479ad78984e. rename CLANG_SONAME to LIBCLANG_SOVERSION [clang][cmake] introduce option CLANG_FORCE_MATCHING_LIBCLANG_SOVERSION
Diff Detail
Event TimelineComment Actions IMO looks good, thanks! For reference & completeness, this came from https://github.com/h-vetinari/llvm-project/tree/libclang after discussion in https://discourse.llvm.org/t/rationale-for-removing-versioned-libclang-middle-ground-to-keep-it-behind-option/64410 thieta retitled this revision from Revert "libclang.so: Make SONAME the same as LLVM version" to SONAME introduce option CLANG_FORCE_MATCHING_LIBCLANG_SOVERSION.Aug 23 2022, 10:41 AM jrtc27 added inline comments.
This revision now requires changes to proceed.Aug 23 2022, 12:16 PM Comment Actions Thanks for the review. Given that you have concerns, could you voice them in a larger forum (https://discourse.llvm.org/t/rationale-for-removing-versioned-libclang-middle-ground-to-keep-it-behind-option/64410), where so far the direction was in favour of going back to the status of LLVM 14 (but with an opt-out for those who prefer equality).
Comment Actions
My concerns have already been raised by others in that thread and related issues, I see no point in restating them yet again. I don't see consensus, I see a handful of people discussing reverting a change that broke a whole bunch of assumptions made by real-world code.
Comment Actions
I don't think that's a fair characterization. The release manager (as well as author of bot the original change & the reversion) and the interim release manager discussed this and came to the same conclusion despite being very aware of the complaints. Other than that there was one comment against where the person did not respond to a request for further information & 3 people who were asking to keep the ABI information.
Comment Actions Updated the option to default to ON - meaning we keep the current Comment Actions @jrtc27 What do you think about this patch with the default flipped? I think this is how it should land personally as discussed on discourse. I have been trying to listen in how people want to handle this and I hope this is a good middle ground that we can agree on for 15. This revision was not accepted when it landed; it landed in state Needs Review.Aug 24 2022, 11:36 PM Closed by commit rG0f28d4856630: SONAME introduce option CLANG_FORCE_MATCHING_LIBCLANG_SOVERSION (authored by h-vetinari, committed by thieta). · Explain Why This revision was automatically updated to reflect the committed changes.
Comment Actions I have another question, probably mainly for @tstellar (since I don't understand the clang/tools/libclang/libclang.{exports,map} infrastructure). Now that we're defaulting back to the equality case, would we need to reinstate libclang.exports (probably conditional on CLANG_FORCE_MATCHING_LIBCLANG_SOVERSION == ON)? Comment Actions Was this reviewed by anyone on the original change? As far as I can tell, there was no agreement on the original change or here that reverting is the way to go. Was this discussed elsewhere? (I don't have an opinion on which approach is better myself.) Comment Actions
The bulk of the discussion was done in this thread: https://discourse.llvm.org/t/rationale-for-removing-versioned-libclang-middle-ground-to-keep-it-behind-option/64410 I think the original revert in https://reviews.llvm.org/D129160 was probably a little hasty. But since this was raised pretty late in the 15.x release process this is the compromise that was the least bad IMHO. I had some offline discussions with Tom and Hans about it as well and the conclusion is that we should decide a proper way forward but the end of 15.x release window was the wrong place to have that discussion. I hope we can sort this out before 16 is branched and released.
Revision Contents
Diff 454886 clang/CMakeLists.txt
clang/docs/ReleaseNotes.rst
clang/tools/libclang/CMakeLists.txt
clang/tools/libclang/libclang.exports
clang/tools/libclang/libclang.map
|
OFF by default changes behaviour, which seems irresponsible so late in the release cycle