Confirmed users
381
edits
No edit summary |
|||
Line 8: | Line 8: | ||
=== Requirements === | === Requirements === | ||
* GCC 3.4.x or older that can successfully build Mozilla. 64bit Ubuntu, 32bit RHEL/CentOS are known to work. 32bit Ubuntu/Debian feature a linker bug that prevents Mozilla from building with gcc 3.4.6. | * GCC 3.4.x or older that can successfully build Mozilla. 64bit Ubuntu, 32bit RHEL/CentOS are known to work. 32bit Ubuntu/Debian feature a linker bug that prevents Mozilla from building with gcc 3.4.6. Note: Recent work on Pork's Elsa allows it to be used with GCC 4.2 | ||
* MCPP is required for refactoring tools | * MCPP is required for refactoring tools | ||
* [[SpiderMonkey]] is required by [[DeHydra]] | * [[SpiderMonkey]] is required by [[DeHydra]] | ||
Line 17: | Line 17: | ||
=== Pork Tools === | === Pork Tools === | ||
Pork is broken down into tools that focus on a specific tasks. The tools can rarely be combined and thus should be applied incrementally. | Pork is broken down into tools that focus on a specific tasks. The tools can rarely be combined and thus should be applied incrementally. | ||
* [[Outparamdel]] rewrites code using outparameters to utilize the return value instead. [http://blog.mozilla.com/tglek/2007/08/06/outparams-take-2/ Blog entry] | * [[Outparamdel]] rewrites code using outparameters to utilize the return value instead. [http://blog.mozilla.com/tglek/2007/08/06/outparams-take-2/ Blog entry] | ||
Line 33: | Line 29: | ||
* [[PorkBarrel]] is a multiplexer(ala make -j) for the pork tools. It can combine patch output for patch-producing tools and save per-file output for DeHydra. The repository also contains a frontend to do nightly runs of prcheck. | * [[PorkBarrel]] is a multiplexer(ala make -j) for the pork tools. It can combine patch output for patch-producing tools and save per-file output for DeHydra. The repository also contains a frontend to do nightly runs of prcheck. | ||
* [[Dehydra GCC]] a static analysis plugin for GCC. | |||
=== Differences from Mainstream === | === Differences from Mainstream === | ||
Line 40: | Line 40: | ||
** Expression AST nodes were modified to include end-of-node info + associated bugfixes | ** Expression AST nodes were modified to include end-of-node info + associated bugfixes | ||
** Elsa has been extended to support MCPP's macro-undo(-K) mode. Additional APIs were added to convert post-preprocessing source coordinates into pre-preprocessing ones | ** Elsa has been extended to support MCPP's macro-undo(-K) mode. Additional APIs were added to convert post-preprocessing source coordinates into pre-preprocessing ones | ||
** Elsa has received bugfixes to work with recent GCC (4.2) headers |