| 
60
 | 
     1  | 
env = Environment(CPPPATH = '#include')
  | 
| 
 | 
     2  | 
  | 
| 
 | 
     3  | 
import os
  | 
| 
 | 
     4  | 
PY_CCFLAGS = os.popen('python-config --includes').read()
 | 
| 
 | 
     5  | 
PY_LDFLAGS = os.popen('python-config --libs').read()
 | 
| 
 | 
     6  | 
pyenv = env.Clone()
  | 
| 
 | 
     7  | 
pyenv.Append(LINKFLAGS=PY_LDFLAGS, CCFLAGS=PY_CCFLAGS)
  | 
| 
 | 
     8  | 
env.Append()
  | 
| 
 | 
     9  | 
  | 
| 
 | 
    10  | 
sources = [
  | 
| 
 | 
    11  | 
	'raytracer.cc', 'scene.cc', 'sampler.cc',
  | 
| 
 | 
    12  | 
	'container.cc', 'kdtree.cc', 'octree.cc', 'noise.cc']
  | 
| 
 | 
    13  | 
  | 
| 
 | 
    14  | 
objs = []
  | 
| 
 | 
    15  | 
shared_objs = []
  | 
| 
 | 
    16  | 
for src in sources:
  | 
| 
 | 
    17  | 
	objs.append( env.Object(src) )
  | 
| 
 | 
    18  | 
	shared_objs.append( env.SharedObject(src) )
  | 
| 
 | 
    19  | 
  | 
| 
 | 
    20  | 
pymodule = pyenv.SharedLibrary(
  | 
| 
 | 
    21  | 
	['raytracermodule.cc']+shared_objs,
  | 
| 
 | 
    22  | 
	SHLIBPREFIX = '',
  | 
| 
 | 
    23  | 
	CCFLAGS = '$CCFLAGS -Wno-write-strings')
  | 
| 
 | 
    24  | 
  | 
| 
 | 
    25  | 
Return('objs pymodule')
 |