VOICEVOX / onnxruntime-builder

VOICEVOX COREで利用するonnxruntimeのビルドを行うリポジトリ
MIT License
5 stars 14 forks source link

iOS向けXCFrameworkを追加する #18

Closed HyodaKazuaki closed 1 year ago

HyodaKazuaki commented 1 year ago

内容

iOS向けにビルドされたdylibをまとめ、シミュレータや実機上でも利用可能なXCFrameworkを提供したいと思います。

Pros 良くなる点

環境ごとに動的ライブラリを切り替える必要がなくなる

Cons 悪くなる点

リリースに時間がかかるようになる

実現方法

  1. 各ターゲット向けにonnxruntimeをビルドする
  2. lipoを使ってシミュレータ向けターゲットを1つのFat binaryにする
  3. xcodebuildを使ってXCFrameworkを作る

その他

このIssueで提案する機能は、元々 https://github.com/VOICEVOX/voicevox_core/issues/477 で提案され、 https://github.com/VOICEVOX/voicevox_core/pull/485 で追加予定だったXCFrameworkの作成ジョブを移植したものになる予定です。

Hiroshiba commented 1 year ago

良いと思います!!

Hiroshiba commented 2 months ago

お久しぶりです!

ちょっとビルドオプション眺めてたんですが、--build_apple_frameworkというのがあることに気づきました! https://github.com/microsoft/onnxruntime/blob/b9f3a5d5b62d12fb3d90b3e98bf7d05aa8a560d6/tools/ci_build/build.py#L302-L304

確か今は各々ビルドした後に色々くっつけてxcframeworkを作っていますが、このオプションを指定すれば良い感じになったりするかも? issue作ってみたので、もしご興味あればコメントいただけると・・・!