These are chat archives for Deskshell-Core/PhoenixEngine

10th
Aug 2015
Ingwie Phoenix
@IngwiePhoenix
Aug 10 2015 21:56
So… for whoever still reading forth and back here, I have news. I have continued work on IceTea and turned it into a hybrid program. That means, like NodeJS, it partially uses scripts and partially native code. There is a project called incbin that turns a file containing INCBIN(…) macros into either ASM blocks for Gnu/Linux or OS X or embeds char arrays for Windows. This allows IceTea to load scripts off its binary - which INCREDIBLY increased its power. There are native bindings to stuff like file system and such, while I am now having to work on a new rules resolver and task runner. however, due to now being in the script language itself, i can code much easier and export way friendlier APIs to developers.
there now is a global IceTea object that allows programmatic target/rule/action access as well as exporting some internals like IceTea.estimateRuleOutput(…) for other devs to use.
I am also extending IceTea to be embed-friendly - like I can turn it into a library too and pass it arguments and itll run. this will allow me to write a PoC to ditch node-gyp in favor of IceTea (as nicetea) to allow much easier code building.
IceTea is also no longer focused on just native code but itll also support the cases of webapps. I.e.: .css -> .min.css
or .jsx -> .es6 -> .js
or even .php -> .phar
it also can take partial support for INCBIN to allow a resource file to be turned into a .c/.cpp file
there is a lot that IceTea can and will do and I hope to bring it to a stable point soon.
itll also support „externals“ and threads, allowing the script to spread across threads - where one thread can be used to silently build something like Clang alongside other code, allowing one to use their own stuff too.
a use case will be that IceTea will specify the Chromium source tree as external, effectively „embedding“ GYP into itself as an external process and waiting for it to be done, and exporting the outputs back into IceTea scope, just as if that had actually been a real target.
so yeah, lots of nice stuff ive done there. (: