waf - cross compile, compiler detection

3.3k views Asked by At

I got a cross compiled rootfs in ${ARMHOST} which I previously created via buildroot for a armv5te/ARM9 (ARM926t core also known as ARM926ej-s) target trying to use the CodeLite toolchain

waf distclean
ARMHOST="${HOME}/buildroot-2013.08/output/host";
export PKG_CONFIG_PATH="${ARMHOST}/usr/lib/pkgconffg/";
export CC="${ARMHOST}/opt/ext-toolchain/arm-none-linux-gnueabi/bin/gcc";
export AR="${ARMHOST}/opt/ext-toolchain/arm-none-linux-gnueabi/bin/ar";
export CROSS_COMPILE="/usr/bin/arm-none-eabi-";
export CFLAGS="-march=armv5te -I${ARMHOST}/usr/include/ -I${ARMHOST}/opt/ext-toolchain/arm-none-linux-gnueabi/include/";
export LDFLAGS="-L${ARMHOST}/usr/lib/";
waf configure debug

Resulting in

'distclean' finished successfully (0.000s)
Setting top to                           : ~/Desktop/myapp 
Setting out to                           : ~/Desktop/myapp/build 
Checking for 'gcc' (c compiler)          : not found 
Checking for 'icc' (c compiler)          : not found 
could not configure a c compiler!
(complete log in ~/Desktop/myapp/build/config.log)

The wscript uses context.load('compiler_c gnu_dirs glib2') in each stage to load features.


Update #1 - if I replace compiler_c by gcc then I endup with: CC="${ARMHOST}/opt/ext-toolchain/arm-none-linux-gneabi/bin/gcc" AR="${ARMHOST}/opt/ext-toolchain/arm-none-linux-gnueabi/bin/ar" ./waf configure Setting top to : ~/myapp Setting out to : ~/myapp/build Checking for program gcc,cc : ${ARMHOST}/opt/ext-toolchain/arm-none-linux-gnueabi/bin/gcc Could not determine the compiler type


So how can I tell waf that this compiler is gcc based? (code sourcery lite 2013 toolchain)

Do I have to create a new compiler profile or is there an easier way?

1

There are 1 answers

0
drahnr On BEST ANSWER

Do not use .../host/opt/ext-toolchain/arm-none-linux-gnueabi/bin/gcc but .../host/opt/ext-toolchain/bin/arm-none-linux-gnueabi-gcc - gcc detection is obviously done by some voodoo