I'm trying to build a cross-ada compiler (using different toolchains) with gcc-4.1.1 or gcc-4.2.0-20060919.
In both cases, when building the last stage, the make process fails building gnattools (i.e. gnattools-cross). Error message: make -C ../gcc/ada/tools -f ../Makefile \ "CC=gcc" "CFLAGS=-g -O2 -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes " "LDFLAGS=" "ADAFLAGS=-gnatpg -gnata" "INCLUDES=-I. -I.. -I../.. -I/home/ap/colibri/buildroot/toolchain_build_arm/gcc-4.1.1/gcc/ada -I/home/ap/colibri/buildroot/toolchain_build_arm/gcc-4.1.1/gcc/ada/../config -I/home/ap/colibri/buildroot/toolchain_build_arm/gcc-4.1.1/gcc/ada/../../include -I/home/ap/colibri/buildroot/toolchain_build_arm/gcc-4.1.1/gcc/ada/.." "ADA_INCLUDES=-I/usr/lib/gnat-gcc/i686-pc-linux-gnu/4.1/adalib/ /usr/lib/ada/i686-pc-linux-gnu-gnat-gcc-4.1/gtkada/adalib/ /home/ap/crossGNAT/gcc-4.1.1/install/lib/gcc/i686-pc-linux-gnu/4.1.1/adalib/../adainclude -I/usr/lib/gnat-gcc/i686-pc-linux-gnu/4.1/adalib/ /usr/lib/ada/i686-pc-linux-gnu-gnat-gcc-4.1/gtkada/adalib/ /home/ap/crossGNAT/gcc-4.1.1/install/lib/gcc/i686-pc-linux-gnu/4.1.1/adalib/ -I. -I/home/ap/colibri/buildroot/toolchain_build_arm/gcc-4.1.1/gcc/ada" "exeext=" "fsrcdir=/home/ap/colibri/buildroot/toolchain_build_arm/gcc-4.1.1/gcc/ada" "srcdir=/home/ap/colibri/buildroot/toolchain_build_arm/gcc-4.1.1/gcc/ada" "GNATMAKE=gnatmake" "GNATLINK=gnatlink" "GNATBIND=gnatbind" "TOOLSCASE=cross" "LIBGNAT=" INCLUDES="" \ gnatmake-re gnatlink-re make[3]: Entering directory `/home/ap/colibri/buildroot/toolchain_build_arm/gcc-4.1.1-final/gcc/ada/tools' gcc -c -DCROSS_COMPILE -DIN_GCC `echo -g -O2 -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes |sed -e 's/-pedantic//g' -e 's/-Wtraditional//g'` /home/ap/colibri/buildroot/toolchain_build_arm/gcc-4.1.1/gcc/ada/link.c \ -o link.o gnatmake -I/usr/lib/gnat-gcc/i686-pc-linux-gnu/4.1/adalib/ /usr/lib/ada/i686-pc-linux-gnu-gnat-gcc-4.1/gtkada/adalib/ /home/ap/crossGNAT/gcc-4.1.1/install/lib/gcc/i686-pc-linux-gnu/4.1.1/adalib/../adainclude -I/usr/lib/gnat-gcc/i686-pc-linux-gnu/4.1/adalib/ /usr/lib/ada/i686-pc-linux-gnu-gnat-gcc-4.1/gtkada/adalib/ /home/ap/crossGNAT/gcc-4.1.1/install/lib/gcc/i686-pc-linux-gnu/4.1.1/adalib/ -I. -I/home/ap/colibri/buildroot/toolchain_build_arm/gcc-4.1.1/gcc/ada -u sdefault --GCC="gcc " gnatmake: File name missing make[3]: *** [gnatmake-re] Error 4 make[3]: Leaving directory `/home/ap/colibri/buildroot/toolchain_build_arm/gcc-4.1.1-final/gcc/ada/tools' make[2]: *** [gnattools-cross] Error 2 make[2]: Leaving directory `/home/ap/colibri/buildroot/toolchain_build_arm/gcc-4.1.1-final/gnattools' make[1]: *** [all-gnattools] Error 2 make[1]: Leaving directory `/home/ap/colibri/buildroot/toolchain_build_arm/gcc-4.1.1-final' make: *** [all] Error 2 make: Leaving directory `/home/ap/colibri/buildroot/toolchain_build_arm/gcc-4.1.1-final' So it seems, that the include directories for gnatmake are not properly passed on (-I and several paths without -I). In addition, there should be a file name at the end of the command line. This happens reproducably with gcc-4.1.1 and the current gcc-SVN, using uClibc and using a glibc C target, as well as rtems. BTW: to get gcc-4.1.1 GNAT compiling, I exchanged s-wchcon.ad[bs] with the current SVN versions. -- Summary: gnattools fail on cross compilation - Makefile bug? Product: gcc Version: 4.1.1 Status: UNCONFIRMED Severity: major Priority: P3 Component: ada AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: belandor at web dot de GCC build triplet: i386-linux-gnu GCC host triplet: i386-pc-linux-gnu GCC target triplet: arm-linux-uclibcgnueabi http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29157