Salome HOME
changing header of bin files
[tools/install.git] / config_files / Numeric-23.7.sh
index d632fa218bf40bb0f93da6ef1acafcdef3f49ef6..750f9822e80d17c74cf277cee362030620772a05 100755 (executable)
@@ -20,18 +20,25 @@ make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}"
 
 # looks for the native product and collects it's environment (used by make_env())
 try_native(){
-check_version
-if [ $? -eq 0 ] ; then
-    pythonpath="`find_in_path Numeric.py ${PYTHONPATH}`"
-    tmp="${pythonpath} ${pythonpath} \${PYTHONPATH} ${PYTHONPATH}";  
-    pythonpath=`sort_path ${tmp}`
-    cat > ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh <<EOF 
+numpath=`python -c "import Numeric; print Numeric.__file__" 2>/dev/null`
+if [ -n "${numpath}" ] ; then
+    numpath=`dirname ${numpath}`
+    ver=`python -c 'import Numeric; print Numeric.__version__' 2>/dev/null | awk -F. '{v=0;for(i=1;i<=NF;i++)v=v*100+$i;print v}'`
+    if [ $ver -ge 2307 ] ; then
+       tmp="${numpath} ${numpath} \${PYTHONPATH} ${PYTHONPATH}";  
+       pythonpath=`sort_path ${tmp}`
+       cat > ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh <<EOF 
 #$DELIM ${PRODUCT_TYPE} $DELIM
 export PYTHONPATH=${pythonpath}
 ##
 EOF
-    make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}"
-    return 0
+       make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}"
+       if [ $ver -eq 2307 ] ; then
+           return 0
+       else
+           return 2
+       fi
+    fi
 fi
 return 1
 }
@@ -51,41 +58,58 @@ makedir ${PRODUCT_DIR}
 check_jb tar xfz ${SOURCE_DIR}/Numeric-23.7.tar.gz -C ${INSTALL_WORK}
 cd ${PRODUCT_WORK}
 
-# check existence of lapack, f77blas, cblas, atlas libraries
-found=1
-check_lib_version liblapack.so
-if [ "$?" -ne "0" ] ; then
-  found=0
-fi
-if [ "$found" -eq "1" ] ; then
-    check_lib_version libf77blas.so
-    if [ "$?" -ne "0" ] ; then
-       found=0
+# check existence of lapack, f77blas, cblas, atlas, g2c libraries
+check_lib_version liblapack.so  $LD_LIBRARY_PATH:/usr/lib
+lapack_nf=$?
+check_lib_version libf77blas.so $LD_LIBRARY_PATH:/usr/lib
+f77blas_nf=$?
+check_lib_version libcblas.so   $LD_LIBRARY_PATH:/usr/lib
+cblas_nf=$?
+check_lib_version libatlas.so   $LD_LIBRARY_PATH:/usr/lib
+atlas_nf=$?
+check_lib_version libg2c.so     $LD_LIBRARY_PATH:/usr/lib
+g2c_nf=$?
+let nfound=$lapack_nf+$f77blas_nf+$cblas_nf+$atlas_nf+$g2c_nf
+# modify build procedure according to the libraries found
+if [ $nfound -gt 0 ] ; then
+    cp setup.py setup.py.orig
+    if [ "$lapack_nf" -eq "1" ] ; then
+       sed -e "s%\(^libraries_list = \[\)\('lapack', \)\(.*\)$%\1\3%g" setup.py > _setup.py
+       mv _setup.py setup.py
     fi
-fi
-if [ "$found" -eq "1" ] ; then
-    check_lib_version libcblas.so
-    if [ "$?" -ne "0" ] ; then
-       found=0
+    if [ "$f77blas_nf" -eq "1" ] ; then 
+       sed -e "s%\(^libraries_list = \[.*\)\('f77blas', \)\(.*\)$%\1\3%g" setup.py > _setup.py
+       mv _setup.py setup.py
     fi
-fi
-if [ "$found" -eq "1" ] ; then
-    check_lib_version libatlas.so
-    if [ "$?" -ne "0" ] ; then
-       found=0
+    if [ "$cblas_nf" -eq "1" ] ; then
+       sed -e "s%\(^libraries_list = \[.*\)\('cblas', \)\(.*\)$%\1\3%g" setup.py > _setup.py
+       mv _setup.py setup.py
     fi
-fi
-# if any library is not found modify build procedure
-if [ "$found" -eq "0" ] ; then
-    cp setup.py setup.py.orig
-    sed -e "s%^use_dotblas = 1%use_dotblas = 0%g" -e "s%^libraries_list = \['lapack', 'cblas', 'f77blas', 'atlas', 'g2c'\]%libraries_list = \['g2c'\]%g" setup.py.orig > setup.py
+    if [ "$atlas_nf" -eq "1" ] ; then
+       sed -e "s%\(^libraries_list = \[.*\)\('atlas', \)\(.*\)$%\1\3%g" setup.py > _setup.py
+       mv _setup.py setup.py
+    fi
+    if [ "$g2c_nf" -eq "1" ] ; then
+       sed -e "s%\(^libraries_list = \[.*\)\('g2c'\)\(.*\)$%\1\3%g" setup.py > _setup.py
+       mv _setup.py setup.py
+    fi
+    sed -e "s%^use_dotblas = 1%use_dotblas = 0%g" setup.py > _setup.py
+    mv _setup.py setup.py
+    sed -e "s%#\(os.path.join('Src', 'blas_lite.c'),\)%\1%g" setup.py > _setup.py
+    mv _setup.py setup.py
+    sed -e "s%#\(os.path.join('Src', 'f2c_lite.c'),\)%\1%g" setup.py > _setup.py
+    mv _setup.py setup.py
+    sed -e "s%#\(os.path.join('Src', 'zlapack_lite.c'),\)%\1%g" setup.py > _setup.py
+    mv _setup.py setup.py
+    sed -e "s%#\(os.path.join('Src', 'dlapack_lite.c')\)%\1%g" setup.py > _setup.py
+    mv _setup.py setup.py
     chmod a+x setup.py
 fi
 
 check_job ${PRODUCT_DIR}/INSTALL.LOG python setup.py install --prefix=${PRODUCT_DIR}
 
 #du -sk ${PRODUCT_WORK} > ${PRODUCT_DIR}/size.log
-rm -fr ${PRODUCT_WORK}
+cd ${PRODUCT_DIR}; rm -fr ${PRODUCT_WORK}
 print_env
 }