
On 25-1-2014 3:41, Krzysztof KosiĆski wrote:
Hello everyone,
I conducted an experiment in building Inkscape with Waf, redoing the work I did a long time ago with a newer version (1.7.15) and using more of its features. A correct build of Inkscape, with internal libraries built separately, "inklib" built as a shared library, Bazaar revision fetching and .po file compilation, requires less than 250 lines of Python script (!!!).
I read on some mailing lists that Debian refused to package some software using Waf, because Debian considers shipping the "Waf binary" to be incompatible with the DFSG. I circumvented this problem by adding the Waf source distribution to the tree, which is a little bigger, but DFSG-compliant and works exactly the same.
The code will be up shortly at lp:~tweenk/inkscape/waf-build, if anyone wants to check it out.
Hi Krzysz, Great that you are working on unifying the build system again. There is a parallel effort using CMake, which you are aware of of course. CMake is used by many projects, so it may be easier for Inkscapers to start using that. That said, I don't feel very strongly about it.
What I think is important is that the system can target "ninja" or other build systems besides "make". CMake can create makefiles for many targets (makefiles, visual studio, ninja, ...) which is very nice and would be an extra step forward for our buildsystem. Can Waf do the same?
(ninja is speeding up 2geom compiles by an incredible amount, mostly because 2geom has many executable targets (all the toys, etc). Don't know what it will do for Inkscape.)
Cheers, Johan