| 1 |
schorsch |
1.11 |
from __future__ import division, print_function, unicode_literals
|
| 2 |
schorsch |
1.8 |
|
| 3 |
schorsch |
1.1 |
import os
|
| 4 |
|
|
|
| 5 |
|
|
from SCons.SConf import SConf # aka Configure
|
| 6 |
|
|
|
| 7 |
schorsch |
1.5 |
def find_radlib(env):
|
| 8 |
greg |
1.6 |
v = env.FindFile('helvet.fnt', './lib')
|
| 9 |
schorsch |
1.5 |
if not v:
|
| 10 |
schorsch |
1.8 |
print('''
|
| 11 |
schorsch |
1.5 |
Radiance auxiliary support files not found.
|
| 12 |
|
|
-> Download from radiance-online.org and extract.
|
| 13 |
schorsch |
1.8 |
''')
|
| 14 |
schorsch |
1.5 |
env.Exit()
|
| 15 |
|
|
|
| 16 |
schorsch |
1.10 |
def find_pyinstaller(env):
|
| 17 |
|
|
if os.name != 'nt':
|
| 18 |
|
|
return
|
| 19 |
|
|
conf = SConf(env)
|
| 20 |
|
|
oldpath = (env['ENV'].get('PATH'))
|
| 21 |
|
|
try:
|
| 22 |
|
|
env['ENV']['PATH'] = os.environ['PATH']
|
| 23 |
|
|
pyinst = conf.CheckProg('pyinstaller.exe')
|
| 24 |
|
|
if pyinst:
|
| 25 |
|
|
env['PYINSTALLER'] = pyinst
|
| 26 |
|
|
env['PYSCRIPTS'] = []
|
| 27 |
|
|
env = conf.Finish()
|
| 28 |
|
|
finally:
|
| 29 |
|
|
env['ENV']['PATH'] = oldpath
|
| 30 |
|
|
|
| 31 |
schorsch |
1.1 |
def find_x11(env):
|
| 32 |
|
|
# Search for libX11, remember the X11 library and include dirs
|
| 33 |
|
|
for d in ('/usr/X11R6', '/usr/X11', '/usr/openwin'):
|
| 34 |
|
|
if os.path.isdir (d):
|
| 35 |
|
|
incdir = os.path.join(d, 'include')
|
| 36 |
|
|
libdir = os.path.join(d, 'lib')
|
| 37 |
schorsch |
1.4 |
env.Prepend(CPPPATH=[incdir]) # add temporarily
|
| 38 |
|
|
env.Prepend(LIBPATH=[libdir])
|
| 39 |
schorsch |
1.1 |
conf = SConf(env)
|
| 40 |
|
|
if conf.CheckLibWithHeader('X11', 'X11/X.h', 'C', autoadd=0):
|
| 41 |
|
|
env.Replace(X11INCLUDE=incdir)
|
| 42 |
|
|
env.Replace(X11LIB=libdir)
|
| 43 |
|
|
env['CPPPATH'].remove(incdir) # not needed for now
|
| 44 |
|
|
env['LIBPATH'].remove(libdir)
|
| 45 |
|
|
if env['X11INCLUDE']:
|
| 46 |
|
|
# Check for SGI stereo extension
|
| 47 |
|
|
if conf.CheckCHeader('X11/extensions/SGIStereo.h'):
|
| 48 |
|
|
env['RAD_STEREO'] = '-DSTEREO'
|
| 49 |
|
|
else: env['RAD_STEREO'] = '-DNOSTEREO'
|
| 50 |
|
|
env = conf.Finish ()
|
| 51 |
|
|
break
|
| 52 |
|
|
env = conf.Finish ()
|
| 53 |
|
|
|
| 54 |
schorsch |
1.3 |
|
| 55 |
schorsch |
1.1 |
def find_gl(env):
|
| 56 |
|
|
# Check for libGL, set flag
|
| 57 |
schorsch |
1.3 |
dl = [(None,None)] # standard search path
|
| 58 |
|
|
if env.has_key('X11INCLUDE'): # sometimes found there (Darwin)
|
| 59 |
|
|
dl.append((env['X11INCLUDE'], env['X11LIB']))
|
| 60 |
|
|
for incdir, libdir in dl:
|
| 61 |
schorsch |
1.4 |
if incdir: env.Prepend(CPPPATH=[incdir]) # add temporarily
|
| 62 |
|
|
if libdir: env.Prepend(LIBPATH=[libdir])
|
| 63 |
schorsch |
1.3 |
conf = SConf(env)
|
| 64 |
schorsch |
1.9 |
if (conf.CheckLib('GL')
|
| 65 |
|
|
or conf.CheckLib('opengl32')
|
| 66 |
|
|
or conf.CheckCHeader('OpenGL/gl.h')
|
| 67 |
|
|
or conf.CheckCHeader('GL/gl.h')):
|
| 68 |
schorsch |
1.2 |
env['OGL'] = 1
|
| 69 |
schorsch |
1.9 |
if os.name == 'nt':
|
| 70 |
|
|
if (conf.CheckLib('GLU') # for winrview
|
| 71 |
|
|
or conf.CheckLib('glu32')
|
| 72 |
|
|
or conf.CheckCHeader('OpenGL/glu.h')):
|
| 73 |
|
|
env['GLU'] = 1
|
| 74 |
schorsch |
1.2 |
if incdir: env['CPPPATH'].remove(incdir) # not needed for now
|
| 75 |
schorsch |
1.3 |
if libdir: env['LIBPATH'].remove(libdir)
|
| 76 |
|
|
if env.has_key('OGL'):
|
| 77 |
|
|
if incdir: env.Replace(OGLINCLUDE=[incdir])
|
| 78 |
schorsch |
1.9 |
if env.has_key('GLU'):
|
| 79 |
|
|
if incdir: env.Replace(GLUINCLUDE=[incdir])
|
| 80 |
schorsch |
1.3 |
#if libdir: env.Replace(OGLLIB=[libdir])
|
| 81 |
|
|
conf.Finish()
|
| 82 |
|
|
break
|
| 83 |
|
|
conf.Finish()
|
| 84 |
schorsch |
1.1 |
|
| 85 |
schorsch |
1.4 |
|
| 86 |
|
|
def find_libtiff(env):
|
| 87 |
|
|
# Check for libtiff, set flag and include/lib directories
|
| 88 |
|
|
dl = [ (None,None), ] # standard search path
|
| 89 |
|
|
cfgi = env.get('TIFFINCLUDE')
|
| 90 |
|
|
cfgl = env.get('TIFFLIB')
|
| 91 |
|
|
if cfgi or cfgl:
|
| 92 |
|
|
dl.insert(0,(cfgi, cfgl))
|
| 93 |
|
|
for incdir, libdir in dl:
|
| 94 |
schorsch |
1.8 |
xenv = env.Clone()
|
| 95 |
|
|
if incdir: xenv.Prepend(CPPPATH=[incdir]) # add temporarily
|
| 96 |
|
|
if libdir:
|
| 97 |
|
|
xenv.Prepend(LIBPATH=[libdir])
|
| 98 |
|
|
xenv.Prepend(PATH=[libdir])
|
| 99 |
|
|
conf = SConf(xenv)
|
| 100 |
schorsch |
1.7 |
libname = 'tiff'
|
| 101 |
|
|
if os.name == 'nt':
|
| 102 |
schorsch |
1.8 |
xenv['INCPREFIX'] = '/I ' # Bug in SCons (uses '/I')
|
| 103 |
schorsch |
1.7 |
libname = 'libtiff'
|
| 104 |
|
|
if conf.CheckLib(libname, 'TIFFInitSGILog',
|
| 105 |
schorsch |
1.8 |
header='''#include "tiff.h"''', autoadd=0):
|
| 106 |
schorsch |
1.4 |
env['TIFFLIB_INSTALLED'] = 1
|
| 107 |
|
|
if env.has_key('TIFFLIB_INSTALLED'):
|
| 108 |
schorsch |
1.8 |
env.Replace(RAD_LIBTIFF=libname)
|
| 109 |
schorsch |
1.4 |
if incdir: env.Replace(RAD_TIFFINCLUDE=[incdir])
|
| 110 |
|
|
if libdir: env.Replace(RAD_TIFFLIB=[libdir])
|
| 111 |
|
|
conf.Finish()
|
| 112 |
|
|
break
|
| 113 |
|
|
conf.Finish()
|
| 114 |
|
|
|
| 115 |
schorsch |
1.11 |
# vi: set ts=4 sw=4 :
|
| 116 |
|
|
|