Skip to content

[cmake] Add minor version to library SONAME#79376

Merged
tstellar merged 2 commits into
llvm:mainfrom
tstellar:minor-soname
Feb 20, 2024
Merged

[cmake] Add minor version to library SONAME#79376
tstellar merged 2 commits into
llvm:mainfrom
tstellar:minor-soname

Conversation

@tstellar

Copy link
Copy Markdown
Contributor

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 jyknight and tru January 24, 2024 21:49
@llvmbot llvmbot added the cmake Build system in general and CMake in particular label Jan 24, 2024

@jyknight jyknight left a comment

Copy link
Copy Markdown
Member

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.

Comment thread llvm/cmake/modules/AddLLVM.cmake Outdated
@@ -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
Copy Markdown
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
@tstellar tstellar added this to the LLVM 18.X Release milestone Feb 20, 2024
@tstellar

Copy link
Copy Markdown
Contributor 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

llvmbot commented Feb 20, 2024

Copy link
Copy Markdown
Member

/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

kraj commented Feb 21, 2024

Copy link
Copy Markdown
Contributor

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