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

Better build orchestration #483

Open
kateinoigakukun opened this issue Jun 29, 2024 · 0 comments
Open

Better build orchestration #483

kateinoigakukun opened this issue Jun 29, 2024 · 0 comments

Comments

@kateinoigakukun
Copy link
Member

The underlying build system of rbwasm build is quite messy.

  1. Each build step has to have its ad-hoc up-to-date check like followings:
    return if Dir.exist?(install_dir)
    if !File.exist?("#{build_dir}/Makefile") || reconfigure
  2. Uses of build product and cache key computation are placed far, so we often forget to update the cache key and get a wrong cache restored.
    def cache_key(digest)
  3. The current cache mechanism cannot restore two or more artifacts produced within a single rake task job. This usually happens for PIC & non-PIC builds invoked by rake npm:ruby-head-wasm-wasi:build
  4. Our cache mechanism does not allow partial cache-hit, so even if we change only crossruby source revision, we have to rebuild openssl from scratch.
  5. Our cache mechanism is not sensitive to recipe changes. For instance, even if we change CFLAGS value, crossruby product will not be rebuilt.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

1 participant