Skip to content

AOT: Project build mode (entry file + dependency graph) #59

@PurHur

Description

@PurHur

Problem

bin/compile.php compiles a single source file. Multi-file apps need manual concatenation or VM includes.

Goal

php bin/compile.php --project src/index.php -o webapp compiles entry + transitive include/require into one binary.

Tasks

  • Static include graph analysis from entry (respect require_once)
  • Single LLVM module or link multiple objects (lib/AOT/Linker.php)
  • Emit debug map (file → line) for -y flag
  • CI AOT test with 2-file fixture
  • Document deploy: copy binary + static assets only

Depends on

Acceptance criteria

Two-file example compiles to one executable producing correct output.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions