/[ascend]/trunk/base/generic/compiler/SConscript
ViewVC logotype

Annotation of /trunk/base/generic/compiler/SConscript

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1436 - (hide annotations) (download)
Mon May 21 09:39:28 2007 UTC (17 years, 6 months ago) by jpye
File size: 2784 byte(s)
Fixed build for SCons 0.96.92. Needs testing.
1 johnpye 669 Import('libascend_env')
2 johnpye 385
3 johnpye 463 csrcs = Split("""
4 johnpye 385 anoncopy.c anonmerg.c anontype.c arrayinst.c ascCompiler.c
5     atomsize.c atomvalue.c bintoken.c bit.c braced.c
6     case.c check.c child.c childdef.c childio.c childinfo.c cmpfunc.c
7     commands.c copyinst.c createinst.c destroyinst.c
8     dimen.c dimen_io.c dump.c
9     evaluate.c exprio.c exprs.c exprsym.c extcall.c
10     extfunc.c extinst.c find.c forvars.c fractions.c
11 johnpye 1031 freestore.c func.c findpath.c
12     importhandler.c initialize.c instance_io.c
13 johnpye 463 instantiate.c instmacro.c instquery.c
14 johnpye 385 library.c linkinst.c logrel_io.c logrel_util.c
15     logrelation.c mathinst.c mergeinst.c module.c name.c
16 johnpye 508 nameio.c notate.c numlist.c parentchild.c
17 johnpye 385 parpend.c pending.c plot.c proc.c procframe.c
18     procio.c prototype.c qlfdid.c refineinst.c rel_common.c relation.c
19 johnpye 908 rel_blackbox.c
20 johnpye 385 relation_io.c relation_util.c rootfind.c safe.c
21     select.c setinst_io.c setinstval.c setio.c
22     sets.c slist.c simlist.c statement.c statio.c switch.c
23     symtab.c syntax.c temp.c tmpnum.c type_desc.c
24 johnpye 928 type_descio.c typedef.c typelint.c
25 johnpye 453 units.c universal.c
26 johnpye 385 value_type.c visitinst.c visitlink.c vlist.c vlistio.c
27     watchpt.c watchptio.c when.c when_io.c when_util.c
28     """)
29    
30 johnpye 721 import platform, glob
31 johnpye 463
32 johnpye 741 scanparse_env = libascend_env.Copy()
33    
34     scanparse_env.Append(CCFLAGS=scanparse_env.get('YACC_CCFLAGS'))
35    
36     if scanparse_env.has_key('HAVE_YACC'):
37 johnpye 498 parsersource = 'ascParse.y'
38     parserheader = 'ascParse.h'
39     else:
40 johnpye 490 parsersource = 'ascParse_no_yacc.c'
41 johnpye 669 parserheader = libascend_env.Command('ascParse.h', 'ascParse_no_yacc.h',Copy('$TARGET', '$SOURCE'))
42 johnpye 498
43 johnpye 741 if scanparse_env.has_key('HAVE_LEX'):
44 johnpye 498 scannersource = 'scanner.l'
45     else:
46 johnpye 490 scannersource = 'scanner_no_flex.c'
47    
48 johnpye 741 parser = scanparse_env.SharedObject(target=['ascParse'], source=parsersource
49 johnpye 818 , YACCFLAGS=['-y','-d','-pzz_']
50 johnpye 490 )
51    
52 johnpye 669 scanner = libascend_env.SharedObject(target=['scanner'],source=scannersource
53 johnpye 818 , LEXFLAGS=['-l','-Pzz_']
54 johnpye 490 )
55    
56 johnpye 669 packages_env = libascend_env.Copy()
57     packages_env.Append(CPPDEFINES=[('ASC_SHLIBSUFFIX','\\"'+libascend_env['SHLIBSUFFIX']+'\\"'),('ASC_SHLIBPREFIX','\\"'+libascend_env['SHLIBPREFIX']+'\\"')])
58 johnpye 508 packages = packages_env.SharedObject('packages.c')
59 johnpye 490
60 johnpye 508 objs = [parser,scanner,packages]
61    
62 johnpye 721 # SLOPPY sources. This is a painful hack that should be fixed using 'config.h' style solution.
63    
64 johnpye 463 sloppy_csrcs = ['rounded.c','interval.c']
65    
66 johnpye 669 sloppy_env = libascend_env.Copy()
67 johnpye 507 sloppy_env.Append(CPPDEFINES=['SLOPPY']);
68 johnpye 463 for s in sloppy_csrcs:
69 johnpye 507 objs += sloppy_env.SharedObject(s)
70 johnpye 385
71 johnpye 669 libascend_env.Depends(scanner,[parserheader])
72 johnpye 385
73 johnpye 490 for s in [csrcs]:
74 johnpye 669 objs += libascend_env.SharedObject(s)
75 johnpye 385
76 johnpye 721 #--------------------
77     # INSTALL
78    
79     if libascend_env.get('CAN_INSTALL'):
80 jpye 1436 installdir = Dir(libascend_env.subst("$INSTALL_ROOT$INSTALL_INCLUDE/compiler"))
81 johnpye 721
82     headers = glob.glob("*.h")
83     libascend_env.InstallHeader(installdir,headers)
84    
85 johnpye 463 Return('objs')
86 johnpye 811
87     # vim: set syntax=python:
88    

john.pye@anu.edu.au
ViewVC Help
Powered by ViewVC 1.1.22