]> SALOME platform Git repositories - tools/install.git/blob - config_files/graphviz-2.2.1.sh
Salome HOME
changing header of bin files
[tools/install.git] / config_files / graphviz-2.2.1.sh
1 #!/bin/sh
2
3 check_version()
4 {
5 isdot=`which dot 2>/dev/null`
6 if [ -n "$isdot" ]; then
7   ver=`dot -V 2>&1 | awk '{print $3}'`
8   maj_ver=`echo $ver | awk -F. '{if(NF>0) print $1; else print 0}' | sed -e 's/^\([0-9]*\).*$/\1/'`
9   min_ver=`echo $ver | awk -F. '{if(NF>1) print $2; else print 0}' | sed -e 's/^\([0-9]*\).*$/\1/'`
10   rel_ver=`echo $ver | awk -F. '{if(NF>2) print $3; else print 0}' | sed -e 's/^\([0-9]*\).*$/\1/'`
11   let ver=$maj_ver*10000+$min_ver*100+$rel_ver
12   if [ $ver -eq 20201 ] ; then
13     return 0
14   fi
15 fi
16 return 1
17 }
18
19 print_env()
20 {
21 cat > ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh <<EOF 
22 #$DELIM ${PRODUCT_TYPE} $DELIM
23 export PATH=\${INSTALL_ROOT}/${PRODUCT}/bin:\${PATH}
24 export LD_LIBRARY_PATH=\${INSTALL_ROOT}/${PRODUCT}/lib/graphviz:\${LD_LIBRARY_PATH}
25 ##
26 EOF
27 (test -w ${PRODUCT_DIR} && cp ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh ${PRODUCT_DIR})
28 make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}"
29 }
30
31 # looks for the native product and collects it's environment (used by make_env())
32 try_native(){
33 dothome="`find_in_path dot ${PATH}:/usr/bin`"
34 if [ -n "${dothome}" ] ; then
35     ver=`dot -V 2>&1 | awk '{print $3}'`
36     maj_ver=`echo $ver | awk -F. '{if(NF>0) print $1; else print 0}' | sed -e 's/^\([0-9]*\).*$/\1/'`
37     min_ver=`echo $ver | awk -F. '{if(NF>1) print $2; else print 0}' | sed -e 's/^\([0-9]*\).*$/\1/'`
38     rel_ver=`echo $ver | awk -F. '{if(NF>2) print $3; else print 0}' | sed -e 's/^\([0-9]*\).*$/\1/'`
39     let ver=$maj_ver*10000+$min_ver*100+$rel_ver
40     if [ $ver -ge 20201 ] ; then
41         dothome=`cd ${dothome}/..; pwd`
42         tmp="${dothome}/bin ${dothome}/bin \${PATH} ${PATH}";  
43         path=`sort_path ${tmp}`
44         tmp="${dothome}/lib/graphviz ${dothome}/lib/graphviz \${LD_LIBRARY_PATH} ${LD_LIBRARY_PATH}";  
45         ld_library_path=`sort_path ${tmp}`
46         cat > ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh <<EOF 
47 #$DELIM ${PRODUCT_TYPE} $DELIM
48 export PATH=${path}
49 export LD_LIBRARY_PATH=${ld_library_path}
50 ##
51 EOF
52         make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}"
53         return 0
54     fi
55 fi
56 return 1;
57 }
58
59 try_preinstalled(){
60 try_existing ${PRODUCT_DIR} ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" ${PRODUCT_TYPE}
61 return $?
62 }
63
64 install_source()
65 {
66 make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" ${PRODUCT_TYPE}
67 source ${INSTALL_WORK}/$SHRC
68
69 check_jb tar xfz ${SOURCE_DIR}/graphviz-2.2.1.tar.gz -C ${INSTALL_WORK}
70
71 cd ${PRODUCT_WORK}
72 makedir ${PRODUCT_DIR}
73 check_job ${PRODUCT_DIR}/CONFIGURE.LOG configure --prefix=${PRODUCT_DIR} --with-tcl=${TCLHOME} --disable-rpath 
74 GCC=`which gcc`
75 cat >> ${PRODUCT_DIR}/MAKE.LOG <<EOF
76 used gcc=$GCC
77 EOF
78 check_job ${PRODUCT_DIR}/MAKE.LOG make
79 check_job ${PRODUCT_DIR}/MAKEINSTALL.LOG make install
80
81 #du -sk ${PRODUCT_WORK} > ${PRODUCT_DIR}/size.log
82 cd ${PRODUCT_DIR}; rm -fr ${PRODUCT_WORK}
83 print_env
84 }
85
86 install_binary()
87 {
88 make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" ${PRODUCT_TYPE}
89 source ${INSTALL_WORK}/$SHRC
90
91 check_jb tar xfz ${SOURCE_DIR}/graphviz-2.2.1.tar.gz -C ${INSTALL_ROOT}
92 cd ${PRODUCT_DIR}/lib/graphviz
93 for l in `ls *.la`; do
94     libdir=`grep -e "libdir=.*" $l | sed -e "s/libdir=[\'|\"]\(.*\)[\'|\"]/\1/g"`
95     sed -e "s%${libdir}%${PRODUCT_DIR}/lib/graphviz%g" $l > _$l
96     libdir=`dirname $libdir`
97     sed -e "s%${libdir}%${PRODUCT_DIR}/lib/graphviz%g" _$l > $l
98     rm -f _$l
99     chmod a+x $l
100 done
101
102 print_env
103 }
104
105 export PROCEDURE=$1;
106 export INSTALL_WORK=$2;
107 export SOURCE_DIR=$3;
108 export INSTALL_ROOT=$4;
109 export PRODUCT_SEQUENCE=$5;
110 if [ $# == 6 ] ; then export PRODUCT_TYPE=$6 ; else export PRODUCT_TYPE="graphviz" ; fi
111 export PRODUCT="graphviz-2.2.1"
112 export PRODUCT_DIR=${INSTALL_ROOT}/${PRODUCT}
113 export PRODUCT_WORK=${INSTALL_WORK}/${PRODUCT}
114 source ./common.sh
115 $PROCEDURE