Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Invoke wasm-pack in wasm crate build script to package wasm into $OUT_DIR #127

Merged
merged 2 commits into from
Apr 19, 2024

Conversation

sksat
Copy link
Member

@sksat sksat commented Apr 18, 2024

概要

wasm-opslang crate を cargo build したら内部で wasm-pack build するようにする

変更の意図や背景

  • wasm-pack のビルド生成物を Cargo のパッケージ管理に載せるため
  • Cargo の build script はビルド前に走る処理しか記述できないので、build.rs 内に wasm-pack 相当の処理を載せることはできない(build.rs usage? rustwasm/wasm-pack#251
    • そこで、wasm のビルドは確実にビルドターゲットが異なる(まだこの世には wasm32 のマシンは存在しないし、存在してもそこで Gaia をビルドしたい理由は現状存在しない)という性質に着目した
    • つまり、$TARGETwasm32 でないときに build.rs 内部で wasm-pack を呼び出してビルドする
    • 注意: wasm 向けの crate が x86_64 向けや aarch64 向けにも形の上ではビルドできる必要がある
      • これは現状の wasm-opslang では何も問題なくできる
      • 問題が発生したとしても、あくまで形の上でだけビルドできればよいので、cfg で対応可能
  • package.links を用いて、dependents crate (の build.rs)に $OUT_DIR を渡す

発端となる Issue

@sksat sksat self-assigned this Apr 18, 2024
@sksat sksat requested a review from KOBA789 as a code owner April 18, 2024 11:20
@sksat sksat changed the title Invoke wasm-pack in wasm crate build script to package wasm into crat… Invoke wasm-pack in wasm crate build script to package wasm into $OUT_DIR Apr 18, 2024
Base automatically changed from frontend-crates-is-cargo-workspace to main April 18, 2024 11:27
@KOBA789
Copy link
Member

KOBA789 commented Apr 18, 2024

一連の PR についてマージ順の希望があれば教えてください

@KOBA789
Copy link
Member

KOBA789 commented Apr 18, 2024

$TARGET が wasm32 でないときに build.rs 内部で wasm-pack を呼び出してビルドする

なんとなく思いついていたけど、やはりそういう方針なんですね(今から内容のレビューします)

Copy link
Member

@KOBA789 KOBA789 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

hacky な気はするけど致し方なし

@sksat
Copy link
Member Author

sksat commented Apr 19, 2024

@KOBA789 マージ順は PR を出した順番でお願いします

@KOBA789 KOBA789 merged commit 0fcd6a8 into main Apr 19, 2024
4 checks passed
@KOBA789 KOBA789 deleted the invoke-wasm-pack-in-cargo-build branch April 19, 2024 08:37
@sksat sksat added this to the v0.7.0 milestone Apr 19, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants