Salome HOME
Update for version 2.2.3
[tools/install.git] / config_files / qt-x11-free-3.0.5.sh
1 #!/bin/sh
2
3 check_version(){
4 if [ -z "$QTDIR" ]; then
5    return 1
6 fi
7 check_lib_version libqt-mt.so.3.0.5 ${QTDIR}/lib
8 if [ "$?" -eq "0" ] ; then
9     return 0
10 fi
11 return 1
12 }
13
14 print_env()
15 {
16 cat > ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh <<EOF 
17 #$DELIM ${PRODUCT_TYPE} $DELIM
18 export QTDIR=\${INSTALL_ROOT}/${PRODUCT}
19 export PATH=\${QTDIR}/bin:\$PATH 
20 export LD_LIBRARY_PATH=\${QTDIR}/lib:\${LD_LIBRARY_PATH}
21 ##
22 EOF
23 (test -w ${PRODUCT_DIR} && cp ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh ${PRODUCT_DIR})
24 make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}"
25 }
26
27 # looks for the native product and collects it's environment (used by make_env())
28 try_native(){
29 qtdir="`find_in_path libqt-mt.so.3.0.5 ${LD_LIBRARY_PATH}`"
30 if [ -z "${qtdir}" ] ; then
31     qtdir="`find_in_path libqt-mt.so.3.0.5 /usr/lib/qt-3.0.5`"
32 fi
33 if [ -n "${qtdir}" ] ; then
34     qtdir=`cd ${qtdir}/..; pwd`
35     moc="`find_in_path moc ${qtdir}/bin`"
36     uic="`find_in_path uic ${qtdir}/bin`"
37     if [ -n "${moc}" ] && [ -n "${uic}" ] ; then
38         tmp="\${QTDIR}/bin ${qtdir}/bin \${PATH} ${PATH}";  
39         path=`sort_path ${tmp}`
40         tmp="\${QTDIR}/lib ${qtdir}/lib \${LD_LIBRARY_PATH} ${LD_LIBRARY_PATH}";  
41         ld_library_path=`sort_path ${tmp}`
42         cat > ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh <<EOF 
43 #$DELIM ${PRODUCT_TYPE} $DELIM
44 export QTDIR=${qtdir}
45 export PATH=${path}
46 export LD_LIBRARY_PATH=${ld_library_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}/qt-x11-free-3.0.5.tar.gz -C ${INSTALL_ROOT}
67
68 cd ${PRODUCT_DIR}
69 sed -e "s%read acceptance%acceptance=yes%" configure > configurew
70 cp -f configure configure-orig
71 mv -f configurew configure
72 chmod +x ./configure
73
74 export QTDIR=${PRODUCT_DIR}
75
76 QT_FLAGS="-release -thread -shared -qt-gif -platform linux-g++"
77 ### use system graphics libraries
78 QT_FLAGS=$QT_FLAGS" -system-libpng -system-libjpeg -system-libmng -lpng -lmng -ljpeg"
79 ### link also with Mesa if it is previously installed
80 if [ -n "$MESA_HOME" ]; then
81     QT_FLAGS=$QT_FLAGS" -I${MESA_HOME}/include/GL -L${MESA_HOME}/lib -L/usr/lib -lglide3"
82 fi
83
84 check_job ${PRODUCT_DIR}/CONFIGURE.LOG ./configure $QT_FLAGS
85
86 cp -f Makefile Makefile-orig
87 echo -e "/^all:\ns/sub-tutorial/\ns/sub-examples/\n/distclean clean uiclean mocclean:\n/cd tutorial && \$(MAKE) \$@\ns/cd tutorial && \$(MAKE) \$@/\n/cd examples && \$(MAKE) \$@\ns/cd examples && \$(MAKE) \$@/\nwq"| ed - Makefile 1>/dev/null
88 rm -rf examples
89 rm -rf tutorial
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}/MAKECLEAN.LOG make clean
96
97 print_env
98 }
99
100 install_binary()
101 {
102 make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" ${PRODUCT_TYPE}
103 source ${INSTALL_WORK}/$SHRC
104
105 if [ -n "$MESA_HOME" ]; then
106   check_jb tar xfz ${SOURCE_DIR}/qt-x11-free-3.0.5-with-Mesa.tar.gz -C ${INSTALL_ROOT}
107 else
108   check_jb tar xfz ${SOURCE_DIR}/qt-x11-free-3.0.5.tar.gz -C ${INSTALL_ROOT}
109 fi
110
111 print_env
112 }
113
114 export PROCEDURE=$1;
115 export INSTALL_WORK=$2;
116 export SOURCE_DIR=$3;
117 export INSTALL_ROOT=$4;
118 export PRODUCT_SEQUENCE=$5;
119 if [ $# == 6 ] ; then export PRODUCT_TYPE=$6 ; else export PRODUCT_TYPE="qt" ; fi
120 export PRODUCT="qt-x11-free-3.0.5"
121 export PRODUCT_DIR=${INSTALL_ROOT}/${PRODUCT}
122 export PRODUCT_WORK=${INSTALL_WORK}/${PRODUCT}
123 source ./common.sh
124 $PROCEDURE