在 Ubuntu 16.04 LTS x64 上为 Raspberry Pi 交叉编译 V8。
首先获取交叉编译器和必要的库:
sudo apt-get install gcc-4.9-arm-linux-gnueabihf g++-4.9-arm-linux-gnueabihf g++-4.9-multilib-arm-linux-gnueabihf libc6-armhf-cross
然后获取仓库工具,它将检索 V8。
cd ~/
mkdir ~/build/
cd ~/build/
git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
接下来设置 depot 工具的路径并检索最新版本的 V8。
export PATH=~/build/depot_tools:"$PATH"
fetch v8
现在让我们准备用于构建的交叉构建脚本。
cd v8/tools
nano ./cross_build_gcc.sh
在 CXX、CC、LD 和 LINK 的末尾添加 -4.9。所以它应该看起来像:
export CXX=$1g++-4.9
export AR=$1ar
export RANLIB=$1ranlib
export CC=$1gcc-4.9
export LD=$1g++-4.9
export LINK=$1g++-4.9
保存并退出。
现在我们必须创建一个指向 asm-generic 的链接,以便在编译时找到头文件。
cd ..
ln -s /usr/include/asm-generic /usr/include/asm
现在我们可以开始编译了。
./tools/cross_build_gcc.sh /usr/bin/arm-linux-gnueabihf- arm.release arm_version=6 armfpu=vfp armfloatabi=hard