Gauche > Archives > 2024/05/17

2024/05/17 04:33:43 UTChnagamin
#
gauche-packageでout-of-tree buildを行う正しい作法が分からずGaucheのソースを眺めていましたが、分からない点が1点ありましたので質問させてください。https://github.com/shirok/Gauche/blob/60f05e59fe8838e0935cbd7e39c4ffc927b8d784/lib/gauche/cgen/precomp.scm#L293-L295 ここの処理で out.c を使っていないので、引数の out.c で指定したパスにCファイルが生成されないと解釈しているのですが、この解釈で合っていますか?
#
手元のプロジェクトのMakefile構成だと https://github.com/shirok/Gauche/blob/60f05e59fe8838e0935cbd7e39c4ffc927b8d784/lib/gauche/package/compile.scm#L100-L103 ここの箇所で「gcc: 致命的エラー: 入力ファイルがありません」のエラーが起こってしまい、なんでだろうと思って色々眺めていました。
2024/05/17 06:27:56 UTCshiro
#
out.cはパラメータcgen-current-unitに束縛される#<cgen-unit>中に保持されて、do-itの中の(cgen-emit-c (cgen-current-unit))でファイルに書き出されます。
#
エラーが起きるのは気になります。こちらで再現できるコード (リポジトリとか) は見られますか?
2024/05/17 12:14:37 UTChnagamin
#
すみません大変恐縮です……ありがとうございます。エラーログは https://github.com/1995hnagamin/cafemielk/blob/9b19ced/doc/chrono/2024/2024-05-17-errlog.md にあります。同リポジトリ 2024/build ブランチの cm-tight/ ディレクトリにコードがあります。
#
ありがとうございます。なるほど、#<cgen-unit>中に保持されているのですね…… cgen を全然分かっていないのでもう少し勉強します。
2024/05/17 16:09:57 UTCshiro
#
PR送っておきました
2024/05/17 17:21:02 UTChnagamin
#
ありがとうございます。今手元に macOS の環境しかないため後で Linux でも確認させてください。
しかし手元だとコンパイルできません…… (spigot-subdirを含め)手元の環境で out-of-tree build に成功したことがなくそもそも僕が何か大きな勘違いをしているかもしれません。
#
ログです https://github.com/1995hnagamin/cafemielk/blob/731904a/doc/chrono/2024/2024-05-18-errlog2.md
2024/05/17 22:09:54 UTCshiro
#
ふーむ。OSXでも試してみます。
#
ああ、確かにエラーになりますね。
2024/05/17 22:17:43 UTCshiro
#
VPATHを見てくれてないな…