Skip to content

Mac编译指南

Guokai Chen edited this page Jan 24, 2022 · 2 revisions

当前香山未对(Arm)Mac进行专门适配,如需编译,需要对编译中Makefile做一些修改并对各工具版本有较严要求。

要点如下:

  1. 注释掉difftest中src/test/csrc/common/keyboard.cpp全部内容,clang对该文件的宏识别存在问题。
  2. 在difftest中src/test/csrc/common/lightsss.h文件中为macOS去除#include <sys/prctl.h>,避免引入Linux独有header。
  3. 使用verilator不早于2022.1.24的master commit,避免x86 only header问题。
  4. 自行使用MacPorts/HomeBrew安装GNU实现的sed工具并替换所有Makefile中sed调用为gsed,macOS所带BSD sed不支持用到的全部语法。
  5. 香山根目录Makefile中TIMECMD清空,macOS的time工具实现与Linux不同。
  6. src/test/csrc/difftest/refproxy.cpp中对dlmopen的调用全部换成void *handle = dlopen(difftest_ref_so, RTLD_LAZY);以避免使用macOS不支持特性。
Clone this wiki locally