Salome HOME
Merge from Mandrake_10_1 branch (version 2.2.4)
[tools/install.git] / config_files / doxygen-1.3-rc2.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 check_lib_version doxysearch $PATH
10 if [ "$?" -ne "0" ]; then
11    return 1
12 fi
13 check_lib_version doxytag $PATH
14 if [ "$?" -ne "0" ]; then
15    return 1
16 fi
17 check_lib_version doxywizard $PATH
18 if [ "$?" -ne "0" ]; then
19    return 1
20 fi
21 ver=`doxygen --version`
22 if [ "$ver" == "1.3-rc2" ]; then
23     return 0
24 fi
25 return 1
26 }
27
28 print_env()
29 {
30 cat > ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh <<EOF 
31 #$DELIM ${PRODUCT_TYPE} $DELIM
32 export PATH=\${INSTALL_ROOT}/${PRODUCT}/bin:\${PATH}
33 ##
34 EOF
35 (test -w ${PRODUCT_DIR} && cp ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh ${PRODUCT_DIR})
36 make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}"
37 }
38
39 # looks for the native product and collects it's environment (used by make_env())
40 try_native(){
41 check_version
42 if [ $? -eq 0 ] ; then
43     doxygen="`find_in_path doxygen ${PATH}`"
44     tmp="${doxygen} ${doxygen} \${PATH} ${PATH}";  
45     path=`sort_path ${tmp}`
46     cat > ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh <<EOF 
47 #$DELIM ${PRODUCT_TYPE} $DELIM
48 export PATH=${path}
49 ##
50 EOF
51     make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}"
52     return 0
53 fi
54 return 1;
55 }
56
57 try_preinstalled(){
58 try_existing ${PRODUCT_DIR} ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" ${PRODUCT_TYPE}
59 return $?
60 }
61
62 install_source()
63 {
64 make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" env_${PRODUCT_TYPE}.sh
65 source ${INSTALL_WORK}/$SHRC
66
67 check_jb tar xfz ${SOURCE_DIR}/doxygen-1.3-rc2.tar.gz -C ${INSTALL_WORK}
68
69 cd ${PRODUCT_WORK}
70 makedir ${PRODUCT_DIR}
71 # vsr: fix bug - configure fails on Red Hat 9 because of incorrect autodetect check for install tool
72 # so it is necessary to put it directly
73 f_install="--install "`which install`
74 check_job ${PRODUCT_DIR}/CONFIGURE.LOG configure --with-doxywizard --prefix ${PRODUCT_DIR} $f_install
75 GCC=`which gcc`
76 cat >> ${PRODUCT_DIR}/MAKE.LOG <<EOF
77 used gcc=$GCC
78 EOF
79 check_job ${PRODUCT_DIR}/MAKE.LOG make
80 check_job ${PRODUCT_DIR}/MAKEINSTALL.LOG make install
81
82 which epstopdf >/dev/null 2>&1;  ISFOUND=$?
83 if [ ${ISFOUND} -eq 0 ] ; then  which makeindex >/dev/null 2>&1; ISFOUND=$?; fi
84 if [ ${ISFOUND} -eq 0 ] ; then  which latex >/dev/null 2>&1; ISFOUND=$?; fi
85 if [ ${ISFOUND} -eq 0 ] ; then  which latex2html >/dev/null 2>&1; ISFOUND=$?; fi
86 if [ ${ISFOUND} -eq 0 ] ; then  which pdflatex >/dev/null 2>&1; ISFOUND=$?; fi
87 if [ ${ISFOUND} -eq 0 ] ; then  which pslatex >/dev/null 2>&1; ISFOUND=$?; fi
88 if [ ${ISFOUND} -eq 0 ] ; then  which pstoimg >/dev/null 2>&1; ISFOUND=$?; fi
89 if [ ${ISFOUND} -eq 0 ] ; then
90     check_job ${PRODUCT_DIR}/MAKEDOCS.LOG make docs
91     check_job ${PRODUCT_DIR}/MAKEINSTALLDOCS.LOG make install_docs
92 else
93     cat >> ${PRODUCT_DIR}/MAKEDOCS.LOG <<EOF
94 Can't find \"epstopdf\" and \"latex\" or another executables on the computer.
95 doxygen documentation will not be built!
96 SALOME DOCUMENTATION ALSO CAN NOT BE BUILT!
97 EOF
98     check_job ${PRODUCT_DIR}/MAKEDOCS.LOG make docs
99     rm -fr ${PRODUCT_WORK}
100 #    echo -e "Can't find \"epstopdf\" and \"latex\" or another executables on the computer."
101 #    echo -e "doxygen documentation will not be built!"
102 #    echo -e "SALOME DOCUMENTATION ALSO CAN NOT BE BUILT!"
103 #    echo -n "Would you like continue : (Y,N) [Y] : "
104 #    read rep;
105 #    rep=`echo $rep  | tr "[A-Z]" "[a-z]"`
106 #    if test -z $rep || [ $rep != "y" ] ; then
107 #       rm -fr ${PRODUCT_WORK}
108 #       exit 1
109 #    fi
110 fi
111
112 rm -fr ${PRODUCT_WORK}
113 print_env
114 }
115
116 install_binary()
117 {
118 make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" env_${PRODUCT_TYPE}.sh
119 source ${INSTALL_WORK}/$SHRC
120
121 check_jb tar xfz ${SOURCE_DIR}/doxygen-1.3-rc2.tar.gz -C ${INSTALL_ROOT}
122 which epstopdf >/dev/null 2>&1;  ISFOUND=$?
123 if [ ${ISFOUND} -eq 0 ] ; then  which makeindex >/dev/null 2>&1; ISFOUND=$?; fi
124 if [ ${ISFOUND} -eq 0 ] ; then  which latex >/dev/null 2>&1; ISFOUND=$?; fi
125 if [ ${ISFOUND} -eq 0 ] ; then  which latex2html >/dev/null 2>&1; ISFOUND=$?; fi
126 if [ ${ISFOUND} -eq 0 ] ; then  which pdflatex >/dev/null 2>&1; ISFOUND=$?; fi
127 if [ ${ISFOUND} -eq 0 ] ; then  which pslatex >/dev/null 2>&1; ISFOUND=$?; fi
128 if [ ${ISFOUND} -eq 0 ] ; then  which pstoimg >/dev/null 2>&1; ISFOUND=$?; fi
129 if [ ${ISFOUND} -ne 0 ] ; then
130     cat >> ${PRODUCT_DIR}/DOCS.LOG <<EOF
131 Can't find \"epstopdf\" and \"latex\" or another executables on the computer.
132 doxygen documentation will not be built!
133 SALOME DOCUMENTATION ALSO CAN NOT BE BUILT!
134 EOF
135     check_job ${PRODUCT_DIR}/DOCS.LOG make
136     rm -fr ${PRODUCT_WORK}
137 #    echo -e "Can't find \"epstopdf\" and \"latex\" or another executables on the computer."
138 #    echo -e "doxygen documentation will not be built!"
139 #    echo -e "SALOME DOCUMENTATION ALSO CAN NOT BE BUILT!"
140 #    echo -n "Would you like continue : (Y,N) [Y] : "
141 #    read rep;
142 #    rep=`echo $rep  | tr "[A-Z]" "[a-z]"`
143 #    if test -z $rep || [ $rep != "y" ] ; then
144 #       rm -fr ${PRODUCT_WORK}
145 #       exit 1
146 #    fi
147 fi
148
149 print_env
150 }
151
152 export PROCEDURE=$1;
153 export INSTALL_WORK=$2;
154 export SOURCE_DIR=$3;
155 export INSTALL_ROOT=$4;
156 export PRODUCT_SEQUENCE=$5;
157 if [ $# == 6 ] ; then export PRODUCT_TYPE=$6 ; else export PRODUCT_TYPE="doxygen" ; fi
158 export PRODUCT="doxygen-1.3-rc2"
159 export PRODUCT_DIR=${INSTALL_ROOT}/${PRODUCT}
160 export PRODUCT_WORK=${INSTALL_WORK}/${PRODUCT}
161 source ./common.sh
162 $PROCEDURE