Remove broken recursive option.
Share utility code between modules.
Add common include dir to compilation options.
Merge remote-tracking branch 'origin'