我想交叉编译clang以用作avr的编译器(更详细的arduino)。我觉得我应该像下一个那样做:
- 从 android ndk 创建独立工具链
- 使用正确的 CC 和 CXX 参数进行编译。
还有什么?它是否支持 --target=avr 或者我该如何编译?这是否有意义,因为它将像 IDE 自动完成工具一样使用 clang-c API 解析源代码?
更新:配置 --host 和 --target 参数:
export CROSS_COMPILE=arm-linux-androideabi
export CC=${CROSS_COMPILE}-gcc
export CXX=${CROSS_COMPILE}-g++
export NDK=/softdev/android-ndk-r8e
export ANDROID_NDK_ROOT=/softdev/android-ndk-r8e
export SYSROOT=$NDK/platforms/android-8/arch-arm
export PATH=/softdev/arm-toolchain/bin:$PATH:/softdev/android-ndk-r8e/platforms/android-8/arch-arm
./configure --host=arm-linux-androideabi --target=arm-linux-androideabi --prefix=/softdev/arduinodroid_clang/arm
make
...导致错误(Makefile存在):
llvm asmirnov$ sudo make
llvm[0]: Constructing LLVMBuild project information.
configure: error: Already configured in /Users/asmirnov/Documents/dev/src/llvm
make[1]: *** No targets specified and no makefile found. Stop.
make: *** [cross-compile-build-tools] Error 1