Re: [Inkscape-devel] Waf build system, second try
Hi Isobel, I'll be on vacation for a week, can't give a detailed answer now. But I am not the right person to ask anyway :)
I think _building_ is the easy part, but getting all the include flags correct for all platforms is not. (which is "configuration" that you mean?)
An example of what would be nice to have is the ability to specify additional compiler flags for each folder.
Current architecture's biggest problem is that it is not crossplatform. Note that on Windows, cygwin is cumbersome and not something we want to do.
ciao, Johan
----- Reply message ----- From: "Isobel Knowles" <ik5@...2950...> To: "Johan Engelen" <jbc.engelen@...2592...> Cc: inkscape-devel@lists.sourceforge.net Subject: [Inkscape-devel] Waf build system, second try Date: Fri, Jan 31, 2014 00:14
On Thu, 30 Jan 2014 20:11:14 +0100 Johan Engelen <jbc.engelen@...2592...> wrote:
On 30-1-2014 20:02, Isobel Knowles wrote:
PS. My offer to write some 'nice' makefiles is still open.
No-one is stopping you :-) Make us dazzle...
:) Johan
Dear Johan,
OK. Before I do, do you think you could tell me what it is you want from the build? What are the essentials and what are the nice-to-haves? Where do you see the problems in the current architecture and what are its strengths?
I'm only after some pointers so I don't set off in the wrong direction.
I'll start the ball rolling with these:
- Documentation. People who are new to Inkscape should find it easy to edit the makefiles.
- Separate configuration and build cleanly so when the configuration phase doesn't do what you want for one reason or another, it is straight-forward to manually configure the build options in one or two files.
- Separate compilation and installation/packaging. Installation is generally performed as root, and all too often in GNU software libtool and the like get their teeth into a 'make install', turning it into compilation job. This is wrong.
- An ordinary build job should do the minimum work in the minimum time. For this I propose a flat makefile structure, perhaps composed of included makefiles. Parallel makes like this perform correctly and have no scalability issues whereas recursive makefiles are beset with problems and complication.
- It should be simple to modify build flags and make alternative targets for debugging purposes.
I wouldn't describe it as dazzling, but it's a start.
Yours,
Is.
participants (1)
-
Johan Engelen