/*
-----BEGIN QCMOD-----
name: libcommoncpp2
arg: with-libcurl-inc=[path], Path to libcurl include files
arg: with-libcurl-lib=[path], Path to libcurl library files
-----END QCMOD-----
*/
class qc_libcurl : public ConfObj
{
public:
	qc_libcurl(Conf *c) : ConfObj(c) {}
	QString name() const { return "libcurl"; }
	QString shortname() const { return "libcurl"; }
	bool exec(){
    QString s;
		s = conf->getenv("QC_WITH_LIBCURL_INC");
		if(!s.isEmpty()) {
			if(!conf->checkHeader(s, "curl/curl.h")) {
				return false;
    	}
		}else{
			QStringList sl;
			sl << "/usr/include";
			sl << "/usr/local/include";
			bool found = false;
			foreach(s, sl){
				if(conf->checkHeader(s, "curl/curl.h")){
					found = true;
					break;
				}
			}
			if(!found) {
				return false;
      }
		}
		conf->addIncludePath(s);

		s = conf->getenv("QC_WITH_LIBCURL_LIB");
		if(!s.isEmpty()) {
			if(!QFile::exists(s+QString("/libcurl.so")))
		          return false;
    	conf->addLib(QString("-L") + s);
		}else{
			QStringList sl;
			sl << "/usr/lib/";
			sl << "/usr/lib64/";
			sl << "/usr/local/lib/";
			sl << "/usr/local/lib64/";
			bool found = false;
			foreach(s, sl){
				if(QFile::exists(s+QString("libcurl.so"))){
					found = true;
					break;
				}
			}
			if(!found) return false;
			conf->addLib(QString("-L") + s);
		}
		return true;
	}
};