1/*
2-----BEGIN QCMOD-----
3name: QDBUS
4-----END QCMOD-----
5*/
6
7//----------------------------------------------------------------------------
8// qc_qdbus
9//----------------------------------------------------------------------------
10class qc_qdbus : public ConfObj
11{
12public:
13	qc_qdbus(Conf *c) : ConfObj(c) {}
14	QString name() const { return "QDBUS"; }
15	QString shortname() const { return "qdbus"; }
16#ifdef Q_OS_WIN
17	QString checkString() const { return QString(); }
18#endif
19	bool exec()
20	{
21#ifdef Q_OS_WIN
22		// skip dbus support on windows
23		return false;
24#else
25		if (!conf->getenv("QC_DISABLE_qdbus").isEmpty())
26			return false;
27
28		// test for "qdbus" feature
29
30		QString proextra =
31		"CONFIG += qt\n"
32		"QT -= gui\n";
33		"QT += dbus\n";
34
35		QString str =
36		"\n"
37		"int main()\n"
38		"{\n"
39		"	return 0;\n"
40		"}\n";
41
42		int ret;
43		if(!conf->doCompileAndLink(str, QStringList(), QString(), proextra, &ret))
44			return false;
45		if(ret != 0)
46			return false;
47
48		conf->addExtra("CONFIG += dbus");
49		return true;
50#endif
51	}
52};
53