3 # This file is driven by the parameters that are defined in
4 # the file External-qt-console
9 echo "usage: $0 [-h] [-C] [<dependency 1>] [<dependency 2>] ..."
10 echo " -h Displays this usage"
11 echo " -C Clobbers (overwrites) the source code by "
12 echo " reextracting the archive and reapplying the"
15 echo "<dependency N> Optional dependency, If none are given then all"
16 echo " of them will be built."
18 echo "Valid dependencies are:"
19 grep -v '^#' < External-qt-console | cut -d'|' -f1 | cut -d'_' -f1 | tr A-Z a-z | sort -u | awk '{ print " " $1 }'
24 while getopts "hHC" opt; do
26 H|h|\?) usage;exit 1;;
27 C) CLOBBER_SOURCE=true;;
31 [ ${OPTIND} -gt 1 ] && shift `expr ${OPTIND} - 1`
39 [ ! -e ${TOP_DIR}/depkgs ] && mkdir ${TOP_DIR}/depkgs
43 OLD_IFS=${IFS};IFS="|";
44 while read package url dir mkd; do
47 *) eval "URL_${package}=${url};DIR_${package}=${dir};MKD_${package}=${mkd}";;
49 done < ${SCRIPT_DIR}/External-qt-console
50 IFS=${OLD_IFS};unset OLD_IFS
57 ARCHIVE=`basename ${URL}`
58 echo "in get_source URL is $URL SRC_DIR is $SRC_DIR MAKE_DIR is $MAKE_DIR ARCHIVE is $ARCHIVE"
61 *.tar.gz) ARCHIVER="tar xzf"; [ -z "${SRC_DIR}" ] && SRC_DIR=`expr "${ARCHIVE}" : '\(.*\)\.tar\.gz'`;;
62 *.tar.bz2) ARCHIVER="tar xjf"; [ -z "${SRC_DIR}" ] && SRC_DIR=`expr "${ARCHIVE}" : '\(.*\)\.tar\.bz2'`;;
63 *.zip) ARCHIVER="unzip -q"; [ -z "${SRC_DIR}" ] && SRC_DIR=`expr "${ARCHIVE}" : '\(.*\)\.zip'`;;
64 *.exe) ARCHIVER=""; [ -z "${SRC_DIR}" ] && SRC_DIR=`expr "${ARCHIVE}" : '\(.*\)\.zip'`;;
65 *) echo "Unsupported archive type - $ARCHIVE"; exit 1;;
68 # cd ${DEPPKG_DIR}/src
70 if [ ! -e "${ARCHIVE}" ]
72 echo "Downloading ${URL}"
73 if wget --passive-ftp "${URL}"
77 echo "Unable to download ${ARCHIVE}"
82 [ -z "${ARCHIVER}" ] && return 0
84 if [ ! -e "${SRC_DIR}" -o "${CLOBBER_SOURCE}" = "true" ]
87 echo "Extracting ${ARCHIVE}"
88 if [ "${MAKE_DIR}" = "true" ]
92 ${ARCHIVER} ../${ARCHIVE} > ../${ARCHIVE}.log 2>&1
94 ${ARCHIVER} ${ARCHIVE} > ${ARCHIVE}.log 2>&1
106 sed -ne '/\\$/N' -e 's/\\\n//' -e 's/\t\+/ /g' -e 's/ \+/ /g' \
108 -e "s%.*Entering directory[ ]\\+.${DEPPKG_DIR}/\\([^ ]\+\).%Entering \\1%p" \
109 -e "s%.*Leaving directory[ ]\\+.${DEPPKG_DIR}/\\([^ ]\+.\).%Leaving \\1%p" \
110 -e '/gcc \|g\+\+ \|ar /!d' \
111 -e 's/ \(\.\.\/\)\+/ /g' \
112 -e 's/.* \([^ ]\+\(\.c\|\.cpp\|\.cc\|\.cxx\)\)\( .*\|\)$/Compiling \1/p' \
113 -e 's/.* \([^ ]\+\.s\)\( .*\|\)$/Assembling \1/p' \
114 -e 's/.*ar [^ ]\+ \([^ ]\+\)\(\( [^ ]\+\.o\)\+\)/Updating \1 -\2/p' \
115 -e 's/.* -o \([^ ]\+\)\( .*\|\)$/Linking \1/p'
120 PATCH_FILE=${SCRIPT_DIR}/patches/$1; shift
122 if patch -f -p0 "$@" >>patch.log < ${PATCH_FILE}
126 echo "Patch failed - Check `pwd`/patch.log" > /dev/tty
137 echo "Make failed - Check `pwd`/make.log" > /dev/tty
139 fi | tee -a make.log #| parse_output
144 get_source "${URL_QWT}" "${DIR_QWT}" "${MKD_QWT}"
145 echo "Building qwt graphics library. This takes some time ..."
146 echo "unix {" >${TOP_DIR}/depkgs/qwt-5.0.2/qwtconfig.pri
147 echo " INSTALLBASE = ${TOP_DIR}/qwt" >>${TOP_DIR}/depkgs/qwt-5.0.2/qwtconfig.pri
148 echo "}" >>${TOP_DIR}/depkgs/qwt-5.0.2/qwtconfig.pri
149 cat ${TOP_DIR}/qwtconfig.pri >>${TOP_DIR}/depkgs/qwt-5.0.2/qwtconfig.pri
151 do_make Makefile >>make.log
152 do_make Makefile install >>make.log
153 echo "In case of problems see: `pwd`/make.log"
160 for dependency in "$@"
162 eval "process_${dependency}"