ENH: make it easier to switch between the various make dependencies programs.
- However, the new ragel-based parser is much faster than the others, and does not cause 'too many open files' error that the flex-based parser does (issue #784). The timings (using src/sampling as being somewhat representative) $ wclean; wmakeLnInclude -u .; time wmake -s dep 3.4s wmkdepend (ragel) [now default] 5.7s wmkdep (flex) 6.1s cpp -M - The makeDepend script is for testing purposes only, but could used as a hook for other dependency generation systems (eg, ninja). It simply wraps 'cpp -M' in a form that is calling compatible with wmkdepend. BUG: wmkdepend parser was missing optional leading space on #include match STYLE: use -G2 (goto-based) option for wmkdepend state machine - the machine is compact with few states and lends itself to this
Showing
- wmake/rules/General/transform 7 additions, 2 deletionswmake/rules/General/transform
- wmake/scripts/AllwmakeParseArguments 2 additions, 14 deletionswmake/scripts/AllwmakeParseArguments
- wmake/scripts/cmakeFunctions 2 additions, 14 deletionswmake/scripts/cmakeFunctions
- wmake/scripts/makeDepend 62 additions, 0 deletionswmake/scripts/makeDepend
- wmake/scripts/makeFiles 2 additions, 14 deletionswmake/scripts/makeFiles
- wmake/scripts/makeOptions 2 additions, 14 deletionswmake/scripts/makeOptions
- wmake/scripts/makeTargetDir 2 additions, 14 deletionswmake/scripts/makeTargetDir
- wmake/scripts/wcleanBuild 2 additions, 14 deletionswmake/scripts/wcleanBuild
- wmake/scripts/wmakeFunctions 2 additions, 14 deletionswmake/scripts/wmakeFunctions
- wmake/src/Makefile 1 addition, 1 deletionwmake/src/Makefile
- wmake/src/wmkdepend.cpp 670 additions, 353 deletionswmake/src/wmkdepend.cpp
- wmake/src/wmkdepend.rl 66 additions, 57 deletionswmake/src/wmkdepend.rl
Please register or sign in to comment