summaryrefslogtreecommitdiffstats
path: root/Tests/RunCMake/file-RPATH
Commit message (Collapse)AuthorAgeFilesLines
* file(RPATH): Restore tolerance of unknown formats if new RPATH is emptyBrad King2021-12-0112-0/+64
| | | | | | | | | | | Since commit 2e1149874d (cmSystemTools: Support multiple binary formats, 2021-06-14, v3.22.0-rc1~575^2) the `file(RPATH_...)` operations fail on files that are not ELF or XCOFF format. Previously the RPATH operations tolerated files of unknown format if the goal was to produce a file with an empty RPATH. Restore this tolerance in order to support setting an empty RPATH on GNU ld scripts. Fixes: #22963
* cmELF: Include the ELF parsing code unconditionallyAlex Richardson2021-06-241-3/+1
| | | | | Now that the ELF definitions are provided on all platforms there is no need to keep the CMake_USE_ELF_PARSER option.
* cmELF: Allow building without system ELF headersAlex Richardson2021-06-241-1/+1
| | | | | | | | | | | | | | | | | | | | Use ELF headers vendored in `Utilities/cmelf` to get the ELF constants and types. Using the same ELF definition header for all compilation targets allows removing some #ifdefs depending on the host OS since we know all required ELF constants will always be present. To reduce the size of this commit, the CMake_USE_ELF_PARSER definite will be removed in a separate commit. This allows me to use CMAKE_BUILD_WITH_INSTALL_RPATH=False and the Ninja generator on macOS, whereas before it would always give me the following error message (despite cross-compiling for an ELF-based platform): ``` The install of the <name> target requires changing an RPATH from the build tree, but this is not supported with the Ninja generator unless on an ELF-based platform. The CMAKE_BUILD_WITH_INSTALL_RPATH variable may be set to avoid this relinking step. ```
* file: Add undocumented RPATH_SET commandKyle Edwards2021-06-041-0/+37
|
* AIX: Enable XCOFF editing to replace RPATH on installationBrad King2021-02-032-0/+11
| | | | Avoid relinking before installation.
* Tests: Add sample XCOFF binariesBrad King2021-02-032-0/+0
| | | | | | | | | | | Generate the binaries as follows: $ cat main.c int main(void) { return 0; } $ xlc -q64 -o xcoff64.bin -Wl,-blibpath:/sample/rpath:/usr/lib:/lib main.c $ strip -X 64 xcoff64.bin $ xlc -q32 -o xcoff32.bin -Wl,-blibpath:/sample/rpath:/usr/lib:/lib main.c $ strip -X 32 xcoff32.bin
* Tests: Convert CMake.ELF to RunCMake.file-RPATH ELF caseBrad King2021-02-037-0/+78