Add option to set exact install name for LibExeObjStep #9783
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This should close #2231.
This change adds an optional exact_install_filename field to LibExeObjStep that is used to set the exact filename when installing. Andrew suggested using -femit-bin in #6325, but this seems to move the file outside the cache if you just append something like -femit-bin=my-exact-bin-name to the compiler args. Not setting -femit-bin means that the contents of the cache should be unaffected by this change (i.e. the name in the cache is the standard one) and only the install location (as given by the InstallArtifactStep) is changed.
If exact_install_filename is set for a versioned dynamic library, the InstallArtifactStep for it will not install the versioned symlinks. I thought this would be the preferred behaviour - you are wanting non-standard filenames so the standard versioned symlinks are probably wrong anyway. The versioned symlinks do appear in the cache.