author | Radek Brich <radek.brich@devl.cz> |
Thu, 24 Apr 2008 13:55:11 +0200 | |
branch | pyrit |
changeset 82 | 930a2d3ecaed |
parent 79 | 062b1c4143f7 |
child 88 | f7edb3b90816 |
permissions | -rw-r--r-- |
63
440e1ae80459
add many SCons targets (see DEVNOTES)
Radek Brich <radek.brich@devl.cz>
parents:
61
diff
changeset
|
1 |
Import('env') |
440e1ae80459
add many SCons targets (see DEVNOTES)
Radek Brich <radek.brich@devl.cz>
parents:
61
diff
changeset
|
2 |
env.Append(CPPPATH = '#include') |
60 | 3 |
|
4 |
pyenv = env.Clone() |
|
65
242839c6d27d
basic detection of compiler (GCC or ICC) and CPU capabilities
Radek Brich <radek.brich@devl.cz>
parents:
63
diff
changeset
|
5 |
if env['PLATFORM'] == 'win32': |
242839c6d27d
basic detection of compiler (GCC or ICC) and CPU capabilities
Radek Brich <radek.brich@devl.cz>
parents:
63
diff
changeset
|
6 |
import sys |
242839c6d27d
basic detection of compiler (GCC or ICC) and CPU capabilities
Radek Brich <radek.brich@devl.cz>
parents:
63
diff
changeset
|
7 |
pythonver = '%c%c' % (sys.version[0], sys.version[2]) |
242839c6d27d
basic detection of compiler (GCC or ICC) and CPU capabilities
Radek Brich <radek.brich@devl.cz>
parents:
63
diff
changeset
|
8 |
pythonlib = 'python'+pythonver |
242839c6d27d
basic detection of compiler (GCC or ICC) and CPU capabilities
Radek Brich <radek.brich@devl.cz>
parents:
63
diff
changeset
|
9 |
pythonpath = [env['pythonpath'], |
242839c6d27d
basic detection of compiler (GCC or ICC) and CPU capabilities
Radek Brich <radek.brich@devl.cz>
parents:
63
diff
changeset
|
10 |
'C:\\Program Files\\Python'+pythonver] |
242839c6d27d
basic detection of compiler (GCC or ICC) and CPU capabilities
Radek Brich <radek.brich@devl.cz>
parents:
63
diff
changeset
|
11 |
pyenv.Append(LIBS=pythonlib) |
242839c6d27d
basic detection of compiler (GCC or ICC) and CPU capabilities
Radek Brich <radek.brich@devl.cz>
parents:
63
diff
changeset
|
12 |
pyenv.Append(CPPPATH=[s+'\\include' for s in pythonpath]) |
242839c6d27d
basic detection of compiler (GCC or ICC) and CPU capabilities
Radek Brich <radek.brich@devl.cz>
parents:
63
diff
changeset
|
13 |
pyenv.Append(LIBPATH=[s+'\\libs' for s in pythonpath]) |
242839c6d27d
basic detection of compiler (GCC or ICC) and CPU capabilities
Radek Brich <radek.brich@devl.cz>
parents:
63
diff
changeset
|
14 |
pyenv.Replace(SHLIBSUFFIX='.pyd') |
242839c6d27d
basic detection of compiler (GCC or ICC) and CPU capabilities
Radek Brich <radek.brich@devl.cz>
parents:
63
diff
changeset
|
15 |
else: |
242839c6d27d
basic detection of compiler (GCC or ICC) and CPU capabilities
Radek Brich <radek.brich@devl.cz>
parents:
63
diff
changeset
|
16 |
pyenv.ParseConfig('python-config --includes --libs') |
60 | 17 |
|
18 |
sources = [ |
|
78
9569e9f35374
move shapes to extra source file
Radek Brich <radek.brich@devl.cz>
parents:
65
diff
changeset
|
19 |
'raytracer.cc', 'scene.cc', 'shapes.cc', 'sampler.cc', |
79
062b1c4143f7
material and texture classes moved to material.(cc,h)
Radek Brich <radek.brich@devl.cz>
parents:
78
diff
changeset
|
20 |
'container.cc', 'kdtree.cc', 'octree.cc', 'material.cc', |
78
9569e9f35374
move shapes to extra source file
Radek Brich <radek.brich@devl.cz>
parents:
65
diff
changeset
|
21 |
'serialize.cc'] |
60 | 22 |
|
23 |
objs = [] |
|
24 |
shared_objs = [] |
|
25 |
for src in sources: |
|
26 |
objs.append( env.Object(src) ) |
|
27 |
shared_objs.append( env.SharedObject(src) ) |
|
28 |
||
65
242839c6d27d
basic detection of compiler (GCC or ICC) and CPU capabilities
Radek Brich <radek.brich@devl.cz>
parents:
63
diff
changeset
|
29 |
pymodule = pyenv.SharedLibrary('raytracer', |
60 | 30 |
['raytracermodule.cc']+shared_objs, |
31 |
SHLIBPREFIX = '', |
|
32 |
CCFLAGS = '$CCFLAGS -Wno-write-strings') |
|
33 |
||
61 | 34 |
lib = env.StaticLibrary('pyrit', objs) |
35 |
||
63
440e1ae80459
add many SCons targets (see DEVNOTES)
Radek Brich <radek.brich@devl.cz>
parents:
61
diff
changeset
|
36 |
env.Alias('objs', objs) |
440e1ae80459
add many SCons targets (see DEVNOTES)
Radek Brich <radek.brich@devl.cz>
parents:
61
diff
changeset
|
37 |
env.Alias('static-lib', lib) |
440e1ae80459
add many SCons targets (see DEVNOTES)
Radek Brich <radek.brich@devl.cz>
parents:
61
diff
changeset
|
38 |
env.Alias('shared-objs', shared_objs) |
440e1ae80459
add many SCons targets (see DEVNOTES)
Radek Brich <radek.brich@devl.cz>
parents:
61
diff
changeset
|
39 |
env.Alias('python-module', pymodule) |
440e1ae80459
add many SCons targets (see DEVNOTES)
Radek Brich <radek.brich@devl.cz>
parents:
61
diff
changeset
|
40 |
env.Alias('libs', ['static-lib', 'python-module']) |
440e1ae80459
add many SCons targets (see DEVNOTES)
Radek Brich <radek.brich@devl.cz>
parents:
61
diff
changeset
|
41 |
|
61 | 42 |
Return('lib pymodule') |