/[ascend]/trunk/tcltk/interface/SConscript
ViewVC logotype

Contents of /trunk/tcltk/interface/SConscript

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2024 - (show annotations) (download)
Wed Apr 29 09:29:27 2009 UTC (11 years, 4 months ago) by jpye
File size: 3046 byte(s)
Fixing up Tcl/Tk build with renamed dirs.
1 #!/usr/bin/python scons
2 Import('env')
3
4 srcs = Split("""
5 AscBitmaps.c AscPrintTcl.c BrowLogRel_io.c BrowWhen_io.c
6 BrowserMethod.c BrowserProc.c BrowserQuery.c BrowserRel_io.c
7 Commands.c DebugProc.c DisplayProc.c
8 EnvVarProc.c HelpProc.c Integrators.c
9 LibraryProc.c MtxProc.c ProbeProc.c Qlfdid.c
10 ScriptProc.c Sensitivity.c SimsProc.c SlvProc.c
11 SolverProc.c UnitsProc.c UserData.c
12 tkConsole.c old_utils.c Driver.c
13 """)
14
15 tcl_env = env.Clone()
16
17 if env.get('HAVE_LEX'):
18 typelexsource = tcl_env.CFile('typelex.l',LEXFLAGS = '-l -Ptyp_')
19 # copy the file for later use when people don't have flex:
20 if env.get('UPDATE_NO_YACC_LEX'):
21 env.Command('typelex_no_lex.c',typelexsource,Copy('$TARGET','$SOURCE'))
22 else:
23 typelexsource = 'typelex_no_lex.c'
24
25 if tcl_env.get('TCL_CPPPATH'):
26 tcl_env.AppendUnique(CPPPATH=[tcl_env['TCL_CPPPATH']])
27
28 if tcl_env.get('TK_CPPPATH'):
29 tcl_env.AppendUnique(CPPPATH=[tcl_env['TK_CPPPATH']])
30
31 tcl_env.AppendUnique(LIBS=['ascend'])
32 tcl_env.AppendUnique(LIBPATH=['#'])
33
34 if tcl_env.get('STATIC_TCLTK'):
35 print "STATIC TCL/TK PROGRAM LINKAGE"
36 srcs += ['$TCL_LIB','$TK_LIB','$TKTABLE_LIB']
37 tcl_env.AppendUnique(LIBS=[tcl_env['X11_LIB']])
38 tcl_env.AppendUnique(LIBPATH=[tcl_env['X11_LIBPATH']])
39
40 if tcl_env['TKTABLE_LIBPATH']:
41 tcl_env.Append(LIBPATH=tcl_env['TKTABLE_LIBPATH'])
42
43 tcl_env.Program("ascend4",["main.c"] + srcs)
44 else:
45 print "DYNAMIC TCL/TK PROGRAM LINKAGE"
46 tcl_env.Append(LIBS=tcl_env['TCL_LIB'])
47 tcl_env.Append(LIBS=tcl_env['TK_LIB'])
48
49 if tcl_env.has_key('TCL_LIBPATH'):
50 tcl_env.AppendUnique(LIBPATH=[tcl_env['TCL_LIBPATH']])
51 if tcl_env.has_key('TK_LIBPATH'):
52 tcl_env.AppendUnique(LIBPATH=[tcl_env['TK_LIBPATH']])
53
54 ascendtcllib = tcl_env.SharedLibrary('ascendtcl',srcs + [typelexsource] )
55
56 #tcl_so = tcl_env.Command(Copy('$SHLIBPREFIX$TCL_LIB$SHLIBSUFFIX','$TCL_LIBPATH/$SHLIBPREFIX$TCL_LIB$SHLIBSUFFIX'))
57 #tk_so = tcl_env.Command(Copy('$SHLIBPREFIX$TK_LIB$SHLIBSUFFIX','$TK_LIBPATH/$SHLIBPREFIX$TK_LIB$SHLIBSUFFIX'))
58 #tktable_so = tcl_env.Command(Copy('$SHLIBPREFIX$TKTABLE_LIB$SHLIBSUFFIX','$TKTABLE_LIBPATH/$SHLIBPREFIX$TKTABLE_LIB$SHLIBSUFFIX'))
59
60 tcl_env.Prepend(LIBPATH=['.'])
61
62 ascendtclprog = tcl_env.Program("ascend4",["main.c"]
63 , LIBS = tcl_env['LIBS']+['ascendtcl']
64 )
65
66 if tcl_env.get('CAN_INSTALL'):
67 env.InstallProgram(Dir(env.subst("$INSTALL_ROOT$INSTALL_BIN")),ascendtclprog)
68 env.InstallShared(Dir(env.subst("$INSTALL_ROOT$INSTALL_LIB")),ascendtcllib)
69
70 import glob
71
72 tkdir = "$INSTALL_ROOT$INSTALL_ASCDATA/tcltk"
73
74 import os
75 import os.path
76
77 cd = os.getcwd()
78 os.chdir(env.Dir("#tcltk/tk").abspath)
79
80 files = {}
81
82 for root, dirs, files in os.walk("."):
83 #print root, "..."
84 dest = Dir(env.subst(tkdir)+"/"+root)
85 for name in files:
86 env.InstallShared(dest,"#tcltk/tk/"+os.path.join(root, name))
87 #print dest,"<---",os.path.join(root, name)
88
89 if 'CVS' in dirs:
90 dirs.remove('CVS') # don't visit CVS directories
91 if '.svn' in dirs:
92 dirs.remove('.svn') # don't visit .svn directories
93
94 os.chdir(cd)
95
96 # vim: set syntax=python:
97

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