/[escript]/tags/stable-2005-11-09/mk
ViewVC logotype

Diff of /tags/stable-2005-11-09/mk

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

revision 99 by jgs, Wed Dec 15 03:48:38 2004 UTC revision 150 by jgs, Thu Sep 15 03:44:45 2005 UTC
# Line 1  Line 1 
1  #!/bin/env bash  #!/bin/bash
2    
3  # $Id$  # $Id$
4  # a brutal building script for esys  # An explicit building script for esys
5    
6    #**********************************************************************
7    # NB: this script is setup to perform default developmental builds
8    # change any settings you require, but PLEASE do not check any changes
9    # to this script back into the repository - talk to Jon first
10    #**********************************************************************
11    
12    # the modules to make
13    MODULES="tools/CppUnitTest tools/mmio esysUtils escript paso finley bruce modellib"
14    
15    # the modules to test
16    TESTS="escript finley bruce"
17    
18  MODULES="tools/CppUnitTest tools/mmio esysUtils escript finley"  # the python tests to run
19  #MODULES="escript finley"  FINLEY_PYTESTS="ImportTest.py SimpleSolve.py GradTest.py test_linearPDEsOnFinley.py test_generators.py test_visualization_interface.py"
20    ESCRIPT_PYTESTS="ImportTest.py BinaryOps.py UnaryOps.py SliceGetting.py SliceSetting.py MiscTests.py newEscriptTests.py escriptTest.py DataVariableTests.py test_xml.py pdetoolsTest.py"
21    BRUCE_PYTESTS="ImportTest.py"
22    
23  if [ "$1" == "clean" ];  # use this setting for local developmental builds
24    ENVVARS="DODEBUG=YES"
25    
26    if [ "$2" == "DEBUG" ]
27  then  then
28      for module in $MODULES ; do \      ENVVARS="DODEBUG=YES"
29          (echo Cleaning: $module; cd $module; make clean) \  fi
30    
31    if [ "$2" == "NODEBUG" ]
32    then
33        ENVVARS="DODEBUG=NO"
34    fi
35    
36    # use this setting for production installs on altix
37    # ** NB: overwrites centrally installed esys libraries on altix ***
38    #ENVVARS="$ENVVARS L_INSTLIB_DIR=/raid2/tools/esys/lib L_PYTH_DIR=/raid2/tools/esys/esys"
39    
40    # ensure required symlinks are setup first
41    (cd esysUtils/inc; if [ ! -h esysUtils ]; then ln -s ../src esysUtils; fi)
42    (cd escript/inc; if [ ! -h escript ]; then ln -s ../src escript; fi)
43    (cd finley/inc; if [ ! -h finley ]; then ln -s ../src finley; fi)
44    (cd paso/inc; if [ ! -h paso ]; then ln -s ../src paso; fi)
45    (cd bruce/inc; if [ ! -h bruce ]; then ln -s ../src bruce; fi)
46    
47    (cd tools/mmio; if [ ! -h Makefile ]; then ln -s ./mmio.mk Makefile; fi)
48    (cd tools/CppUnitTest; if [ ! -h Makefile ]; then ln -s ./CppUnitTest.mk Makefile; fi)
49    (cd esysUtils; if [ ! -h Makefile ]; then ln -s ./esysUtils.mk Makefile; fi)
50    (cd escript; if [ ! -h Makefile ]; then ln -s ./escript.mk Makefile; fi)
51    (cd finley; if [ ! -h Makefile ]; then ln -s ./finley.mk Makefile; fi)
52    (cd paso; if [ ! -h Makefile ]; then ln -s ./paso.mk Makefile; fi)
53    (cd bruce; if [ ! -h Makefile ]; then ln -s ./bruce.mk Makefile; fi)
54    (cd modellib; if [ ! -h Makefile ]; then ln -s ./modellib.mk Makefile; fi)
55    
56    # clean all modules
57    if [ "$1" == "clean" ]
58    then
59        for module in $MODULES ; do
60            (echo Cleaning: $module; cd $module; make clean)
61      done      done
62            exit 0
63  fi  fi
64    
65  (cd escript/lib; if [ ! -e py_src ]; then mkdir py_src; fi)  # uninstall all modules
66    if [ "$1" == "uninstall" ]
67    then
68        for module in $MODULES ; do
69            (echo Cleaning: $module; cd $module; make clean)
70        done
71        for module in $MODULES ; do
72            (echo Uninstalling: $module; cd $module; make uninstall)
73        done
74            exit 0
75    fi
76    
77  (cd escript/inc; if [ ! -e escript ]; then ln -s ../src escript; fi)  # run the unit tests
78  (cd esysUtils/inc; if [ ! -e esysUtils ]; then ln -s ../src esysUtils; fi)  if [ "$1" == "unit_test" ]
79  (cd finley/inc; if [ ! -e finley ]; then ln -s ../src finley; fi)  then
80        for module in $TESTS
81  (cd escript; if [ ! -e Makefile ]; then ln -s ./escript.mk Makefile; fi)      do
82  (cd esysUtils; if [ ! -e Makefile ]; then ln -s ./esysUtils.mk Makefile; fi)      echo "Running unit tests for: $module"
83  (cd finley; if [ ! -e Makefile ]; then ln -s ./finley.mk Makefile; fi)      cd $ESYS_ROOT/$module/test
84  (cd tools/mmio; if [ ! -e Makefile ]; then ln -s ./mmio.mk Makefile; fi)      ./unit_test
85  (cd tools/CppUnitTest; if [ ! -e Makefile ]; then ln -s ./CppUnitTest.mk Makefile; fi)          if [ $? != 0 ]
86            then
87              echo Unit Testing FAILED for module: $module
88              exit 1
89            fi
90        done
91        exit 0
92    fi
93    
94  for module in $MODULES ; do \  # run the python tests
95      (echo Building: $module; cd $module; make) \  if [ "$1" == "py_test" ]
96    then
97        for module in $TESTS
98        do
99        echo "Running python tests for: $module"
100        cd $ESYS_ROOT/$module/test/python
101        if [ "$module" == "finley" ]
102        then
103                for pytest in $FINLEY_PYTESTS
104                do
105                echo "Running python test: $pytest"
106                    python $pytest
107                    if [ $? != 0 ]
108                    then
109                      echo Python Testing FAILED for $pytest in module $module
110                      exit 1
111                    fi
112                done
113        elif [ "$module" == "escript" ]
114        then
115                for pytest in $ESCRIPT_PYTESTS
116                do
117                echo "Running python test: $pytest"
118                    python $pytest
119                    if [ $? != 0 ]
120                    then
121                      echo Python Testing FAILED for $pytest in module $module
122                      exit 1
123                    fi
124                done
125        elif [ "$module" == "bruce" ]
126        then
127                for pytest in $BRUCE_PYTESTS
128                do
129                echo "Running python test: $pytest"
130                    python $pytest
131                    if [ $? != 0 ]
132                    then
133                      echo Python Testing FAILED for $pytest in module $module
134                      exit 1
135                    fi
136                done
137        fi
138        done
139        exit 0
140    fi
141    
142    # default case - just build all modules
143    echo "*************** build ************************************"
144    for module in $MODULES ; do
145        (echo Building: $module; cd $module; env $ENVVARS make -j 10)
146            if [ $? != 0 ]
147            then
148                echo Build FAILED for module: $module
149                exit 1
150            fi
151  done  done
152    
153  (cd escript/lib; if [ ! -e escript.so ]; then ln -s libescript.so escript.so; fi)  # install all modules
154  (cd finley/lib; if [ ! -e  finley.so ]; then ln -s libfinley.so finley.so; fi)  if [ "$1" == "install" ]
155    then
156            echo "***************installation ************************************"
157        for module in $MODULES ; do \
158                    echo ENVVARS = $ENVVARS
159            (echo Installing: $module; cd $module; env $ENVVARS make install)
160                    if [ $? != 0 ]
161                    then
162                      echo Installation FAILED for module: $module
163                      exit 1
164                    fi
165        done
166            (cd esys; touch __init__.py)
167            (cd esys/escript; if [ ! -h escriptcpp.so ]; then ln -s ../../lib/libescriptcpp.so escriptcpp.so; fi)
168            (cd esys/finley; if [ ! -h finleycpp.so ]; then ln -s ../../lib/libfinleycpp.so finleycpp.so; fi)
169            (cd esys/bruce; if [ ! -h brucecpp.so ]; then ln -s ../../lib/libbrucecpp.so brucecpp.so; fi)
170            exit 0
171    fi

Legend:
Removed from v.99  
changed lines
  Added in v.150

  ViewVC Help
Powered by ViewVC 1.1.26