]> SALOME platform Git repositories - tools/install.git/blob - config_files/qt-x11-free-3.0.5.sh
Salome HOME
PAL11775
[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 ver=`grep "QT_VERSION_STR" ${QTDIR}/include/qglobal.h | sed -e 's%^#define QT_VERSION_STR\([[:space:]]*\)%%g' -e 's%\"%%g'`
8 if [ "$ver" == "3.0.5" ] ; 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=""
30 if [ -d /usr/share/qt3/lib ] ; then
31     qtdir="`find_in_path libqt-mt.so.3.0.5 /usr/share/qt3/lib`"
32 fi
33 if [ -z "${qtdir}" ] && [ -d /usr/lib/qt3/lib ] ; then
34     qtdir="`find_in_path libqt-mt.so.3.0.5 /usr/lib/qt3/lib`"
35 fi
36 if [ -z "${qtdir}" ] ; then
37     qtdir="`find_in_path libqt-mt.so.3.0.5 /usr/lib`"
38 fi
39 if [ -z "${qtdir}" ] ; then
40     qtdir="`find_in_path libqt-mt.so.3.0.5 ${LD_LIBRARY_PATH}`"
41 fi
42 if [ -n "${qtdir}" ] ; then
43     qtdir=`cd ${qtdir}/..; pwd`
44     moc="`find_in_path moc ${qtdir}/bin`"
45     uic="`find_in_path uic ${qtdir}/bin`"
46     if [ -n "${moc}" ] && [ -n "${uic}" ] ; then
47         tmp="\${QTDIR}/bin ${qtdir}/bin \${PATH} ${PATH}";  
48         path=`sort_path ${tmp}`
49         tmp="\${QTDIR}/lib ${qtdir}/lib \${LD_LIBRARY_PATH} ${LD_LIBRARY_PATH}";  
50         ld_library_path=`sort_path ${tmp}`
51         cat > ${INSTALL_WORK}/env_${PRODUCT_TYPE}.sh <<EOF 
52 #$DELIM ${PRODUCT_TYPE} $DELIM
53 export QTDIR=${qtdir}
54 export PATH=${path}
55 export LD_LIBRARY_PATH=${ld_library_path}
56 ##
57 EOF
58         make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}"
59         return 0
60     fi
61 fi
62 return 1
63 }
64
65 try_preinstalled(){
66 try_existing ${PRODUCT_DIR} ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" ${PRODUCT_TYPE}
67 return $?
68 }
69
70 install_source()
71 {
72 make_env ${INSTALL_ROOT} ${INSTALL_WORK} "${PRODUCT_SEQUENCE}" ${PRODUCT_TYPE}
73 source ${INSTALL_WORK}/$SHRC
74
75 check_jb tar xfz ${SOURCE_DIR}/qt-x11-free-3.0.5.tar.gz -C ${INSTALL_ROOT}
76
77 cd ${PRODUCT_DIR}
78 sed -e "s%read acceptance%acceptance=yes%" configure > configurew
79 cp -f configure configure-orig
80 mv -f configurew configure
81 chmod +x ./configure
82
83 export QTDIR=${PRODUCT_DIR}
84
85 QT_FLAGS="-release -thread -shared -qt-gif -platform linux-g++"
86 ### use system graphics libraries
87 QT_FLAGS=$QT_FLAGS" -system-libpng -system-libjpeg -system-libmng -lpng -lmng -ljpeg"
88 ### link also with Mesa if it is previously installed
89 if [ -n "$MESA_HOME" ]; then
90     QT_FLAGS=$QT_FLAGS" -I${MESA_HOME}/include/GL -L${MESA_HOME}/lib -L/usr/lib -lglide3"
91 fi
92
93 check_job ${PRODUCT_DIR}/CONFIGURE.LOG ./configure $QT_FLAGS
94
95 cp -f Makefile Makefile-orig
96 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
97 rm -rf examples
98 rm -rf tutorial
99 GCC=`which gcc`
100 cat >> ${PRODUCT_DIR}/MAKE.LOG <<EOF
101 used gcc=$GCC
102 EOF
103 check_job ${PRODUCT_DIR}/MAKE.LOG make 
104 check_job ${PRODUCT_DIR}/MAKECLEAN.LOG make clean
105
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 if [ -n "$MESA_HOME" ]; then
115   check_jb tar xfz ${SOURCE_DIR}/qt-x11-free-3.0.5-with-Mesa.tar.gz -C ${INSTALL_ROOT}
116 else
117   check_jb tar xfz ${SOURCE_DIR}/qt-x11-free-3.0.5.tar.gz -C ${INSTALL_ROOT}
118 fi
119
120 print_env
121 }
122
123 export PROCEDURE=$1;
124 export INSTALL_WORK=$2;
125 export SOURCE_DIR=$3;
126 export INSTALL_ROOT=$4;
127 export PRODUCT_SEQUENCE=$5;
128 if [ $# == 6 ] ; then export PRODUCT_TYPE=$6 ; else export PRODUCT_TYPE="qt" ; fi
129 export PRODUCT="qt-x11-free-3.0.5"
130 export PRODUCT_DIR=${INSTALL_ROOT}/${PRODUCT}
131 export PRODUCT_WORK=${INSTALL_WORK}/${PRODUCT}
132 source ./common.sh
133 $PROCEDURE