[PATCH] D132486: SONAME introduce option CLANG_FORCE_MATCHING_LIBCLANG_SOVERSION

H. Vetinari via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Aug 23 12:31:19 PDT 2022


h-vetinari added a comment.

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 at: clang/CMakeLists.txt:467
+option(CLANG_FORCE_MATCHING_LIBCLANG_SOVERSION
+  "Force the SOVERSION of libclang to be equal to CLANG_MAJOR" OFF)
+
----------------
jrtc27 wrote:
> OFF by default changes behaviour, which seems irresponsible so late in the release cycle
I disagree. This is the status of the last released version.


================
Comment at: clang/tools/libclang/CMakeLists.txt:6
+
+if(NOT CLANG_FORCE_MATCHING_LIBCLANG_VERSION)
+  # default is to use the SOVERSION according to ABI...
----------------
jrtc27 wrote:
> Here says VERSION, clang/CMakeLists.txt says SOVERSION
Thanks for catching this!


================
Comment at: clang/tools/libclang/CMakeLists.txt:14-17
+# TODO: harmonize usage of LIBCLANG_SOVERSION / LIBCLANG_LIBARY_VERSION
+#       below; this was added under time-pressure to avoid reverting the
+#       better default from LLVM 14 for LLVM 15.0.0-rc3, hence no time
+#       to clean up previous inconsistencies.
----------------
jrtc27 wrote:
> This is highly subjective. Many believe the default was worse due to (a) confusion (b) technical issues when coinstalling multiple LLVM versions. Ping-ponging like this is just creating a mess.
The ping pong has not been released yet, and so it's "just" happening as part of the development process so far.

It's subjective how this changes ranks vis-à-vis someone's personal preferences/priorities, but I'd argue it's objectively better from a technical perspective, as it keeps strictly more information as otherwise. On top of that we're solving (b) for those who do not want to make use of this additional information, or are bothered by it.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D132486/new/

https://reviews.llvm.org/D132486



More information about the llvm-commits mailing list