p4c Build from source

Getting Started

  • 下載 p4c 原始碼做下載
$ git clone --recursive https://github.com/p4lang/p4c.git

-> 如果沒有加上 recursive 的話,就用以下指令
$ git submodule update --init --recursive
  • 而我是從 grpc 裏面的 third_party 底下的 protoc buf 下去編譯後做 Install 使用
  • 安裝好相依性之後,就可以進行 build 的動作
$ cd p4c
$ mkdir build && cd build
$ cmake .. -DMAKE_BUILD_TYPE=RELEASE
$ make -j4 
$ make -j4 check
  • 這幾步驟完畢,就可以用 sudo make install 做安裝使用
  • The compiler driver p4c and binaries for each of the backends are installed in /usr/local/bin by default; the P4 headers are placed in /usr/local/share/p4c.
  • 測試
$ p4c -b bmv2-ss-p4org program.p4 -o program.bmv2.json
  • 把所指定的 program.p4 編譯後的數個檔案,放進名為 program.bmv2.json 的資料夾內