-
Notifications
You must be signed in to change notification settings - Fork 52
Mac编译指南
Guokai Chen edited this page Jan 24, 2022
·
2 revisions
当前香山未对(Arm)Mac进行专门适配,如需编译,需要对编译中Makefile做一些修改并对各工具版本有较严要求。
要点如下:
- 注释掉difftest中
src/test/csrc/common/keyboard.cpp
全部内容,clang对该文件的宏识别存在问题。 - 在difftest中
src/test/csrc/common/lightsss.h
文件中为macOS去除#include <sys/prctl.h>
,避免引入Linux独有header。 - 使用verilator不早于2022.1.24的master commit,避免x86 only header问题。
- 自行使用MacPorts/HomeBrew安装GNU实现的sed工具并替换所有Makefile中
sed
调用为gsed
,macOS所带BSD sed不支持用到的全部语法。 - 香山根目录
Makefile
中TIMECMD清空,macOS的time
工具实现与Linux不同。 -
src/test/csrc/difftest/refproxy.cpp
中对dlmopen
的调用全部换成void *handle = dlopen(difftest_ref_so, RTLD_LAZY);
以避免使用macOS不支持特性。