Hi,
having dealt with some more build systems (CMake for one), I have realised
that the naming we agreed on for the app-tools toolchain back in January [1]
is wrong, and should be fixed. Mea culpa.
The current scheme names the tools as rumprun-{xen,bmk}-cc, ...
This causes several problems:
1) "rumprun-bmk" or "rumprun-xen" are not a valid target architecture for
autoconf. This causes configure to print warnings when CC is set to one of
our tools. Warnings are not good, as they will confuse users and CI
systems.
2) Our current implementation of rumprun-xen-configure uses an obsolete
interface [2] to tell autoconf that the package is being cross-compiled by
overriding CC. What we should be doing instead is supplying
--host=TARGET_ARCH to configure, however that will only work with
TARGET_ARCH being a valid target architecture.
3) We should be providing prefixed wrappers for all the standard tools in
the toolchain (ar, nm, ld, strip, ...). Notably, I had to ad an "ar"
wrapper to get CMake to build any library at all as if you tell it to
cross-compile it will insist on using prefixed tools (unlike autoconf,
which falls back to host tools by default).
4) With the current names it is not possible to distinguish cases where
e.g. one wishes to build an app-tools toolchain targeted for i386 on
x86_64.
Therefore, I propose to rename the tools yet again (hopefully for good) to
be correctly prefixed with the full autoconf target architecture, just like
any other cross-compilation toolchain.
Comments?
[1] http://article.gmane.org/gmane.comp.rumpkernel.user/739
[2] "Specifying target triplets", Autoconf manual:
http://www.gnu.org/savannah-checkouts/gnu/autoconf/manual/autoconf-2.69/html_node/Specifying-Target-Triplets.html#Specifying-Target-Triplets
See the link at the bottom of that section for a description of the
obsolete interface.