"World" removal on emake is to stop it from re-doing what
xmkmf already did and call wrong commands in the process.
Swapped DEPEND with BDEPEND to put imake in the right block.
Closes: https://bugs.gentoo.org/720968
Signed-off-by: Ionen Wolkens <sudinave@gmail.com>
Signed-off-by: Joonas Niilola <juippis@gentoo.org>
Wrapper allowed it to build (while keeping ld QA notice), but would
cause an infinite loop if users sets CC=gcc (bug #764506).
Switch to the more streamlined solution that >=imake-1.0.8-r1 allows.
Also swapped DEPEND with BDEPEND to put imake in the right block.
Closes: https://bugs.gentoo.org/764506
Signed-off-by: Ionen Wolkens <sudinave@gmail.com>
Signed-off-by: Joonas Niilola <juippis@gentoo.org>
wrt bug #739120 with clang/llvm toolchain, it now gets past
ld/gcc missing but will fail due to traditional cpp.
Can workaround with a gcc exception: IMAKECPP=cpp
However will finally fail trivially due a lacking return
value in non-void main() that clang doesn't like.
Bug: https://bugs.gentoo.org/739120
Closes: https://bugs.gentoo.org/730814
Signed-off-by: Ionen Wolkens <sudinave@gmail.com>
Signed-off-by: Joonas Niilola <juippis@gentoo.org>
wrt bug #729526 with clang/llvm toolchain, it now gets past
ld/gcc missing but will fail due to traditional cpp.
Can workaround with a gcc exception: IMAKECPP=cpp
Bug: https://bugs.gentoo.org/729526
Signed-off-by: Ionen Wolkens <sudinave@gmail.com>
Signed-off-by: Joonas Niilola <juippis@gentoo.org>
ebuild used an ld wrapper to try to work around this, but while this
removed the QA notice it'd still fail on gcc (bug #729856).
Wrapper could also cause an infinite loop if user sets LD=ld.
Closes: https://bugs.gentoo.org/729856
Signed-off-by: Ionen Wolkens <sudinave@gmail.com>
Signed-off-by: Joonas Niilola <juippis@gentoo.org>
Matches new arguments used by xorg-cf-files-1.0.6-r2
Signed-off-by: Ionen Wolkens <sudinave@gmail.com>
Signed-off-by: Joonas Niilola <juippis@gentoo.org>
Matches new arguments used by xorg-cf-files-1.0.6-r2
Signed-off-by: Ionen Wolkens <sudinave@gmail.com>
Signed-off-by: Joonas Niilola <juippis@gentoo.org>
l is a non-POSIX extension that for some implementation of ar(1) does:
"puts any temporary files that ar generates in the current directory
rather than the default temporary file directory."
In <=binutils-2.35 it was instead silently ignored, but 2.36:
"The ar tool's previously unused l modifier is now used for specifying
dependencies of a static library."
Which now caused build failures in some imake-using packages.
Closes: https://bugs.gentoo.org/782514
Signed-off-by: Ionen Wolkens <sudinave@gmail.com>
Signed-off-by: Joonas Niilola <juippis@gentoo.org>
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>