63 lines
1.4 KiB
Text
63 lines
1.4 KiB
Text
|
|
/*
|
||
|
|
-----BEGIN QCMOD-----
|
||
|
|
name: Cyrus SASL2 (bundled QCA only)
|
||
|
|
arg: with-sasl-inc=[path],Path to Cyrus SASL2 include files (bundled QCA only)
|
||
|
|
arg: with-sasl-lib=[path],Path to Cyrus SASL2 library files (bundled QCA only)
|
||
|
|
-----END QCMOD-----
|
||
|
|
*/
|
||
|
|
class qc_cyrussasl : public ConfObj
|
||
|
|
{
|
||
|
|
public:
|
||
|
|
qc_cyrussasl(Conf *c) : ConfObj(c) {}
|
||
|
|
QString name() const { return "Cyrus SASL2"; }
|
||
|
|
QString shortname() const { return "cyrussasl"; }
|
||
|
|
|
||
|
|
QString checkString() const {
|
||
|
|
if (!QFile::exists("third-party/qca/qca") || !conf->getenv("QC_DISABLE_bundled_qca").isEmpty())
|
||
|
|
return "";
|
||
|
|
else
|
||
|
|
return ConfObj::checkString();
|
||
|
|
}
|
||
|
|
|
||
|
|
bool exec()
|
||
|
|
{
|
||
|
|
if (!QFile::exists("third-party/qca/qca") || !conf->getenv("QC_DISABLE_bundled_qca").isEmpty() || !QFile::exists("third-party/qca/qca-sasl"))
|
||
|
|
return false;
|
||
|
|
|
||
|
|
QString inc, lib;
|
||
|
|
QString s;
|
||
|
|
|
||
|
|
s = conf->getenv("QC_WITH_SASL_INC");
|
||
|
|
if(!s.isEmpty()) {
|
||
|
|
if(!conf->checkHeader(s, "sasl/sasl.h"))
|
||
|
|
return false;
|
||
|
|
inc = s;
|
||
|
|
}
|
||
|
|
else {
|
||
|
|
if(!conf->findHeader("sasl/sasl.h", QStringList(), &s))
|
||
|
|
return false;
|
||
|
|
inc = s;
|
||
|
|
}
|
||
|
|
|
||
|
|
s = conf->getenv("QC_WITH_SASL_LIB");
|
||
|
|
if(!s.isEmpty()) {
|
||
|
|
if(!conf->checkLibrary(s, "sasl2"))
|
||
|
|
return false;
|
||
|
|
lib = s;
|
||
|
|
}
|
||
|
|
else {
|
||
|
|
if(!conf->findLibrary("sasl2", &s))
|
||
|
|
return false;
|
||
|
|
lib = s;
|
||
|
|
}
|
||
|
|
|
||
|
|
if(!inc.isEmpty())
|
||
|
|
conf->addIncludePath(inc);
|
||
|
|
if(!lib.isEmpty())
|
||
|
|
conf->addLib(QString("-L") + s);
|
||
|
|
conf->addLib("-lsasl2");
|
||
|
|
conf->addDefine("HAVE_CYRUSSASL");
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
};
|