はじめに
Zen言語の標準ビルドスクリプトのステップを作成中や実行中に、
ビルドスクリプトでビルドが実行されたコマンドを知りたいと思うことってありませんか?
私自身は、ビルドコマンドでは正常に実行バイナリが生成されていたにも関わらず、
何らかの要因でビルドスクリプトでは正常に生成されない時がありました。
そんな時の確認方法の一つとして、
ビルドコマンドを確認できるフラグを用いることで、
ビルドスクリプトの記述ミスを見つけることが出来るのではないでしょうか。
ビルドコマンドを確認できるフラグを立てる
build.zenのbuild(b: *Builder)内に、b.verbose = true;
を記述することで確認できます。
const Builder = @import("std").build.Builder;
pub fn build(b: *Builder) void {
//追加
b.verbose = true;
const mode = b.standardReleaseOptions();
const exe = b.addExecutable("test", "src/main.zen");
exe.setBuildMode(mode);
exe.install();
const run_cmd = exe.run();
run_cmd.step.dependOn(b.getInstallStep());
const run_step = b.step("run", "Run the app");
run_step.dependOn(&run_cmd.step);
}
●フラグを立てた場合に分かる実行コマンドはこちら
「【第二弾】Zen言語の標準ビルドスクリプトを使ってみた」で作成したビルドスクリプトに、フラグを立てた場合の出力結果です。
このフラグを用いることで、
意図した通りのビルドコマンドが実行されていることが確認できました。
[PATH]/wiringPi-zen/src/main.zen --library c --c-source [PATH]/WiringPi/wiringPi/wiringPi.c --c-source [PATH]/wiringPi-zen/WiringPi/wiringPi/piHiPri.c --c-source [PATH]/wiringPi-zen/WiringPi/wiringPi/softTone.c --c-source [PATH]/wiringPi-zen/WiringPi/wiringPi/softPwm.c --cache-dir [PATH]/wiringPi-zen/zen-cache --name wiringPi-zen -target armv7-linux-gnueabihf -I [PATH]/wiringPi-zen/WiringPi/wiringPi --cache on
cp [PATH]/wiringPi-zen/zen-cache/o/NWohxvs3nYnGUIHADg7W2Sd9tRBACnf4Mck6sPMR7Pv0Py52cbj4XLmeZHdtRwsV/wiringPi-zen ./wiringPi-zen # installed
cp ./wiringPi-zen [PATH]/wiringPi-zen/zen-cache/bin/wiringPi-zen # installed
以上、お役立ち情報でした。