Project management defines processes, tasks and milestones
Merge manager ensures that source code stays in sync with the original Valgrind
Developers carry out individual tasks
Testers verify completed tasks
Release manager creates and publishes releases as soon as milestones have been reached
The tools used
Wiki for technical and process documentation
Timeline, Roadmap, Task tickets for project management
Defect and Enhancement tickets for support
Mailing list for communication
SVN as source code repository
Development guidelines
subscribe to the valgrind4win-developers mailing list
this is the preferred method of communication
send all questions regarding this project to the mailing list
code is to stay in sync with the main valgrind trunk, which means changes to the valgrind trunk will be merged into Valgrind for Windows repository from time to time. Therefore:
do not make any changes for other platforms, such changes must be made in the main Valgrind trunk and then synced over to Valgrind for Windows trunk
stick with the formatting rules in use, if possible use the Eclipse project that comes with defined formatters
do not reformat existing code
do not make changes to files that are not on the list of [CreatedAndModifiedFiles], without prior consultation with project management
code must compile with zero warnings
-Werror is in place, which means that every warning is an error and needs to be fixed in code
printf format checking using GNU formats is in place (use macros PRwx, PRdx, PRlx, ...)
code must build with both MinGW32 and MinGW64 tool chains
standard MinGW32 is used to create release versions for 32 bit Windows
MinGW64 (TDM-GCC) is used to create release versions for 64 bit Windows
if you are using MinGW64 as your primary build environment: check out a second source tree and configure it to produce 32 bit binaries only with gcc from MinGW rather than MinGW64/TDM-GCC (use the MinGW shell to for building this second source tree)