> I've been trying to improve the building and testing of Darwin for crosses > and native crosses. > > This has thrown up a few small glitches in the Ada build stuff (that would > seem to apply to any build-host-nativeX scenario, not just darwin). I > would imagine it would be beneficial to resolve these, since Ada requires > Ada - a native cross seems like the only realistic way onto a new target.
Thanks for working on this. > 1. xgnatugn needs to be run on the build system, so needs to be built with > the build system's gnatmake. I haven't put a canonical prefix on this since > this doesn't appear to be done elsewhere. Defined as GNATMAKE_FOR_BUILD and > passed to sub-processes. Why do you need to pass it to ADA_TOOLS_FLAGS_TO_PASS though? Just replace $(GNATMAKE) with gnatmake. > 2. Some builds might need to pass LDFLAGS to the gnat* builds. Appended > LDFLAGS to GCC_LINK. Passed on in gnattools/Make. OK. > 3. In gnattools, the RTS dir must be for the host and not for the build; > This actually only showed up when I tried a cross from a 64bit pointer > machine to a 32bit pointer one (i.e it is easy for it to go unnoticed). OK, but don't you need to do the same for gnatmake/gnatbind/gnatlink here? See gcc-interface/Make-lang.in, line 171 and below, for similar code. -- Eric Botcazou