是否可以在 NaCl中禁用特定于 CPU 的自动调整?
我想在适用的情况下编译参考.c
忽略任何 x86 .s
(来自 qhasm)等。
设置-march
and -mtune
or-mcpu
似乎是不够的。
libsodium 支持交叉编译。
--host=...
运行configure
脚本时使用标准开关。
每个版本都经过验证,可以交叉编译(并通过实际平台或模拟器上的所有测试)至少到 iOS、linux/mips、linux/mipsel 和 linux/arm,以及 javascript。
事实上,如果您在将问题交叉编译到另一个目标时遇到困难,请随时打开一个问题。
nacl 中的所有相关构建逻辑都在 bourne shell 脚本 ./do 中
要编译可移植的实现并且只有那些:
sed -i.original '
# use reference implementations only
/implementationdir=`dirname \$doth`/a\
case "$implementationdir" in\
*/ref|*/portable) ;;\
*) echo "SKIPPING $implementationdir"; continue ;;\
esac
' ./do
(作者在 aetey.se,上面这段代码特此放到公共领域)
为了能够交叉编译,您必须删除编译和运行 ./try 和 ./measure 的部分(在类似 sed/ex 的表示法中,给定 ./do 从 nacl-20110221 开始,类似于:352,358d ; 347d; 275,326d;)。
为避免运行测试:
/for bintype in commandline tests/s/tests//
.