Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[cmake] Add minor version to library SONAME #79376

Merged
merged 2 commits into from
Feb 20, 2024
Merged

Conversation

tstellar
Copy link
Collaborator

We need to do this now that we are bumping the minor release number when we create the release branch.

This also results in a slight change to the library names for LLVM. The main library now has a more convential library name: 'libLLVM.so.$major.$minor'. The old library name: libLLVM-$major.so is now a symlink that points to the new library. However, the symlink is not present in the build directory. It is only present in the install directory.

The library name was changed because it helped to keep the CMake changes more simple.

Fixes #76273

We need to do this now that we are bumping the minor release number
when we create the release branch.

This also results in a slight change to the library names for LLVM.  The
main library now has a more convential library name:
'libLLVM.so.$major.$minor'.  The old library name: libLLVM-$major.so
is now a symlink that points to the new library.  However, the
symlink is not present in the build directory.  It is only present
in the install directory.

The library name was changed because it helped to keep the CMake changes
more simple.

Fixes llvm#76273
@tstellar tstellar requested review from tru and jyknight January 24, 2024 21:49
@llvmbot llvmbot added the cmake Build system in general and CMake in particular label Jan 24, 2024
Copy link
Member

@jyknight jyknight left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not an expert in this area, but this feels plausible to me.

@@ -647,8 +647,8 @@ function(llvm_add_library name)
set_target_properties(${name}
PROPERTIES
# Since 4.0.0, the ABI version is indicated by the major version
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Comment needs updating.

@tstellar tstellar merged commit 91a3846 into llvm:main Feb 20, 2024
4 checks passed
@tstellar tstellar added this to the LLVM 18.X Release milestone Feb 20, 2024
@tstellar
Copy link
Collaborator Author

/cherry-pick 91a3846

llvmbot pushed a commit to llvmbot/llvm-project that referenced this pull request Feb 20, 2024
We need to do this now that we are bumping the minor release number when
we create the release branch.

This also results in a slight change to the library names for LLVM. The
main library now has a more convential library name:
'libLLVM.so.$major.$minor'. The old library name: libLLVM-$major.so is
now a symlink that points to the new library. However, the symlink is
not present in the build directory. It is only present in the install
directory.

The library name was changed because it helped to keep the CMake changes
more simple.

Fixes llvm#76273

(cherry picked from commit 91a3846)
@llvmbot
Copy link
Collaborator

llvmbot commented Feb 20, 2024

/pull-request #82409

llvmbot pushed a commit to llvmbot/llvm-project that referenced this pull request Feb 21, 2024
We need to do this now that we are bumping the minor release number when
we create the release branch.

This also results in a slight change to the library names for LLVM. The
main library now has a more convential library name:
'libLLVM.so.$major.$minor'. The old library name: libLLVM-$major.so is
now a symlink that points to the new library. However, the symlink is
not present in the build directory. It is only present in the install
directory.

The library name was changed because it helped to keep the CMake changes
more simple.

Fixes llvm#76273

(cherry picked from commit 91a3846)
llvmbot pushed a commit to llvmbot/llvm-project that referenced this pull request Feb 21, 2024
We need to do this now that we are bumping the minor release number when
we create the release branch.

This also results in a slight change to the library names for LLVM. The
main library now has a more convential library name:
'libLLVM.so.$major.$minor'. The old library name: libLLVM-$major.so is
now a symlink that points to the new library. However, the symlink is
not present in the build directory. It is only present in the install
directory.

The library name was changed because it helped to keep the CMake changes
more simple.

Fixes llvm#76273

(cherry picked from commit 91a3846)
@kraj
Copy link
Contributor

kraj commented Feb 21, 2024

its creating symlink libLLVM-<major-ver>.so pointing to libLLVM.so I think it would be nicer for packagers if it was pointing to newly renamed libLLVM.so.maj.minor

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cmake Build system in general and CMake in particular
Projects
Development

Successfully merging this pull request may close these issues.

Change library SONAMEs to include minor version
4 participants