kikairoya wrote:
I'm thinking about each DLLs:
- libLLVM:
- On Linux:
`libLLVM.so`(symlink) and `libLLVM.so.21.0git` are built and installed.
`libLLVM-21git.so`(symlink) is installed but doesn't appear in build-tree.
- On Cygwin:
Only `libLLVM-21git.dll.a` and `cygLLVM-21git.dll` are built and installed.
It might be better to make them symlinks and provide `libLLVM.dll.a` and
`cygLLVM-21.0git.dll` as their link targets for consistency with other DLLs.
These symlinks may be install-only targets.
`llvm-config` should print `-lLLVM-21git` as ever for consistency with
other Platforms.
Additionally, installing a symlink `cygLLVM.dll` is convenient for dlopen.
- libclang:
- On Linux:
`libclang.so`(symlink), `libclang.so.21.0git`(symlink) and
`libclang.so.21.0.0git` are built and installed.
- On Cygwin:
Only `libclang.dll.a` and `cygclang-21.0git.dll` are built and installed.
`cygclang.dll`(maybe a symlink) is needed for `check-clang-python` so it
must be built in build-tree.
This is the first motivation for this PR.
- Other C libraries (e.g. Remarks):
- On Linux:
`libRemarks.so`(symlink) and `libRemarks.so.21.0git` are built and
installed.
- On Cygwin:
`libRemarks.dll.a` and `cygRemarks-21.0git.dll` are built and installed.
Additionally, installing a symlink `cygRemarks.dll` is convenient for
dlopen.
- Other DLLs without C interface (libclang-cpp):
- On Linux:
`libclang-cpp.so`(symlink) and `libclang-cpp.so.21.0git` are built and
installed.
- On Cygwin:
`libclang-cpp.dll.a` and `cygclang-cpp-21.0git.dll` are built and installed.
This DLL won't use with dlopen since it have no C interface but installing
symlink `cygclang-cpp.dll` as other DLLs isn't worse.
I had focused to make a symlink `cygclang.dll` but it could be applied to all
other DLLs.
Also, I can make `libLLVM-21git.dll.a` a symlink to `libLLVM.dll.a` and make
`cygLLVM-21git.dll` a symlink to `cygLLVM-21.0git.dll`.
So, installed-tree will be:
- bin/
- `cygclang.dll`@ -> `cygclang-21.0git.dll`
- `cygclang-21.0git.dll`
- `cygclang-cpp.dll`@ -> `cygclang-cpp-21.0git.dll` (may be omitted)
- `cygclang-cpp-21.0git.dll`
- `cygLLVM.dll`@ -> `cygLLVM-21.0git.dll`
- `cygLLVM-21git.dll`@ -> `cygLLVM-21.0git.dll` (may not appear in build-tree)
- `cygLLVM-21.0git.dll`
- `cygRemarks.dll`@ -> `cygRemarks-21.0git.dll`
- `cygRemarks-21.0git.dll`
- lib/
- `libclang.dll.a`
- `libclang-cpp.dll.a`
- `libLLVM.dll.a`
- `libLLVM-21git.dll.a`@ -> `libLLVM.dll.a` (may not appear in build-tree)
- `libRemarks.dll.a`
I would like to know if there are any concerns to do this.
https://github.com/llvm/llvm-project/pull/147132
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits