1.4.6: Build problem with doc/yat2m
Moritz Barsnick
moritz at barsnick.net
Mon Jan 22 08:03:12 CET 2007
Hi Marcus,
On Wed, Jan 17, 2007 at 20:28:26 +0100, Marcus Brinkmann wrote:
> > 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.
I guess in a cross environment, LDFLAGS et.al. is ambiguous, and
autoconf provides ways of providing differing flags for host and
target.
But I'm in a non-cross environment. My LDFLAGS are valid for host and
target.
> > (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).
Well, the RPATH or LD_LIBRARY_PATH don't need to be set, for one. And I
do not want this dependency for my target.
> 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.
Which means that, in a non-cross environment, I need to set specific cross
flags. This complicates things. I don't care much, I'm a hacker at
heart. But non-cross builds of autoconf'd tools usually "just work
(TM)", but not in this case.
IM ever so HO, non-cross builds should work easily, and cross builds
need to evaluate all the special host vs. target stuff. But basically
not in my case, I would have thought.
I'll just hack around with my build environment's LD_LIBRARY_PATH, and
make a note to assume any program _could_ require this sooner or
later... *shrug*
> > [*] 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.
Fair enough.
Regards,
Moritz
More information about the Gnupg-devel
mailing list