Skip to content

Bootstrap profile and AOT lint gate (self-host Phase B, #212)#384

Merged
PurHur merged 1 commit into
masterfrom
issue-212-bootstrap-phase-b
May 20, 2026
Merged

Bootstrap profile and AOT lint gate (self-host Phase B, #212)#384
PurHur merged 1 commit into
masterfrom
issue-212-bootstrap-phase-b

Conversation

@PurHur
Copy link
Copy Markdown
Owner

@PurHur PurHur commented May 20, 2026

Summary

Completes Phase B of #212 (self-host bootstrap milestone):

  • Adds script/bootstrap-lib.php shared by inventory and profile generators.
  • Adds script/bootstrap-profile.phpdocs/bootstrap-profile.json (excluded files with source blockers, eligible vm.php-path files, unsupported construct catalog, AOT lint targets).
  • Adds script/bootstrap-aot-lint.php to run bin/compile.php -l on profile lint targets when LLVM 9 is available.
  • Seeds test/bootstrap-aot/echo_hello.php plus examples/000-HelloWorld as initial lint targets.
  • Wires --check / AOT lint into script/ci-local.sh; adds BootstrapProfileTest and BootstrapAotLintTest.

Test plan

  • php script/bootstrap-profile.php --check
  • php script/bootstrap-aot-lint.php (LLVM 9 in php-compiler:22.04-dev)
  • php vendor/bin/phpunit test/unit/BootstrapProfileTest.php test/unit/BootstrapInventoryTest.php
  • php vendor/bin/phpunit test/aot/BootstrapAotLintTest.php
  • ./script/docker-ci-local.sh (non-LLVM + bootstrap gates)

Remaining work (#212)

  • Phase C: native bootstrap binary runs HelloWorld (and grows lint target list toward lib/Compiler.php subset).

Closes #212 Phase B tasks; milestone stays open for Phase C.

Made with Cursor

Adds generated docs/bootstrap-profile.json, compile.php -l CI gate on procedural
lint targets, and wires profile freshness into script/ci-local.sh.

Co-authored-by: Cursor <cursoragent@cursor.com>
@PurHur PurHur merged commit 33993e7 into master May 20, 2026
1 check passed
@PurHur PurHur deleted the issue-212-bootstrap-phase-b branch May 20, 2026 16:47
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.

Milestone: Self-host — compile php-compiler with php-compiler (bootstrap)

1 participant