]> SALOME platform Git repositories - tools/install.git/blob - config_files/doxygen-1.4.6.sh
Salome HOME
ca756d545b5124b8d53385c5962f94d105d5d657
[tools/install.git] / config_files / doxygen-1.4.6.sh
1 #!/bin/sh
2
3 check_version()
4 {
5 check_lib_version doxygen $PATH
6 if [ "$?" -ne "0" ]; then
7    return 1
8 fi
9 ver=`doxygen --version`
10 maj_ver=`echo $ver | awk -F. '{if(NF>0) print $1; else print 0}' | sed -e 's/^\([0-9]*\).*$/\1/'`
11 min_ver=`echo $ver | awk -F. '{if(NF>1) print $2; else print 0}' | sed -e 's/^\([0-9]*\).*$/\1/'`
12 rel_ver=`echo $ver | awk -F. '{if(NF>2) print $3; else print 0}' | sed -e 's/^\([0-9]*\).*$/\1/'`
13 let ver=$maj_ver*10000+$min_ver*100+$rel_ver
14 if [ $ver -eq 10406 ] ; then
15     return 0
16 fi
17 return 1
18 }
19
20 print_env()
21 {
22 cat > ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh <<EOF
23 #$DELIM ${PRODUCT_TYPE} $DELIM
24 export PATH=\${INSTALL_ROOT}/${PRODUCT}/bin:\${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 # we need version 1.4.4 or newer
33 try_native(){
34 doxyhome="`find_in_path doxygen ${PATH}:/usr/bin`"
35 if [ -n "${doxyhome}" ] ; then
36     ver=`doxygen --version`
37     maj_ver=`echo $ver | awk -F. '{if(NF>0) print $1; else print 0}' | sed -e 's/^\([0-9]*\).*$/\1/'`
38     min_ver=`echo $ver | awk -F. '{if(NF>1) print $2; else print 0}' | sed -e 's/^\([0-9]*\).*$/\1/'`
39     rel_ver=`echo $ver | awk -F. '{if(NF>2) print $3; else print 0}' | sed -e 's/^\([0-9]*\).*$/\1/'`
40     let ver=$maj_ver*10000+$min_ver*100+$rel_ver
41     if [ $ver -ge 10404 ] ; then
42         tmp="${doxyhome} ${doxyhome} \${PATH} ${PATH}";
43         path=`sort_path ${tmp}`
44         cat > ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh <<EOF
45 #$DELIM ${PRODUCT_TYPE} $DELIM
46 export PATH=${path}
47 ##
48 EOF
49         make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}"
50         return 0
51     fi
52 fi
53 return 1;
54 }
55
56 try_preinstalled(){
57 try_existing ${PRODUCT_DIR} ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" ${PRODUCT_TYPE}
58 return $?
59 }
60
61 install_source()
62 {
63 make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" ${PRODUCT_TYPE}
64 source ${INSTALL_WORK}/$SHRC
65
66 check_jb tar xfz ${SOURCE_DIR}/doxygen-1.4.6.tar.gz -C ${INSTALL_WORK}
67
68 cd ${PRODUCT_WORK}
69 makedir ${PRODUCT_DIR}
70 # vsr: fix a bug on Mandrake-10.1: wrong qt library reference
71 sed -e "s/-lqt$/-lqt-mt/g" ./tmake/lib/linux-g++/tmake.conf > ./tmake/lib/linux-g++/tmake.conf.new
72 mv ./tmake/lib/linux-g++/tmake.conf.new ./tmake/lib/linux-g++/tmake.conf
73 # vsr: fix bug - configure fails on Red Hat 9 because of incorrect autodetect check for install tool
74 # so it is necessary to put it directly
75 f_install="--install "`which install`
76 # vsr: removed --with-doxywizard option (not compilable on some platforms)
77 check_job ${PRODUCT_DIR}/CONFIGURE.LOG ./configure --prefix ${PRODUCT_DIR} $f_install
78 GCC=`which gcc`
79 cat >> ${PRODUCT_DIR}/MAKE.LOG <<EOF
80 used gcc=$GCC
81 EOF
82 check_job ${PRODUCT_DIR}/MAKE.LOG make
83 check_job ${PRODUCT_DIR}/MAKEINSTALL.LOG make install
84
85 which epstopdf >/dev/null 2>&1;  ISFOUND=$?
86 if [ ${ISFOUND} -eq 0 ] ; then  which dot >/dev/null 2>&1; ISFOUND=$?; fi
87 if [ ${ISFOUND} -eq 0 ] ; then  which makeindex >/dev/null 2>&1; ISFOUND=$?; fi
88 if [ ${ISFOUND} -eq 0 ] ; then  which latex >/dev/null 2>&1; ISFOUND=$?; fi
89 #if [ ${ISFOUND} -eq 0 ] ; then  which latex2html >/dev/null 2>&1; ISFOUND=$?; fi
90 if [ ${ISFOUND} -eq 0 ] ; then  which pdflatex >/dev/null 2>&1; ISFOUND=$?; fi
91 if [ ${ISFOUND} -eq 0 ] ; then  which pslatex >/dev/null 2>&1; ISFOUND=$?; fi
92 #if [ ${ISFOUND} -eq 0 ] ; then  which pstoimg >/dev/null 2>&1; ISFOUND=$?; fi
93 if [ ${ISFOUND} -eq 0 ] ; then
94     check_job ${PRODUCT_DIR}/MAKEDOCS.LOG make docs
95     check_job ${PRODUCT_DIR}/MAKEINSTALLDOCS.LOG make install_docs
96 else
97     cat >> ${PRODUCT_DIR}/MAKEDOCS.LOG <<EOF
98 Can't find \"epstopdf\", \"latex\" or another documentation tool on the computer.
99 doxygen documentation can not be built!
100 SALOME DOCUMENTATION MIGHT NOT BE BUILT ALSO!
101 EOF
102 fi
103
104 #du -sk ${PRODUCT_WORK} > ${PRODUCT_DIR}/size.log
105 cd ${PRODUCT_DIR}; rm -fr ${PRODUCT_WORK}
106 print_env
107 }
108
109 install_binary()
110 {
111 make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" ${PRODUCT_TYPE}
112 source ${INSTALL_WORK}/$SHRC
113
114 check_jb tar xfz ${SOURCE_DIR}/doxygen-1.4.6.tar.gz -C ${INSTALL_ROOT}
115
116 print_env
117 }
118
119 export PROCEDURE=$1;
120 export INSTALL_WORK=$2;
121 export SOURCE_DIR=$3;
122 export INSTALL_ROOT=$4;
123 export PRODUCT_SEQUENCE=$5;
124 if [ $# == 6 ] ; then export PRODUCT_TYPE=$6 ; else export PRODUCT_TYPE="doxygen" ; fi
125 export PRODUCT="doxygen-1.4.6"
126 export PRODUCT_DIR=${INSTALL_ROOT}/${PRODUCT}
127 export PRODUCT_WORK=${INSTALL_WORK}/${PRODUCT}
128 source ./common.sh
129 $PROCEDURE