/[escript]/trunk/doc/SConscript
ViewVC logotype

Diff of /trunk/doc/SConscript

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

temp_trunk_copy/doc/SConscript revision 1384 by phornby, Fri Jan 11 02:29:38 2008 UTC trunk/doc/SConscript revision 3385 by ahallam, Thu Nov 25 04:41:33 2010 UTC
# Line 1  Line 1 
 # Scons configuration file for documentation  
1    
2  #          Copyright 2006 by ACcESS MNRF                    ########################################################
 #                                                            
 #              http://www.access.edu.au                      
 #       Primary Business: Queensland, Australia              
 #  Licensed under the Open Software License version 3.0      
 #     http://www.opensource.org/licenses/osl-3.0.php        
 #                                                            
3  #  #
4    # Copyright (c) 2003-2010 by University of Queensland
5    # Earth Systems Science Computational Center (ESSCC)
6    # http://www.uq.edu.au/esscc
7  #  #
8  # set appropriate defaults for configuration variables  # Primary Business: Queensland, Australia
9    # Licensed under the Open Software License version 3.0
10    # http://www.opensource.org/licenses/osl-3.0.php
11    #
12    ########################################################
13    
14  import os  import os
15  Import('*')  Import('*')
16    
17  local_env=env.Copy()  haveGMSH=False  # do we have gmsh?
18    haveMPL=False   # do we have matplotlib?
19  # get all the file names in doc/examples:  haveGD=False    # does matplotlib have griddata?
20  src_dir = local_env.Dir('examples').srcnode().abspath  
21  example_files = os.popen("find " + src_dir + " -name .svn -prune -o -type f -print").read().split(None)  # check for gmsh
22    try:
23        import subprocess
24        p=subprocess.Popen(['gmsh', '-version'], stderr=subprocess.PIPE)
25        p.poll()
26        haveGMSH=True
27    except OSError:
28        print("gmsh not found")
29    
30    mplmagicversion='0.98.5'
31    
32    # check for matplotlib
33    try:
34       import matplotlib
35       haveMPL=True
36       mplversion=matplotlib.__version__
37       from matplotlib.mlab import griddata
38       haveGD=True
39    except ImportError:
40       pass
41    
42    if not haveMPL:
43        print("matplotlib not found, skipping some tests")
44    else:
45        if mplversion<mplmagicversion:
46            print("matplotlib found, but version too early. Some tests skipped.")
47    
48    example_files_allow_mpi = []
49    example_files_no_mpi = []
50    example_deps = []
51    
52    def sortOutExample(name, needsGMSH=False, needsMPL=False, needsMagicMPL=False, needsGD=False, allowsMPI=True):
53        if needsMagicMPL: needsMPL=True
54        if needsGD: needsMPL=True
55        if needsGMSH: allowsMPI=False
56    
57        if (not needsGMSH or haveGMSH) and (not needsMPL or haveMPL) and (not needsMagicMPL or mplversion>=mplmagicversion) and (not needsGD or haveGD):
58            if allowsMPI:
59                example_files_allow_mpi.append(name)
60            else:
61                example_files_no_mpi.append(name)
62        else:
63            example_deps.append(name)
64    
65  env.Zip(examples_zipfile, example_files)  # these are the release examples in example subdirectory:
66  env.Tar(examples_tarfile, example_files)  #
67    #_deps is for files which end in .py and are required for
68    # testing but should not be invoked directly themselves
69    
70  # Call the doc build using SConscript  sortOutExample('usersguide/lid_driven_cavity.py')
71  local_env.SConscript(dirs = ['#/doc/user'], build_dir='#/build/$PLATFORM/doc/user', duplicate=1)  sortOutExample('usersguide/mount.py')
72    sortOutExample('usersguide/heatedblock.py')
73    sortOutExample('usersguide/helmholtz.py')
74    sortOutExample('usersguide/fluid.py')
75    sortOutExample('usersguide/poisson.py')
76    sortOutExample('usersguide/diffusion.py')
77    sortOutExample('usersguide/poisson_vtk.py')
78    sortOutExample('usersguide/slip.py')
79    sortOutExample('usersguide/int_save.py')
80    sortOutExample('usersguide/wave.py', needsMPL=True)
81    sortOutExample('usersguide/trapezoid.py', needsGMSH=True)
82    sortOutExample('usersguide/quad.py', needsGMSH=True)
83    sortOutExample('usersguide/brick.py', needsGMSH=True)
84    sortOutExample('usersguide/refine.py', needsGMSH=True)
85    sortOutExample('usersguide/poisson_matplotlib.py', needsGD=True, allowsMPI=False)
86    
87    sortOutExample('geotutorial/steadystate_variablek.py')
88    sortOutExample('geotutorial/steadystate.py')
89    sortOutExample('geotutorial/forward_euler.py')
90    sortOutExample('geotutorial/myfirstscript.py')
91    sortOutExample('geotutorial/backward_euler.py')
92    
93    example_deps.append('cookbook/cblib.py')
94    sortOutExample('cookbook/example01a.py')
95    sortOutExample('cookbook/example01b.py', needsMPL=True)
96    sortOutExample('cookbook/example01c.py', needsMPL=True, allowsMPI=False)
97    sortOutExample('cookbook/example02.py', needsMPL=True, allowsMPI=False)
98    sortOutExample('cookbook/example03a.py', needsGD=True, allowsMPI=False)
99    sortOutExample('cookbook/example03b.py')
100    sortOutExample('cookbook/example04a.py', needsGMSH=True)
101    sortOutExample('cookbook/example04b.py', needsGMSH=True, needsGD=True)
102    sortOutExample('cookbook/example05a.py', needsGMSH=True, needsGD=True)
103    sortOutExample('cookbook/example05b.py', needsGMSH=True, needsGD=True)
104    sortOutExample('cookbook/example05c.py', needsGMSH=True, needsGD=True, needsMagicMPL=True)
105    sortOutExample('cookbook/example06.py', needsGMSH=True, needsGD=True, needsMagicMPL=True)
106    sortOutExample('cookbook/example07a.py', needsMagicMPL=True, allowsMPI=False)
107    sortOutExample('cookbook/example07b.py', needsMagicMPL=True, allowsMPI=False)
108    sortOutExample('cookbook/example08a.py', needsMagicMPL=True, allowsMPI=False)
109    sortOutExample('cookbook/example08b.py', needsMagicMPL=True, allowsMPI=False)
110    sortOutExample('cookbook/example08c.py', needsMagicMPL=True, needsGMSH=True, allowsMPI=False)
111    sortOutExample('cookbook/example09m.py', needsMagicMPL=True, needsGMSH=True, allowsMPI=False)
112    sortOutExample('cookbook/example09a.py', needsMagicMPL=True, needsGMSH=True, allowsMPI=False)
113    sortOutExample('cookbook/example09b.py', needsMagicMPL=True, needsGMSH=True, allowsMPI=False)
114    
115    example_files = example_files_allow_mpi + example_files_no_mpi + example_deps
116    
117    ex2=[os.path.join("examples", str(x)) for x in example_files]
118    
119    #=============================================================================
120    
121    local_env = env.Clone()
122    src_dir = local_env.Dir('.').srcnode().abspath
123    release_dir=os.path.join(env['prefix'],'release','doc')
124    Export('release_dir')
125    
126    dir_cmd = "cd "+src_dir+" && "
127    
128    # Need to use explicit tar/zip rather than the builder due to problems getting
129    # it not to put unwanted path components in the archive file
130    # --transform on tar is not supported on savanna
131    zip_path=os.path.join(release_dir, 'escript_examples.zip')
132    zip = local_env.Command(zip_path, None, dir_cmd+"zip "+zip_path+" "+" ".join(ex2))
133    env.Alias('examples_zipfile', zip)
134    
135    tar_path=os.path.join(release_dir, 'escript_examples.tar.gz')
136    tar = local_env.Command(tar_path, None, dir_cmd+"tar -czf "+tar_path+" "+" ".join(ex2))
137    env.Alias('examples_tarfile', tar)
138    
139    #env=Environment(TARFLAGS = "-c -z",chdir=src_dir)
140    #if 'Tar' in dir(env):
141    # tar=env.Tar(tar_path, example_files, chdir=src_dir)
142    # env.Alias('examples_tarfile', tar)
143    
144    local_env.SConscript(dirs = ['#/doc/cookbook'], variant_dir='$BUILD_DIR/$PLATFORM/doc/cookbook', duplicate=1)
145    local_env.SConscript(dirs = ['#/doc/user'], variant_dir='$BUILD_DIR/$PLATFORM/doc/user', duplicate=1)
146    local_env.SConscript(dirs = ['#/doc/epydoc'], variant_dir='$BUILD_DIR/$PLATFORM/doc/epydoc', duplicate=1)
147    local_env.SConscript(dirs = ['#/doc/doxygen'], variant_dir='$BUILD_DIR/$PLATFORM/doc/doxygen', duplicate=1)
148    local_env.SConscript(dirs = ['#/doc/install'], variant_dir='$BUILD_DIR/$PLATFORM/doc/install', duplicate=1)
149    local_env.SConscript(dirs = ['#/doc/examples'], variant_dir='$BUILD_DIR/$PLATFORM/doc/examples', duplicate=1, exports=['example_files_allow_mpi', 'example_files_no_mpi', 'example_deps'])
150    
 local_env.SConscript(dirs = ['#/doc/epydoc'], build_dir='#/build/$PLATFORM/doc/epydoc', duplicate=1)  
 local_env.SConscript(dirs = ['#/doc/doxygen'], build_dir='#/build/$PLATFORM/doc/doxygen', duplicate=1)  

Legend:
Removed from v.1384  
changed lines
  Added in v.3385

  ViewVC Help
Powered by ViewVC 1.1.26