155 lines
3.7 KiB
Text
155 lines
3.7 KiB
Text
|
|
/*
|
||
|
|
-----BEGIN QCMOD-----
|
||
|
|
name: XMMS
|
||
|
|
arg: with-xmms-inc=[path],Path to XMMS include files (for XMMS)
|
||
|
|
arg: with-xmms-lib=[path],Path to XMMS library files (for XMMS)
|
||
|
|
arg: with-glib-inc=[path],Path to GLib include files (for XMMS)
|
||
|
|
arg: with-glib-lib=[path],Path to GLib library files (for XMMS)
|
||
|
|
arg: with-glibconfig-inc=[path],Path to glibconfig include file (for XMMS)
|
||
|
|
-----END QCMOD-----
|
||
|
|
*/
|
||
|
|
|
||
|
|
//----------------------------------------------------------------------------
|
||
|
|
// qc_xmms
|
||
|
|
//----------------------------------------------------------------------------
|
||
|
|
class qc_xmms : public ConfObj
|
||
|
|
{
|
||
|
|
public:
|
||
|
|
qc_xmms(Conf *c) : ConfObj(c) {}
|
||
|
|
QString name() const { return "XMMS"; }
|
||
|
|
QString shortname() const { return "xmms"; }
|
||
|
|
bool exec()
|
||
|
|
{
|
||
|
|
QString str =
|
||
|
|
"extern \"C\" void g_source_set_callback();"
|
||
|
|
"\n"
|
||
|
|
"int main()\n"
|
||
|
|
"{\n"
|
||
|
|
" g_source_set_callback();\n"
|
||
|
|
" return 0;\n"
|
||
|
|
"}\n";
|
||
|
|
int ret;
|
||
|
|
if (conf->doCompileAndLink(str, QStringList(), QString(), "CONFIG += qt", 0)) {
|
||
|
|
qWarning("XMMS is not compatible with a QT linked with glib 2.x");
|
||
|
|
return false;
|
||
|
|
}
|
||
|
|
QString s;
|
||
|
|
|
||
|
|
// XMMS
|
||
|
|
s = conf->getenv("QC_WITH_XMMS_INC");
|
||
|
|
if(!s.isEmpty()) {
|
||
|
|
if(!conf->checkHeader(s, "xmms/util.h")) {
|
||
|
|
qWarning("XMMS includes not found!");
|
||
|
|
return false;
|
||
|
|
}
|
||
|
|
conf->addIncludePath(s);
|
||
|
|
}
|
||
|
|
else {
|
||
|
|
QStringList sl;
|
||
|
|
sl += "/usr/include";
|
||
|
|
sl += "/usr/local/include";
|
||
|
|
sl += "/sw/include";
|
||
|
|
if(!conf->findHeader("xmms/util.h", sl, &s)) {
|
||
|
|
qWarning("XMMS includes not found!");
|
||
|
|
return false;
|
||
|
|
}
|
||
|
|
conf->addIncludePath(s);
|
||
|
|
}
|
||
|
|
|
||
|
|
s = conf->getenv("QC_WITH_XMMS_LIB");
|
||
|
|
if(!s.isEmpty()) {
|
||
|
|
if(!conf->checkLibrary(s, "xmms")) {
|
||
|
|
qWarning("XMMS libraries not found!");
|
||
|
|
return false;
|
||
|
|
}
|
||
|
|
conf->addLib(QString("-L") + s);
|
||
|
|
}
|
||
|
|
else {
|
||
|
|
if(!conf->findLibrary("xmms", &s)) {
|
||
|
|
qWarning("XMMS libraries not found!");
|
||
|
|
return false;
|
||
|
|
}
|
||
|
|
if (!s.isEmpty())
|
||
|
|
conf->addLib(QString("-L") + s);
|
||
|
|
}
|
||
|
|
|
||
|
|
conf->addLib("-lxmms");
|
||
|
|
|
||
|
|
|
||
|
|
// GLib
|
||
|
|
s = conf->getenv("QC_WITH_GLIB_INC");
|
||
|
|
if(!s.isEmpty()) {
|
||
|
|
if(conf->checkHeader(s, "glib.h")) {
|
||
|
|
conf->addIncludePath(s);
|
||
|
|
}
|
||
|
|
else {
|
||
|
|
qWarning("GLib includes not found!");
|
||
|
|
return false;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
else {
|
||
|
|
QStringList sl;
|
||
|
|
sl += "/usr/include/glib";
|
||
|
|
sl += "/usr/local/include/glib";
|
||
|
|
sl += "/usr/include/glib-1.2";
|
||
|
|
sl += "/sw/include/glib-1.2";
|
||
|
|
if(conf->findHeader("glib.h", sl, &s)) {
|
||
|
|
conf->addIncludePath(s);
|
||
|
|
}
|
||
|
|
else {
|
||
|
|
qWarning("GLib includes not found!");
|
||
|
|
return false;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
s = conf->getenv("QC_WITH_GLIB_LIB");
|
||
|
|
if(!s.isEmpty()) {
|
||
|
|
if(conf->checkLibrary(s, "glib")) {
|
||
|
|
conf->addLib(QString("-L") + s);
|
||
|
|
}
|
||
|
|
else {
|
||
|
|
qWarning("GLib 1.2.0 libraries not found!");
|
||
|
|
return false;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
else {
|
||
|
|
if(conf->findLibrary("glib", &s)) {
|
||
|
|
if (!s.isEmpty())
|
||
|
|
conf->addLib(QString("-L") + s);
|
||
|
|
}
|
||
|
|
else {
|
||
|
|
qWarning("GLib 1.2 libraries not found!");
|
||
|
|
return false;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
conf->addLib("-lglib");
|
||
|
|
|
||
|
|
// Glibconfig
|
||
|
|
s = conf->getenv("QC_WITH_GLIBCONFIG_INC");
|
||
|
|
if(!s.isEmpty()) {
|
||
|
|
if(conf->checkHeader(s, "glibconfig.h")) {
|
||
|
|
conf->addIncludePath(s);
|
||
|
|
}
|
||
|
|
else {
|
||
|
|
qWarning("glibconfig.h includes not found!");
|
||
|
|
return false;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
else {
|
||
|
|
if(conf->findHeader("glibconfig.h", QStringList("/usr/lib/glib/include"), &s)) {
|
||
|
|
conf->addIncludePath(s);
|
||
|
|
}
|
||
|
|
else {
|
||
|
|
qWarning("glibconfig.h not found!");
|
||
|
|
return false;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
// Finish
|
||
|
|
conf->addExtra("CONFIG += tc_xmms");
|
||
|
|
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
};
|