I have posted this before to the mailing list, I know it is not nice to
double post but since there are still some questions on the Scons scripts I
re-posted everything (in one large message, with a fix or two):

This is my procedure to compile Radiance 40 HEAD with Scons:
If something is not working let me know then I can look into it.

General procedure for installation, is the one described on
Francesco's Wiki page
How to compile Radiance using the MinGW tools and Scons
http://www.bozzograo.net/radiancewiki/doku.php?id=how_to_compile_radiance_using_the_mingw_tools_and_scons

For compilation I used:
Radiance 4.0 from
http://radsite.lbl.gov/radiance/dist/rad4R0all.tar.gz(Includes
auxiliary files)
+ latest HEAD archive from
http://www.radiance-online.org/software/snapshots/radiance-HEAD.tgz
MinGW with gcc 4.5.0
Python 2.7 + scons 1.3.1 (You might also have to set the PATH variable to
Python and Scons)

Extract Radiance 4.0 and HEAD and place HEAD files over Radiance 4.0 files
overwriting the old ones.
Extracting can be done with the tools listed on the radiancewiki site
mentioned above.
or possibly also with winzip or 7-zip.

Gendaylit
To make Gendaylit compile add the following line in:
ray\src\gen\SConscript under the section PROGS = (
('gendaylit',   Split('gendaylit.c sun.c',), ['rtlamps']),

Change the following line in: ray\src\common\SConscript
RTLAMPS = Split('''fropen.c rexpr.c lamps.c''')+ [getlibpath]

Dctimestep
To make dctimestep compile I had to add the following line to:
ray\src\common\SConscript under the section # build libraries:
rtall = env.StaticLibrary(target=radlib('rtall'), source=ALL)

I changed in ray\src\util\SConscript
('dctimestep', ['dctimestep.c'],
    ['rtall'])

For Gendaylit you also need a library files called: 'perezlum.cal
coeff_perez.dat defangle.dat'

Add this to ray\scr\gen\SConscript the line should be:
LIBFILES = Split('illum.cal rev.cal skybright.cal glaze1.cal glaze2.cal
perezlum.cal coeff_perez.dat defangle.dat')

Check if: progs.append(prog)
is present before this line in ray\scr\gen\SConscript:
prog = env.Program(target=os.path.join('$RAD_BUILDBIN', 'mksource'),

When compiling tmapluv.c the compiler complains about a variable
declaration that is already declared elsewhere, to solve this:

Change the include order in these files (ray\src\common\):
tmapluv.c to put "tiffio.h" above "tmprivat.h"
tmaptiff.c to put "tiffio.h" above "tmprivat.h"
tmapcolrs.c to put "rtprocess.h" above "tmprivat.h"

To compile mgf2meta:
Change in ray\scr\cv\SConscript
# meta targets
prog = env.Program(target=rbin('mgf2meta'), source=['mgf2meta.c'],
        CPPPATH=env.get('CPPPATH', []) + [os.path.join('#src','meta')],
        LIBS=['meta','rtmath','rtcont','rtmem','rterror','mgf'] + mlib)
env.Append(RAD_BININSTALL=[env.Install(env['RAD_BINDIR'], prog)])

platform/*.cfg files should be updated so that installation paths aren't
"c:\radiance3.6" or so.

For example next can be changed:
[install]
RAD_BASEDIR:   c:\radiance4.0
RAD_BINDIR:    bin
RAD_RLIBDIR:   lib
RAD_MANDIR:    man

Open cmd window on Windows
Change to ray dir
type: scons build
And after a successful build
type: scons install

+
after installation user has to set RAYPATH environment variable to Radiance
libraries' path.
and the PATH environment variable to Radiance bin path

For those of you interested in compiling ra_tiff and normtiff for Windows,
below are the instructions on how it could be done.

Tools:
Get tiff-3.9.4.zip from ftp://ftp.remotesensing.org/pub/libtiff/
Get MinGW + MSYS shell from http://www.mingw.org/

To open a MSYS shell: Go to C:\msys\1.0\msys.bat (or where you installed
MSYS)

Original instructions from:
http://www.gaia-gis.it/spatialite-2.4.0/mingw_how_to.html#libtiff
Only step 5 should be enough to compile libtiff (since we do not use libz
nor libjpeg)
To make it work with Radiance I had to modify the procedure a bit:

    download the latest sources: tiff-3.9.4.zip
    uncompress this zip-file
    then open an MSYS shell

cd tiff-3.9.4
./configure --enable-static --enable-logluv --disable-shared --disable-cxx
--disable-jpeg --disable-zlib --disable-pixarlog
make
make install-strip

Copy the file libtiff.a from C:\msys\1.0\local\lib to C:\..\..\ray\src\lib
(where ..\..\ points to where you extracted the Radiance source files)

To build ra_tiff add these lines to ray\src\px\SConscript:

ra_tiff = env.Program(target=radbin('ra_tiff'), source=['ra_tiff.c'],
    LIBS=['libtiff','rtpic','rtio','rtmem'] + mlib)
progs.append(ra_tiff)


In a similar way normtiff can be build:

Add this line to \ray\src\common\SConscript after the section # build
libraries:

rtall = env.StaticLibrary(target=radlib('rtall'), source=ALL)

To build normtiff add these lines to ray\src\px\SConscript:

normtiff = env.Program(target=radbin('normtiff'),source=['normtiff.c'],
    LIBS=['libtiff','rtall'] + mlib)
progs.append(normtiff)

Then proceed with building Radiance with scons.
_______________________________________________
Radiance-dev mailing list
[email protected]
http://www.radiance-online.org/mailman/listinfo/radiance-dev

Reply via email to