[Bf-committers] Removing Build Systems

Ton Roosendaal ton at blender.org
Mon Apr 13 11:56:12 CEST 2009


Hi,

I do realize the Make system is hard to maintain. It seems the 
requirements for building Blender with new rna & python tricks became 
more and more complex, which is why you lost so much time on adding 
support in Make probably?

On the other hand, it's the system I like best simply because it works 
so well. My productivity and coding work depends a lot on a pleasant 
well configured and fast make system. Scons could not replace it on 
that level for me, and although I wouldn't mind giving Cmake a try, 
it's a valid statement to require it to work just as good, right?

I don't understand the special attention for Cmake really, afaik only 
one person who works on 2.5 actually uses it (Nicholas), and he 
maintains it as well. Same goes for MSVC, it's being maintained by 
Andrea, and for as long she does so, we should be happy with it.

There's also a difference between "compilers" and "developers". Getting 
a reliable compiled Blender from our svn is important, but to drop a 
system that assists developing so well is quite a big thing...

I also don't fully grasp the proposal; is it about bringing 4 systems 
back 2? Or is it because 'make' is too complex to maintain? If it's the 
first, then obviously we should stick to make, it's the system in use 
by one of the most active committers in 2.5... ;)

-Ton-

------------------------------------------------------------------------
Ton Roosendaal  Blender Foundation   ton at blender.org    www.blender.org
Blender Institute BV  Entrepotdok 57A  1018AD Amsterdam The Netherlands



On 12 Apr, 2009, at 23:58, Brecht Van Lommel wrote:

> Hi,
>
>> Ton Roosendaal wrote:
>>> Well; I realize there are issues for merging, but for regular
>>> development the various users of each build system have always kept
>>> things work nicely.
>
> This is not the case in my experience. I always end up updating all
> the build systems myself (except MSVC) because a user bugs me that the
> build is broken after my commit. So now I always do SCons, CMake and
> Makefiles updates.
>
> blender at erwincoumans.com wrote:
>> By the way, just like Ton I don't see the reason to drop build 
>> systems, just
>> because of temporarily inconvenience during 2.5 transition.
>
> It's not a temporary inconvenience. Blender is always in development
> and in my experience build systems break all the time, for ffmpeg
> upgrades, bullet upgrades, blenfont, RNA, UI scripts, game player, ..
> Honestly I think I have spent about 2 weeks total on build system
> stuff in the 2.5 branch. Granted, that is partly because with RNA we
> try to do some tricky things, but it shouldn't be more complicated
> than necessary.
>
> Blender building issues are a daily topic in #blendercoders, and it is
> often due to a build system being broken. The time spent maintaining
> all these build systems could also be spent making things work better
> out of the box or documenting the build process.
>
> In my projects,
>> I keep several build systems up-to-date as well (CMake, Makefiles, 
>> jam and
>> jam-generated msvc projectfiles).It can be a burden sometimes, but it 
>> helps
>> portability and makes some people happy.
>
> If it was actually for compatibility I would agree, but this is not
> the case.
>
>
> Multiple build systems just complicate some things. Compiler and
> warnings flags are not consistent. So everyone sees different warnings
> and it's impossible to keep building blender warning free, and
> sometimes things break, because the declaration after statement
> warning is only in some build systems, etc. Then there are crashes
> that can only be reproduced with certain build systems or some
> dependency checking is not working correctly and things did not
> rebuild correct. Or you have to spend time tracking down bugs that
> were caused by some optimization flag that is only used in some
> particular build system.
>
> And we have to ask for the 100th time "what build system do you use?",
> "try to do make clean", "oh you use scons, well I use this other build
> system, so I don't know what the option is called", "I tried cmake
> with the BF_DEBUG variable but I don't get a debug build", "yeah, you
> can't make a release with that build system, start over from the
> beginning with this other build system..".
>
> I do really think we lose too much time on maintaining build systems.
>
> Brecht.
> _______________________________________________
> Bf-committers mailing list
> Bf-committers at blender.org
> http://lists.blender.org/mailman/listinfo/bf-committers
>



More information about the Bf-committers mailing list