Skip to content

Update systemlib generation to support precompiled systemlibs #9619

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

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

mszabo-wikia
Copy link
Contributor

Since D46606416, we include precompiled unitemitters rather than raw Hack source files for systemlibs into the HHVM binary. This requires corresponding updates to the OSS build system.

  • Update embed_all_systemlibs() and embed_systemlibs_byname() to invoke HHVM to compile systemlibs, and update section name generation to match.
  • Update systemlib generation to correctly look for systemlib sources under hphp/runtime/ext/core instead of hphp/system after they were moved in D46164829.
  • Make tc-print depend on HHVM, since the hhvm binary is required to compile and embed systemlibs into tc-print.
  • Fix apparently erroneous contains() check (added in D65835121) in compiler-systemlib.cpp that checks for file but then tries to access "ext_" + file. This is erroring in OSS, since all extension systemlibs are named ext_something.php, not something.php.

Since D46606416, we include precompiled unitemitters rather than raw
Hack source files for systemlibs into the HHVM binary. This requires
corresponding updates to the OSS build system.

* Update embed_all_systemlibs() and embed_systemlibs_byname() to invoke
  HHVM to compile systemlibs, and update section name generation to
  match.
* Update systemlib generation to correctly look for systemlib sources
  under hphp/runtime/ext/core instead of hphp/system after they were
  moved in D46164829.
* Make tc-print depend on HHVM, since the hhvm binary is required to
  compile and embed systemlibs into tc-print.
* Fix apparently erroneous contains() check (added in D65835121)
  in compiler-systemlib.cpp that checks for `file` but then tries
  to access `"ext_" + file`. This is erroring in OSS, since all
  extension systemlibs are named ext_something.php, not something.php.
@facebook-github-bot
Copy link
Contributor

@facebook-github-bot has imported this pull request. If you are a Meta employee, you can view this diff on Phabricator. (Because this pull request was imported automatically, there will not be any future comments.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants