Hi all, after all those years, I found that my CVS write access is still active.
So I went and updated the SCons build system. It now works nicely again with the last few SCons versions. Unfortunately, SCons still reqires Python 2.7, I'm really hoping for it to support Python 3 soon. The compile results are now placed in a seperate "scbuild" directory tree. Each target platform gets its own subbranch in there. Target configurations now differentiate between 32 and 46 bit systems. I had to rename the platform config files for that. Currently the build is autmatically set to the architecture of the host platform. It might be nice to be able to cross-compile at least for the companion bit-architecture of the same platform, which should be possible to do. On the other hand, I'm not sure if its really worth the effort. How many people are still running Radiance on 32 bit systems? But at least the possibility should be kept open, so we won't need another redesign when the first 128 bit systems come out in a few years... On linux, everything builds without a hitch. We get the same executables as with makeall, and then some. It's also much faster than ten years ago! ;) On Windows, everything without third-party dependencies builds fine with the current VC 2015 "Community" compiler. I haven't yet gotten around to fetching the Windows dev packages of Tifflib and QT, so those parts need some more work. X11 is probably not worth the hassle (though there might be ways). The tifflib included with the NREL binaries didn't work, which means they used a different compiler. In fact, they must be using gcc on Windows, because I found (and fixed) some non-standard allocation magic in src/cv/bsdftrans.cpp that only gcc accepts. I haven't looked at qtrvu very closely. But even on a cursory glance it looks straightforward to build. This should not be a problem for SCons and MSCC, once all the dependencies are in place. Ah... can we standardize on a file name extension for C++ files in Radiance? Right now we have both *.cxx and *.cpp. With the current MS compiler on 64 bit, there are a huge number of coercion warnings all throughout the code. Most of those are probably harmless, even if annoying. There are two files tough, where the warning says that "the result of a 32 bit shift operation was coerced to 64 bit. Was there a 64 bit shift intended?" src/common/bmpfile.c src/util/rttree_reduce.c I can't really tell, so I've just marked the lines with an "XXX" comment for review. If anyone wants to give the "new" SCons a try on any platform, go ahead! Please tell me about your results, particularly about any changes to the config files you might find necessary. Instructions are in ray/INSTALL.scons and ray/platform/README. All changes are in CVS, the HEAD package should include those changes in a day or so. have fun! -schorsch -- Georg Mischler -- simulations developer -- schorsch at schorsch com +schorsch.com+ -- lighting design tools -- http://www.schorsch.com/ _______________________________________________ Radiance-dev mailing list [email protected] http://www.radiance-online.org/mailman/listinfo/radiance-dev
