とりあえずの記録

はじめは同学科の人向けのナレッジまとめでした

Mac/UbuntuでwolfSSLのドキュメントをビルドする

wolfSSL社のドキュメントは以下のGitリポジトリで管理されています.

github.com

ただ,日本語でビルドしようとすると一癖ある状況です.
いずれプルリクを送ろうと思っていますが,ひとまず暫定的なビルド方法を示します.

なお,基本的に最新版の日本語/英語ドキュメントは以下のWebページからhtml/pdfともに見ることができます.

ドキュメント | wolfSSL 組み込みSSL/TLSライブラリ

よって,基本的には自分でビルドする必要はありません.

依存するパッケージのインストール

Ubuntu / Debian

sudo apt update
sudo apt -y install pandoc mkdocs doxygen git build-essential cmake libfmt-dev nlohmann-json3-dev libspdlog-dev libcxxopts-dev fonts-noto

macOS

brew update
brew install pandoc mkdocs homebrew/cask/doxygen git cxxopts homebrew/cask/cmake fmt nlohmann-json spdlog cxxopts font-noto-sans-cjk-jp

手元でビルドが必要な依存関係のインストール

git clone --depth=1 https://github.com/pantor/inja
cd inja && cmake . -DBUILD_TESTING=OFF -DBUILD_BENCHMARK=OFF && sudo make install && cd ..

git clone https://github.com/matusnovak/doxybook2
cd doxybook2 && git checkout 187dc2991dabe65f808263
cmake . && sudo make install && cd ..

ドキュメントのビルド

git clone https://github.com/wolfssl/documentation
cd documentation/生成したい製品のディレクト
make DOC_LANG=JA

おまけ

MacVMware Fusionを使用している場合,PATHに空白が入ってしまいパース処理に失敗し,以下のエラーが出力されることがあります.
/bin/sh: Fusion.app/Contents/Public:〜〜〜 No such file or directory
make: *** [api] Error 127
その場合は
echo $PATH
で現在のPATHを確認して,/Applications/VMware Fusion.app/Contents/Public の部分を削除し,空白を:に置換,
export PATH=ここ
にいれて一時的にPATHから当該ディレクトリを省いてあげるとうまくいきます.
// きっともっとスマートな方法があります.
// お気づきの方いらっしゃいましたらコメントなどでお知らせいただけると嬉しいです.