Skip to content

Commit

Permalink
- Improved ImageMagick detection and it should be able to build witho…
Browse files Browse the repository at this point in the history
…ut it too now
  • Loading branch information
Christophe Dumez committed Aug 29, 2007
1 parent 99268bf commit 2ddcaf0
Show file tree
Hide file tree
Showing 5 changed files with 150 additions and 80 deletions.
142 changes: 98 additions & 44 deletions configure
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#!/bin/sh
#
# Generated by qconf 1.3 ( http:https://delta.affinix.com/qconf/ )
# Generated by qconf 1.4 ( http:https://delta.affinix.com/qconf/ )
#

show_usage() {
Expand Down Expand Up @@ -189,7 +189,7 @@ while [ $# -gt 0 ]; do
;;

--verbose)
QC_DEBUG="Y"
QC_VERBOSE="Y"
shift
;;
--help) show_usage; exit ;;
Expand All @@ -203,7 +203,7 @@ DATADIR=${DATADIR:-$PREFIX/share}

echo "Configuring qbittorrent ..."

if [ "$QC_DEBUG" = "Y" ]; then
if [ "$QC_VERBOSE" = "Y" ]; then
echo
echo PREFIX=$PREFIX
echo BINDIR=$BINDIR
Expand All @@ -223,72 +223,97 @@ fi

printf "Verifying Qt 4 build environment ... "

if [ "$QC_DEBUG" = "Y" ]; then
# run qmake -v and check version
qmake_check_v4() {
if [ -x "$1" ]; then
if echo `$1 -v 2>&1` | grep "Qt version 4\." >/dev/null 2>&1; then
return 0
elif [ "$QC_VERBOSE" = "Y" ]; then
echo "Warning: $1 not for Qt 4"
fi
fi
return 1
}

if [ "$QC_VERBOSE" = "Y" ]; then
echo
fi

qm=""
names="qmake-qt4 qmake4 qmake"

# qt4 check: --qtdir
if [ -z "$qm" ]; then
qstr=$EX_QTDIR/bin/qmake
if [ -x "$qstr" ]; then
qm=$qstr
fi
if [ -z "$qm" ] && [ ! -z "$EX_QTDIR" ]; then
for n in $names; do
qstr=$EX_QTDIR/bin/$n
if qmake_check_v4 "$qstr"; then
qm=$qstr
break;
fi
done
fi
if [ -z "$qm" ] && [ "$QC_DEBUG" = "Y" ]; then
if [ -z "$qm" ] && [ "$QC_VERBOSE" = "Y" ]; then
echo "Warning: qmake not found via --qtdir"
fi

# qt4 check: QTDIR
if [ -z "$qm" ]; then
qstr=$QTDIR/bin/qmake
if [ -x "$qstr" ]; then
qm=$qstr
fi
if [ -z "$qm" ] && [ ! -z "$QTDIR" ]; then
for n in $names; do
qstr=$QTDIR/bin/$n
if qmake_check_v4 "$qstr"; then
qm=$qstr
break;
fi
done
fi
if [ -z "$qm" ] && [ "$QC_DEBUG" = "Y" ]; then
if [ -z "$qm" ] && [ "$QC_VERBOSE" = "Y" ]; then
echo "Warning: qmake not found via \$QTDIR"
fi

# qt4 check: pkg-config
if [ -z "$qm" ]; then
str=`pkg-config QtCore --variable=exec_prefix 2>/dev/null`
if [ ! -z "$str" ]; then
qstr=$str/bin/qmake
if [ -x "$qstr" ]; then
qm=$qstr
fi
for n in $names; do
qstr=$str/bin/$n
if qmake_check_v4 "$qstr"; then
qm=$qstr
break;
fi
done
fi
fi
if [ -z "$qm" ] && [ "$QC_DEBUG" = "Y" ]; then
if [ -z "$qm" ] && [ "$QC_VERBOSE" = "Y" ]; then
echo "Warning: qmake not found via pkg-config"
fi

# qt4 check: PATH
if [ -z "$qm" ]; then
qstr=`$WHICH qmake 2>/dev/null`
if [ -x "$qstr" ]; then
qm=$qstr
fi
for n in $names; do
qstr=`$WHICH $n 2>/dev/null`
if qmake_check_v4 "$qstr"; then
qm=$qstr
break;
fi
done
fi
if [ -z "$qm" ] && [ "$QC_DEBUG" = "Y" ]; then
if [ -z "$qm" ] && [ "$QC_VERBOSE" = "Y" ]; then
echo "Warning: qmake not found via \$PATH"
fi

if [ -z "$qm" ]; then
if [ "$QC_DEBUG" = "Y" ]; then
if [ "$QC_VERBOSE" = "Y" ]; then
echo " -> fail"
else
echo "fail"
fi
printf "\n"
printf "Reason: Unable to find the 'qmake' tool.\n"
printf "Reason: Unable to find the 'qmake' tool for Qt 4.\n"
printf "\n"
show_qt_info
exit 1;
fi
if [ "$QC_DEBUG" = "Y" ]; then
if [ "$QC_VERBOSE" = "Y" ]; then
echo qmake found in $qm
fi

Expand Down Expand Up @@ -535,13 +560,20 @@ public:
qc_libmagick(Conf *c) : ConfObj(c) {}
QString name() const { return "ImageMagick library (libmagick++)"; }
QString shortname() const { return "libmagick++"; }
QString checkString() const {
if(!conf->getenv("QC_DISABLE_libmagick").isEmpty())
return "";
return ConfObj::checkString();
}
bool exec(){
QString s;
if(!conf->getenv("QC_DISABLE_libmagick").isEmpty())
return false;
QString s;
s = conf->getenv("QC_WITH_LIBMAGICK_INC");
if(!s.isEmpty()) {
if(!conf->checkHeader(s, "Magick++.h")) {
return false;
}
}
}else{
QStringList sl;
sl << "/usr/include";
Expand All @@ -553,17 +585,17 @@ public:
break;
}
}
if(!found) {
if(!found)
return false;
}
}
conf->addIncludePath(s);
s = conf->getenv("QC_WITH_LIBMAGICK_LIB");
if(!s.isEmpty()) {
if(!QFile::exists(s+QString("libMagick++.so")))
return false;
conf->addLib(QString("-L") + s);
if(!QFile::exists(s+QString("libMagick++.so"))){
return false;
}
conf->addLib(QString("-L") + s);
}else{
QStringList sl;
sl << "/usr/lib/";
Expand All @@ -572,11 +604,14 @@ public:
foreach(s, sl){
if(QFile::exists(s+QString("libMagick++.so"))){
found = true;
break;
}
}
if(!found) return false;
if(!found)
return false;
conf->addLib(QString("-L") + s);
}
conf->addDefine("HAVE_MAGICK");
return true;
}
};
Expand Down Expand Up @@ -624,6 +659,8 @@ cat >$1/modules_new.cpp <<EOT
EOT
cat >$1/conf4.h <<EOT
// For license information, see the COPYING file in the qconf base directory.
#ifndef QC_CONF4_H
#define QC_CONF4_H
Expand Down Expand Up @@ -728,6 +765,8 @@ private:
EOT
cat >$1/conf4.cpp <<EOT
// For license information, see the COPYING file in the qconf base directory.
#include "conf4.h"
#include <stdio.h>
Expand Down Expand Up @@ -878,6 +917,18 @@ void qc_splitcflags(const QString &cflags, QStringList *incs, QStringList *other
}
}
QString qc_escapeArg(const QString &str)
{
QString out;
for(int n = 0; n < (int)str.length(); ++n) {
if(str[n] == '-')
out += '_';
else
out += str[n];
}
return out;
}
//----------------------------------------------------------------------------
// ConfObj
//----------------------------------------------------------------------------
Expand Down Expand Up @@ -994,14 +1045,14 @@ bool Conf::exec()
// if this was a disabled-by-default option, check if it was enabled
if(o->disabled)
{
QString v = QString("QC_ENABLE_") + o->shortname();
QString v = QString("QC_ENABLE_") + qc_escapeArg(o->shortname());
if(getenv(v) != "Y")
continue;
}
// and the opposite?
else
{
QString v = QString("QC_DISABLE_") + o->shortname();
QString v = QString("QC_DISABLE_") + qc_escapeArg(o->shortname());
if(getenv(v) == "Y")
continue;
}
Expand Down Expand Up @@ -1428,7 +1479,7 @@ int main()
# include"modules_new.cpp"
#endif
conf->debug_enabled = (qc_getenv("QC_DEBUG") == "Y") ? true: false;
conf->debug_enabled = (qc_getenv("QC_VERBOSE") == "Y") ? true: false;
if(conf->debug_enabled)
printf(" -> ok\n");
else
Expand Down Expand Up @@ -1484,6 +1535,9 @@ int main()
var = qc_getenv("BINDIR");
if(!var.isEmpty())
str += QString("BINDIR = %1\n").arg(var);
var = qc_getenv("INCDIR");
if(!var.isEmpty())
str += QString("INCDIR = %1\n").arg(var);
var = qc_getenv("LIBDIR");
if(!var.isEmpty())
str += QString("LIBDIR = %1\n").arg(var);
Expand Down Expand Up @@ -1556,7 +1610,7 @@ export QC_WITH_LIBCOMMONCPP2_LIB
export QC_DISABLE_libmagick
export QC_WITH_LIBMAGICK_INC
export QC_WITH_LIBMAGICK_LIB
export QC_DEBUG
export QC_VERBOSE
rm -rf .qconftemp
(
mkdir .qconftemp
Expand All @@ -1569,7 +1623,7 @@ rm -rf .qconftemp

if [ "$?" != "0" ]; then
rm -rf .qconftemp
if [ "$QC_DEBUG" = "Y" ]; then
if [ "$QC_VERBOSE" = "Y" ]; then
echo " -> fail"
else
echo "fail"
Expand All @@ -1578,7 +1632,7 @@ if [ "$?" != "0" ]; then
printf "Reason: There was an error compiling 'conf'. See conf.log for details.\n"
printf "\n"
show_qt_info
if [ "$QC_DEBUG" = "Y" ]; then
if [ "$QC_VERBOSE" = "Y" ]; then
echo "conf.log:"
cat conf.log
fi
Expand All @@ -1602,7 +1656,7 @@ if [ "$ret" = "1" ]; then
else
if [ "$ret" != "0" ]; then
rm -rf .qconftemp
if [ "$QC_DEBUG" = "Y" ]; then
if [ "$QC_VERBOSE" = "Y" ]; then
echo " -> fail"
else
echo "fail"
Expand Down
5 changes: 2 additions & 3 deletions qbittorrent.qc
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
<name>qbittorrent</name>
<profile>qbittorrent.pro</profile>
<moddir>qcm</moddir>
<datadir/>
<dep type='qt42'>
<required/>
</dep>
Expand All @@ -14,9 +15,7 @@
<dep type='libcommoncpp2'>
<required/>
</dep>
<dep type='libmagick'>
<optional/>
</dep>
<dep type='libmagick'/>
<dep type='python'>
<required/>
</dep>
Expand Down
Loading

0 comments on commit 2ddcaf0

Please sign in to comment.