MN #70 GN and Bazel

05:06. 間があいてしまったがやってきます。

今日は Bazel から GN (を呼ぶスクリプト) を呼ぶ。

  • genrule と aar_import を組み合わせる方針は良さそうだが bazel がスクリプトを謎の sandbox 下で呼ぶため gn が見えない・・・。めんどくせー。PATH をハードコードして乗り切る。こういう設定の類を渡せない bazel もつらいし、gn や ninja がツリーに含まれていない chrome もつらい。コンパイラもツリーにはいってるのになんて gn は環境変数前提なんだよ・・・。
  • こうした性質があるため、gn を呼ぶスクリプトにはなるべく path 類をハードコードせず Bazel 側から渡すようにするとトラブルが少なげ。理想的には custom rule を定義するのがよいんだろうけれどガッツがないので genrule で乗り切りたい所存。
    • custom rule はともかく人として macro にはしておくか・・・。
  • こうしてできた so を aar にマージするわけだが・・・。zip コマンドよくわからないので Python だのみ
  • そういえばこの .so みんなデバッグビルドだな。そのうちリリース版も必要。しかし今はスルー。
  • できた。次はこの so がほんとに動くのかを確認いたしましょう、だけど今日は時間切れ。
  • Java 一行も書いてないけどビルド的には一番正しい PDFium for Android を作っている予感。