Add flags to run the PHP7 emitter from hhvm
Summary:
Hijack the existing functionality used to shell out to hh_single_compile for
hack builds and use it for PHP7 builds too :) I wanted to keep the interface
the same as it is now for hackc builds; so this only adds two new runtime
flags:
- Eval.PHP7CompilerEnabled
- Eval.PHP7CompilerCommand
I reorganized vm/hack-compiler.{cpp,h} into vm/compiler.{cpp,h} and
parameterized everything by the compiler command.
This also includes changes to make the php7 emitter work like we expect
hh_single_compile in daemon mode to work. Those are pretty straightforward imo.
Unanswered questions include how we want to configure the miscellany around
running the compiler processes; there's a suite of options currently in place
for HackCompiler* but I wasn't sure if we want to duplicate those completely. I
also don't want to change the interface without people being on board.
Also made some hacky tweaks to the test runner to support this mode of operation.
Reviewed By: mofarrell
Differential Revision:
D5322940
fbshipit-source-id:
94cb3daa24db735b9e7e831486bad9783537f0a2