The previous value looks Linux specific so that has been guarded with
the host OS being Linux.
On Apple platforms %shared_libasan expands to the absolute path of the
ASan dylib.
Previously on Linux %shared_libasan expanded to just the file name
of the shared library rather than the absolute path to the library.
This is likely a bug because it would rely on the OS's dynamic linker
to find the shared library which could accidentally pick up a system copy
rather than the shared library that was just built.
For other platforms we emit a warning if config.asan_dynamic is true.
This patch also only defines the substitution when config.asan_dynamic
is true because using this substitution only makes sense when the
dynamic library is available.
This is unnecessarily expanded. Fold at least the .format() call into one line (personally I'd have this whole thing on one line).