-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathSConstruct
More file actions
81 lines (66 loc) · 2.66 KB
/
SConstruct
File metadata and controls
81 lines (66 loc) · 2.66 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
import os, sys, string
sys.path.append('../../framework')
import bldutil
try: # distribution version
Import('env root libdir incdir bindir pkgdir')
env = env.Clone()
except: # local version
env = bldutil.Debug()
root = None
SConscript('../lib/SConstruct')
plplot = env.get('PLPLOT')
plplotlibpath = env.get('PLPLOTLIBPATH','')
##############################################################################
# Loadable PLPLOT driver
##############################################################################
inc = env.RSF_Include('plvpl')
env.Ignore('plvpl.h','plvpl.h')
if plplot:
env.Prepend(CPPPATH=['../../include',env.get('PLPLOTPATH')],
LIBPATH=['../../lib'])
if plplotlibpath:
env.Prepend(LIBPATH=[plplotlibpath])
if env['PLATFORM'] == 'cygwin':
dlib = env.LoadableModule('plvpl','plvpl.c',
LIBS=['libdrsf','libdrsfplot',plplot],
LDMODULEPREFIX='')
else:
dlib = env.LoadableModule('plvpl','plvpl.c',
LIBS=['drsf','drsfplot',plplot],
LDMODULESUFFIX='.so',
LDMODULEPREFIX='',
FRAMEWORKSFLAGS='-flat_namespace '
'-undefined suppress')
if root:
install = env.Install(libdir,[dlib,'plvpl.rc'])
env.InstallAs(os.path.join(libdir,'plvpl.driver_info'),'plvpl.rc')
if env['PLATFORM'] == 'darwin':
for lib in ('rsf','rsfplot'):
env.AddPostAction(install[0],
'%s -change build/%s/libd%s.dylib '
'%s/libd%s.dylib %s' % \
(WhereIs('install_name_tool'),
{'rsf':'api/c','rsfplot':'plot/lib'}[lib],
lib,libdir,lib,install[0]))
##############################################################################
# Plot tools
##############################################################################
progs = 'plsurf'
mains = Split(progs)
libprefix = env.get('DYNLIB','')
for prog in mains:
if plplot:
main = env.Program(prog + '.c',
LIBS=[libprefix+'rsf', libprefix+'rsfplot', plplot]+\
env.get('LIBS',[]))
else:
main = env.RSF_Place('sf'+prog,None,package='libplplot-dev')
if root:
install = env.Install(bindir,main[0])
if root:
main = 'sfplplot.py'
docs = map(env.Doc,mains)
env.Depends(docs,'#/framework/rsf/doc.py')
doc = env.RSF_Docmerge(main,docs)
env.Install('../../framework/rsf',doc)
env.Install(pkgdir,doc)