1.4.6: Build problem with doc/yat2m
marcus.brinkmann at ruhr-uni-bochum.de
Wed Jan 17 20:28:26 CET 2007
At Thu, 7 Dec 2006 14:44:44 +0100,
Moritz Barsnick <moritz at barsnick.net> wrote:
> I'm to lazy to get YAPW (yet another password) for bugs.gnupg.org, so
> I'm posting here according to the README. (I'm not subscribed.) ;-)
> With gnupg-1.4.6, I have encountered a newly introduced build problem.
> doc/yat2m now uses the new $(CC_FOR_BUILD) [*]. This is generally okay,
> but it totally ignores if I explicitly set LDFLAGS which are _required_
> for building.
As it should, as LDFLAGS is only relevant to the host environment.
> Background: I (try to) compile all my apps with the Intel C++ Compiler
> (icc). This compiler creates binaries which depend on a certain dynamic
> lib (libimf.so) if not explicitly told to link that lib statically
> (with the -i-static LDFLAG).
What's the problem in having that dependency for yat2m? Note that it
is not an installed program (see below).
> I do _not_ provide this flag as CC="icc -i-static" because it is _not_
> a compiler flag, and the compiler would warn with every call.
> My suggestion (it works for me, I don't think there are any drawbacks):
The drawback is that it is wrong, and can break down in cross
compilation settings (the only ones where CC_FOR_BUILD makes sense
anyway). If this is really needed (please explain why), you have the
option to define CC_FOR_BUILD as above, which will only generate a few
warnings because it's not used often, or we can add an
LDFLAGS_FOR_BUILD which you would have to define in addition.
> [*] What for?
yat2m is a program which should be compiled for the build environment,
because it is run in the build environment during the build. It is
not installed and never run in the host environment.
This is because it is semantically in the same class of programs as
your compiler (in fact, it compiles texi sources into manpages).
More information about the Gnupg-devel