Peter Apian-Bennewitz wrote:
Randolph Fritz wrote:
In terms of Scons* (which I haven't actually tried yet),* well, is
requiring Python 1.5.2 for build (not execution) such a terrible
thing? 1.5.2 is pretty old now, and it runs on every platform
Radiance runs on, as far as I know. It is even preinstalled on Mac OS
X and most Linuxen. Greg?Wouldn't it be good if you gain some solid experience with something new
first, /before/ going to lengthly theoretical arguments ?
P.
If that was a good counter-argument, then nobody would ever try
anything new, or even think about it... This list is for thinking
collectively about the Radiance development process, I'm not
quite sure why you dislike this particular thought so much.
SCons has a proven track report, and it is being used in other
projects with great success. And nobody suggested to throw out
the makefiles now, and to think about a way to replace them
afterwards. If someone finds the time to setup the necessary
SCons environment, both methods can coexist without the slightest
problems until we have established which is favourized by the
people out there trying to compile Radiance.
Erwin Rol wrote:
It always seems that writing yer own keeps things simpler in the
beginning until you project grows and than you hit the same problems
other ppl already had and solved.
You make a few good points there (even though you don't seem to
be fully aware of the specific experience and skill sets of the
developers involved). Although you didn't say so explicitly, you
seem to want us to use autoconf and friends. But in line with
your own arguments: Making things simpler is one of the most
interesting goals here.
While autoconf is very powerful and solves lots of problems, it
isn't exactly simple, and brings quite a few problems of its own.
Most noteably, it is itself based on inadequate and platform
(unix) dependent tools, a limitation it shares with the current
makeall script in Radiance (and parts of the Radiance codebase).
Autoconf is generally used for several distinct tasks:
a) establish the toolchain
(figure out which compiler and other tools to use)
b) analyze the system environment
(find the necessary system headers, and check whether they
contain specific declarations)
c) build the software
d) install the software
The biggest and most convoluted part of that is b). Radiance has
very few platform dependencies, the idea actually is to reduce
them to none between unix systems. So in effect, we don't need b).
The simplest part is d), so we don't need any premade tools for
that one either.
Which leaves us with a) and c). SCons offers a much simpler and
yet more powerful solution for both, and it does so on platforms
that autoconf will never know about.
-schorsch
···
--
Georg Mischler -- simulations developer -- schorsch at schorsch com
+schorsch.com+ -- lighting design tools -- http://www.schorsch.com/