[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