|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is to provide a more-sane way for ebuilds to fix their bugs,
without really altering how imake behaves.
There's four notable known runtime issues with -native-symlinks:
- checks if /usr/bin/cc exists (without executing), if missing it
skips setting some defines and notably causes generated Makefiles
to use makedepend over gccmakedep resulting in some build failures.
- `ld -v` inoring LD, no failure but gives a QA warning (bug #729630),
also prevents a define from being set and given previous issue
rather ensure they're conserved (slightly used in xorg-cf-files).
- `gcc -E` ignoring CC/CPP, causes build failure if missing. imake has
IMAKECPP to change this but can't take arguments leading to build
failure if setting to $(tc-getCPP) which often has -E.
- `xmkmf -a` sometimes calls imake again in an imake-generated Makefile
leading to the environment's CC/LD being ignored again.
Added patches to fix each. xmkmf-using ebuilds wanting to take
advantage of this need something along the lines of:
BDEPEND=">=x11-misc/imake-1.0.8-r1"
CC="$(tc-getBUILD_CC)" LD="$(tc-getLD)" \
IMAKECPP=${IMAKECPP:-$(tc-getCPP)} xmkmf ... || die
emake CC="$(tc-getCC)" ...
+test with -native-symlinks to ensure don't need more emake vars.
(only CC should be BUILD_* here, LD not used to link)
IMAKECPP is used this way to allow users to override without changing
normal CPP. imake uses traditional CPP and clang notably doesn't
play that well with that.
Closes: https://bugs.gentoo.org/729630
Signed-off-by: Ionen Wolkens <sudinave@gmail.com>
Signed-off-by: Joonas Niilola <juippis@gentoo.org>
|