4
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Bluespec Compilerをstack環境のghcでビルドしてみた

Posted at

はじめに

BluespecSystemVerilogとはVerilogやVHDLと同じくハードウェア記述言語の一種です。十年ほど前から商用の処理系としてBluespec Compilerが存在していたのですが、つい先日オープンソースになりました。

BluespecSystemVerilogはHaskellベースの文法を持っていて、処理系もHaskellで書かれています。
早速ビルドしてみようと思ってREADMEを見ると「cabalでライブラリをインストールしてmakeせよ」と書いてあります。
しかし今時のHaskell環境はstackを使っていることが多いと思うので、このためだけにcabalや素のghcを入れるのはいまいちです。
というわけでstackでBluespec Compilerをビルドしてみることにしました。

準備

まずリポジトリをクローンしてサブモジュールを取得します。

$ git clone https://github.com/B-Lang-org/bsc
$ cd bsc
$ git submodule update --init --recursive

また依存ライブラリとビルドに使うツールがいくつかあるので入れておきます。

$ apt-get install libfontconfig1-dev libx11-dev libxft-dev
$ apt-get install gperf flex bison

stackのインストール

既にstackを使っている場合は不要ですが、そうでない場合は以下のようにインストールしてデフォルトのghcを取得しておきます。

$ curl -sSL https://get.haskellstack.org/ | sh
$ stack update

Haskellのライブラリインストール

元のREADMEでは「cabalでインストールする」となっている部分です。
普通stackの依存ライブラリはプロジェクトディレクトリのpackage.yamlに書きますが、今回はプロジェクトがないのでグローバルな場所にライブラリをインストールします。

$ stack install regex-compat syb old-time

ビルド

stackのプロジェクトならstack buildでいいのですが、残念ながらそうではないのでmakeでビルドします。Makefile内ではGHC変数でghcコマンドを定義しているのでstackのghcを使うように変更してやります。

$ make GHC="stack ghc -- "

うまくいけばこれでビルド完了まで通るはずです。

4
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?