[Bf-committers] SCons todo things

Michel Selten bf-committers@blender.org
Sat, 03 Apr 2004 16:38:11 +0200


Hey everybody,

Last meeting people asked me what the status of the SCons build system
was for Blender. I have kept a TODO list of my own containing all kinds
of features that I think should be present before I would consider it
finished. Unfortunately because of some lack of time I don't know how
long it will take before I will finish these TODOs.
I'm now putting up my TODO list for public view. Maybe there's somebody
interested in tackling one of these.

* BUILD_RELEASE=[true/false] functionality.
  With this feature enabled, you would get a .tar.gz redistributable
  blender package. Use the 'make release' command as a reference on what
  such a package would include and how it would be generated.
  You could have a look at the bottom of the current SConstruct file.
  There's a part where a Mac bundle is generated with a bunch of
  commands. It's not nice, but it's a start.
  The best place for this feature would be to create a new SConscript
  file and put it under the release/ directory. (Maybe move the platform
  detection scripts (guessconfig) to this directory as well?)
* BUILD_BLENDER_PLAYER=[true/false] functionality.
  The flag is already available in the config.opts file, it's just not 
  yet implemented. This probably needs some rework in the linking 
  department. Look at the NaN Makefiles on how the libraries have been
  grouped together and maybe apply something similar to SCons.
* BUILD_BLENDER_PLUGIN=[true/false] functionality.
  Similar to the BUILD_BLENDER_PLAYER feature.
* easy install functionality.
  This especially would apply to Linux platforms, but maybe to others
  as well. Think of it as the 'make install' functionality provided in
  the auto* system.
* Generate a blender_src.tar.gz package
  A simple command to generate a complete .tar.gz source package 
  containing all the source files except the intermediate stuff 
  generated by other tools such as Vi, Emacs, MSVC, ...
* Add a rudimentary configure script to cvs
  Hrm, actually a very easy one. Just inform the user to install SCons 
  and to build blender with SCons. Then simply exit (maybe with an 
  error?)
* Call SCons from subdirs
  Well, this is probably a very difficult one. I'm currently unsure on
  how this would be implemented.
  The basic idea is that you would be able to call up scons from only
  the directory you're working on and don't let it recalculate all of
  its dependency stuff. Basically this would increase compilation by a
  magnitude.
  SCons has support for using a SConscript as input (instead of the
  SConstruct file). Problem is that all variables are defined in the
  root SConstruct file and then Exported to all SConscript files.
* Add support for the missing platforms.
  I wanted to work on the cygwin part myself and it's still on this 
  list. Maybe somebody else wants to jump in?
  Also, the FreeBSD section in SConstruct is still missing. Hans?

There you have it. All of my own TODO thingies. With this mail I don't
want to stop working on it, I just hope that because of this, people
will jump in and help me out.

With regards,
	Michel