Sunday, 3 March 2013

Completing the Gtest Build System OPW Assignment

Most important and useful knowledge I gained:

Explicit debugging  -- keeping a list of ideas, testing theories etc, keep your mind free of clutter for thinking and enabling you to casually return to even the most complex problem after a break without loss of continuity.

Most useful tool I learned about:

The 'remake' debugger for Makefiles, it provides a useful calling stack trace.

Things I relearned:

'make', how to document, shell scripting, simple C and C++.

New things I learned a little bit about: 

m4 macros, autoconf, python, configure, C++ and C compilation directives, gtest, libtool and the concept of shared libraries.

So what did I build for the Subversion OPW project?

Gtest Addition: 

  1.  a patch for adding gtest as an option to the build system
  2.  documentation for the gtest addition 
  3.  an example test for the gtest addition 

And since I had spent all this time trying to understand what is happening in the build system, I documented what I think is going on, with the happy result that the Subversion project gets some documentation for the build system and I get my understanding double checked:

Documentation for the Subversion Build System: 

  4. Overview
  5. 3 walkthroughs for adding various types of components
  6. list of files and their purpose for the build system
  7. Walkthrough of the main files' contents

Next up: Diff and Freeze!

PS.: I know we're 8 weeks into the OPW project, but, 2 weeks of that I was ill, and so, I'm actually really in week 6.

My mouse battery lasted exactly for the duration of the project!  (and my kitteh looks just like that guy too :) )