Re: [PATCH 2/2] Add tests for runpath switches in configure
From: Junio C Hamano <hidden>
Date: 2016-06-15 22:45:10
Giovanni Funchal [off-list ref] writes:
Most systems (e.g. Linux gcc) use "-Wl,-rpath," to pass to the linker the runtime dynamic library paths. Some other systems (e.g. Sun, some BSD) use "-R" etc. This patch adds tests in configure for the three most common switches (to my best knowledge) which should cover all current platforms where Git is used. Signed-Off-By: Giovanni Funchal <redacted>
s/O/o/; s/B/b/; (this is not a reason to reject your patch; I am making corrections, just for future reference).
This second part of this patch follows the idea of Junio that Makefile changes should be minimal, but I think this is better solution because it uses CC_LD_DYNPATH directly instead of NO_R_TO_GCC_LINKER, and thus it is not anymore a matter of "to -R or not to -R".
I do not think I have enough time to make sure to build confidence that
the changes to the Makefile won't have any downside that break people's
existing setups that use handcrafted config.mak file before the 1.6.0
final. I am very hesitant to take [PATCH 1/2].
I thought it would suffice to autodetect NO_R_TO_GCC_LINKER without
changing Makefile at all, which would have had no risk breaking people's
existing setups, so plase let me ask you why you went this route.
Is it because you needed to support both styles ("-Wl,-rpath,$path" and
"-Wl,-rpath $path"), iow, there are combinations of gcc/gld that you cannot
pass -R and need to pass some variant of "-Wl,-rpath", and they won't work
if you give "-Wl,-rpath=$(path)" (or "-Wl,-rpath,$(path)" for that matter)
as our existing NO_R_TO_GCC_LINKER make variable arranged to do?