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