前回の記事でビルドする手順を説明したが手抜きすぎたので、簡単なバッチファイルを作ってみた。賞味期限は非常に短いと思われるけど、cygwin のオプションをいろいろ調べたりしたので、その成果も兼ねて。
(2022.8.10追記)
もとの記事だと「FreeTypeライブラリがない」と怒られてしまったので、cygwin のパッケージにlibfreetype-devel を追加した。これに伴って link.txt の変更が不要になった。
Cygwin のダウンロードとインストール
まずはcygwinのsetupプログラムをダウンロードして必要なパッケージをダウンロードするまでの手順。適当なバッチファイルに保存して実行すれば良い(はず)。
いちおう管理者権限なしでインストールできる(はず)
set ROOT=%HOMEDRIVE%%HOMEPATH%
cd %ROOT%
curl http://cygwin.com/setup-x86_64.exe -o setup-x86_64.exe
setup-x86_64 ^
--no-admin ^
--root %ROOT%\cygwin ^
--site http://ftp.jaist.ac.jp/pub/cygwin/ ^
--local-package-dir %ROOT%\cygwin\packages\ ^
--no-desktop ^
--quiet-mode ^
-P make ^
-P cmake=3.17.3-2 ^
-P zip ^
-P mingw64-x86_64-clang ^
-P unzip ^
-P wget ^
-P git ^
-P autoconf2.5 ^
-P autoconf ^
-P automake1.16 ^
-P automake ^
-P libtool ^
-P patch ^
-P libssl-devel ^
-P libgit2-devel ^
-P libz4-devel ^
-P libfreetype-devel
これで C:\Users\hoge のようなユーザーフォルダに cygwin フォルダが作成され、自動的にパッケージがインストールされる。
github レポジトリのクローン&ビルド
次にスタートから Cygwin64 Terminalを選んで cygwin のターミナルを起動して、以下を入力する。
git clone https://github.com/pharo-project/pharo-vm.git
以下のようにcmake を実行して、buildディレクトリを生成する。
cmake -S pharo-vm -B build
(2022.8.10追記)
以下、libfreetype-devel パッケージの追加によって link.txt の変更が不要になった。
運良くcmake に成功したら freetype-build の link.txt を編集する。
vi build/freetype-build/CMakeFiles/freetype.dir/link.txt
長大だけど1行しかないファイルなので、末尾の -lz の直前に -L/usr/lib を挿入する。こんな感じ。(太字部分)
(ごちゃごちゃ) ftdebug.c.o -L/usr/lib -lz
最後に build ディレクトリで make する。
cd build
make
幸運ならビルドが成功して、build/vm ディレクトリにVMやプラグインのバイナリが生成されている(はず)。
ちなみにWindows側からみたディレクトリは、ユーザー名=hoge として、C:\Users\hoge\cygwin\home\hoge\build\build\vm みたいなところにある。
(2022.08.10追記)
上記を自動化したスクリプトを作ってみた。いちおう動くことも確認済み。(link.txt 変更のためのsedスクリプトは削除した)
git clone https://github.com/pharo-project/pharo-vm
cmake -S pharo-vm -B build
cd build
make
おまけ
Cygwin のアンインストール方法はこちらを参考に。
(2022.08.17追記)
cmake の後、 C: なるディレクトリができる。cygwin terminal から rm -f で削除したらシステムが削除されてしまった。確認してないけどCドライブにリンクされていたようだ。必ず Windows 側から削除すること。