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