亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? configure

?? QCA的OPENSSL模塊
??
?? 第 1 頁 / 共 3 頁
字號:
			"QT -= gui\n";			proextra += qca_crypto_prf;		} else {			proextra =			"CONFIG += qt crypto\n"			"QT -= gui\n";		}		QString str =		"#include <QtCrypto>\n"		"\n"		"int main()\n"		"{\n"		"	unsigned long x = QCA_VERSION;\n"		"	if(x >= 0x020000 && x < 0x030000) return 0; else return 1;\n"		"}\n";		if(release)		{			int ret;			if(!conf->doCompileAndLink(str, QStringList(), QString(), proextra + "CONFIG += release\n", &ret))				return false;			if(ret != 0)				return false;		}		if(debug)		{			int ret;			if(!conf->doCompileAndLink(str, QStringList(), QString(), proextra + "CONFIG += debug\n", &ret))				return false;			if(ret != 0)				return false;		}		if(!qca_prefix.isEmpty())			conf->addExtra(qca_crypto_prf);		else			conf->addExtra("CONFIG += crypto\n");		return true;	}};#line 1 "openssl.qcm"/*-----BEGIN QCMOD-----name: OpenSSLarg: with-openssl-inc=[path],Path to OpenSSL include filesarg: with-openssl-lib=[path],Path to OpenSSL library files-----END QCMOD-----*/class qc_openssl : public ConfObj{public:	qc_openssl(Conf *c) : ConfObj(c) {}	QString name() const { return "OpenSSL"; }	QString shortname() const { return "openssl"; }	bool exec()	{		QString inc, lib;		QString s;		bool kb = false;		QString kbdir = "/usr/kerberos/include";		// Redhat 9?		if(QFileInfo(kbdir).exists())			kb = true;		s = conf->getenv("QC_WITH_OPENSSL_INC");		if(!s.isEmpty()) {			if(!conf->checkHeader(s, "openssl/ssl.h"))				return false;			inc = s;		}		else {			if(!conf->findHeader("openssl/ssl.h", QStringList(), &s))				return false;			inc = s;		}		s = conf->getenv("QC_WITH_OPENSSL_LIB");		if(!s.isEmpty()) {			if(!conf->checkLibrary(s, "ssl"))				return false;			lib = s;		}		else {			if(!conf->findLibrary("ssl", &s))				return false;			lib = s;		}		// is it at least openssl 0.9.7?		QString str =			"#include<openssl/opensslv.h>\n"			"int main()\n"			"{\n"			"  unsigned long x = OPENSSL_VERSION_NUMBER;\n"			"  if(x >= 0x00907000) return 0; else return 1;\n"			"}\n";		QStringList incs;		QString libs;		if(!inc.isEmpty())			incs += inc;		if(kb)			incs += kbdir;		if(!lib.isEmpty())			libs += QString("-L") + lib + ' ';		libs += "-lssl -lcrypto";		int ret;		if(!conf->doCompileAndLink(str, incs, libs, QString(), &ret))			return false;		if(ret == 0)			conf->addDefine("OSSL_097");		if(!inc.isEmpty())			conf->addIncludePath(inc);		if(kb)			conf->addIncludePath(kbdir);		if(!lib.isEmpty())			conf->addLib(QString("-L") + s);		conf->addLib("-lssl -lcrypto");		return true;	}};#line 1 "qcapluginpath.qcm"/*-----BEGIN QCMOD-----name: qcapluginpathsection: projectarg: plugins-path=[path],Path to install to.  Default: qtdir/plugins-----END QCMOD-----*/class qc_qcapluginpath : public ConfObj{public:	qc_qcapluginpath(Conf *c) : ConfObj(c) {}	QString name() const { return "qcapluginpath"; }	QString shortname() const { return "qcapluginpath"; }	// no output	QString checkString() const { return QString(); }	bool exec()	{		QString plugins_path = conf->getenv("QC_PLUGINS_PATH");		// default to qtdir		if(plugins_path.isEmpty())			plugins_path = QLibraryInfo::location(QLibraryInfo::PluginsPath);		// install into plugins path		QString str;		str += QString(		"target.path=%1/crypto\n"		"INSTALLS += target\n"		).arg(plugins_path);		conf->addExtra(str);		return true;	}};EOTcat >$1/modules_new.cpp <<EOT    o = new qc_buildmode(conf);    o->required = true;    o->disabled = false;    o = new qc_universal(conf);    o->required = true;    o->disabled = false;    o = new qc_qca(conf);    o->required = true;    o->disabled = false;    o = new qc_openssl(conf);    o->required = true;    o->disabled = false;    o = new qc_qcapluginpath(conf);    o->required = true;    o->disabled = false;EOTcat >$1/conf4.h <<EOT// For license information, see the COPYING file in the qconf base directory.#ifndef QC_CONF4_H#define QC_CONF4_H#include <QtCore>class Conf;enum VersionMode { VersionMin, VersionExact, VersionMax, VersionAny };// ConfObj//// Subclass ConfObj to create a new configuration module.class ConfObj{public:	Conf *conf;	bool required;	bool disabled;	bool success;	ConfObj(Conf *c);	virtual ~ConfObj();	// long or descriptive name of what is being checked/performed	// example: "KDE >= 3.3"	virtual QString name() const = 0;	// short name	// example: "kde"	virtual QString shortname() const = 0;	// string to display during check	// default: "Checking for [name] ..."	virtual QString checkString() const;	// string to display after check	// default: "yes" or "no", based on result of exec()	virtual QString resultString() const;	// this is where the checking code goes	virtual bool exec() = 0;};// Conf//// Interact with this class from your ConfObj to perform detection// operations and to output configuration parameters.class Conf{public:	bool debug_enabled;	QString qmake_path;	QString maketool;	QString DEFINES;	QString INCLUDEPATH;	QString LIBS;	QString extra;	QList<ConfObj*> list;	QMap<QString,QString> vars;	Conf();	~Conf();	QString getenv(const QString &var);	QString qvar(const QString &s);	bool exec();	void debug(const QString &s);	QString expandIncludes(const QString &inc);	QString expandLibs(const QString &lib);	int doCommand(const QString &s, QByteArray *out = 0);	int doCommand(const QString &prog, const QStringList &args, QByteArray *out = 0);	bool doCompileAndLink(const QString &filedata, const QStringList &incs, const QString &libs, const QString &proextra, int *retcode = 0);	bool checkHeader(const QString &path, const QString &h);	bool findHeader(const QString &h, const QStringList &ext, QString *inc);	bool checkLibrary(const QString &path, const QString &name);	bool findLibrary(const QString &name, QString *lib);	QString findProgram(const QString &prog);	bool findSimpleLibrary(const QString &incvar, const QString &libvar, const QString &incname, const QString &libname, QString *incpath, QString *libs);	bool findFooConfig(const QString &path, QString *version, QStringList *incs, QString *libs, QString *otherflags);	bool findPkgConfig(const QString &name, VersionMode mode, const QString &req_version, QString *version, QStringList *incs, QString *libs, QString *otherflags);	void addDefine(const QString &str);	void addLib(const QString &str);	void addIncludePath(const QString &str);	void addExtra(const QString &str);private:	bool first_debug;	friend class ConfObj;	void added(ConfObj *o);};#endifEOTcat >$1/conf4.cpp <<EOT// For license information, see the COPYING file in the qconf base directory.#include "conf4.h"#include <stdio.h>#include <stdlib.h>class MocTestObject : public QObject{	Q_OBJECTpublic:	MocTestObject() {}};QString qc_getenv(const QString &var){	char *p = ::getenv(var.toLatin1().data());	if(!p)		return QString();	return QString(p);}QStringList qc_pathlist(){	QStringList list;	QString path = qc_getenv("PATH");	if(!path.isEmpty())		list = path.split(':', QString::SkipEmptyParts);	return list;}QString qc_findprogram(const QString &prog){	QString out;	QStringList list = qc_pathlist();	for(int n = 0; n < list.count(); ++n)	{		QFileInfo fi(list[n] + '/' + prog);		if(fi.exists() && fi.isExecutable())		{			out = fi.filePath();			break;		}	}	return out;}QString qc_findself(const QString &argv0){	if(argv0.contains('/'))		return argv0;	else		return qc_findprogram(argv0);}int qc_runcommand(const QString &command, QByteArray *out, bool showOutput){	QString fullcmd = command;	if(!showOutput)		fullcmd += " 2>/dev/null";	FILE *f = popen(fullcmd.toLatin1().data(), "r");	if(!f)		return -1;	if(out)		out->clear();	while(1)	{		char c = (char)fgetc(f);		if(feof(f))			break;		if(out)			out->append(c);		if(showOutput)			fputc(c, stdout);	}	int ret = pclose(f);	if(ret == -1)		return -1;	return ret;}int qc_runprogram(const QString &prog, const QStringList &args, QByteArray *out, bool showOutput){	QString fullcmd = prog;	QString argstr = args.join(" ");	if(!argstr.isEmpty())		fullcmd += QString(" ") + argstr;	return qc_runcommand(fullcmd, out, showOutput);	// TODO: use QProcess once it is fixed	/*	QProcess process;	if(showOutput)		process.setReadChannelMode(ForwardedChannels);	process.start(prog, args);	process.waitForFinished(-1);	return process.exitCode();	*/}bool qc_removedir(const QString &dirPath){	QDir dir(dirPath);	if(!dir.exists())		return false;	QStringList list = dir.entryList();	foreach(QString s, list)	{		if(s == "." || s == "..")			continue;		QFileInfo fi(dir.filePath(s));		if(fi.isDir())		{			if(!qc_removedir(fi.filePath()))				return false;		}		else		{			if(!dir.remove(s))				return false;		}	}	QString dirName = dir.dirName();	if(!dir.cdUp())		return false;	if(!dir.rmdir(dirName))		return false;	return true;}void qc_splitcflags(const QString &cflags, QStringList *incs, QStringList *otherflags){	incs->clear();	otherflags->clear();	QStringList cflagsList = cflags.split(" ");	for(int n = 0; n < cflagsList.count(); ++n)	{		QString str = cflagsList[n];		if(str.startsWith("-I"))		{			// we want everything except the leading "-I"			incs->append(str.remove(0, 2));		}		else		{			// we want whatever is left			otherflags->append(str);		}	}}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//----------------------------------------------------------------------------ConfObj::ConfObj(Conf *c){	conf = c;	conf->added(this);	required = false;	disabled = false;	success = false;}ConfObj::~ConfObj(){}QString ConfObj::checkString() const{	return QString("Checking for %1 ...").arg(name());}QString ConfObj::resultString() const{	if(success)		return "yes";	else		return "no";}//----------------------------------------------------------------------------// qc_internal_pkgconfig//----------------------------------------------------------------------------class qc_internal_pkgconfig : public ConfObj{public:	QString pkgname, desc;	VersionMode mode;	QString req_ver;        qc_internal_pkgconfig(Conf *c, const QString &_name, const QString &_desc, VersionMode _mode, const QString &_req_ver) : ConfObj(c)	{		pkgname = _name;		desc = _desc;		mode = _mode;		req_ver = _req_ver;	}	QString name() const { return desc; }	QString shortname() const { return pkgname; }	bool exec()	{		QStringList incs;		QString version, libs, other;		if(!conf->findPkgConfig(pkgname, mode, req_ver, &version, &incs, &libs, &other))			return false;		for(int n = 0; n < incs.count(); ++n)			conf->addIncludePath(incs[n]);		if(!libs.isEmpty())			conf->addLib(libs);		//if(!other.isEmpty())		//	conf->addExtra(QString("QMAKE_CFLAGS += %1\n").arg(other));		return true;	}};//----------------------------------------------------------------------------// Conf//----------------------------------------------------------------------------Conf::Conf(){	// TODO: no more vars?	//vars.insert("QMAKE_INCDIR_X11", new QString(X11_INC));	//vars.insert("QMAKE_LIBDIR_X11", new QString(X11_LIBDIR));	//vars.insert("QMAKE_LIBS_X11",   new QString(X11_LIB));	//vars.insert("QMAKE_CC", CC);	debug_enabled = false;}Conf::~Conf(){	qDeleteAll(list);}void Conf::added(ConfObj *o){	list.append(o);}QString Conf::getenv(const QString &var){	return qc_getenv(var);}void Conf::debug(const QString &s){	if(debug_enabled)	{		if(first_debug)			printf("\n");		first_debug = false;		printf(" * %s\n", qPrintable(s));	}}bool Conf::exec(){	for(int n = 0; n < list.count(); ++n)	{		ConfObj *o = list[n];		// if this was a disabled-by-default option, check if it was enabled		if(o->disabled)		{			QString v = QString("QC_ENABLE_") + qc_escapeArg(o->shortname());			if(getenv(v) != "Y")				continue;		}		// and the opposite?		else		{			QString v = QString("QC_DISABLE_") + qc_escapeArg(o->shortname());			if(getenv(v) == "Y")				continue;		}		bool output = true;		QString check = o->checkString();		if(check.isEmpty())			output = false;		if(output)		{			printf("%s", check.toLatin1().data());			fflush(stdout);		}		first_debug = true;		bool ok = o->exec();		o->success = ok;		if(output)		{			QString result = o->resultString();

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲日本va午夜在线电影| 欧美变态tickling挠脚心| 亚洲青青青在线视频| av动漫一区二区| 亚洲精品成a人| 欧美色窝79yyyycom| 日韩av电影免费观看高清完整版在线观看| 欧美日韩卡一卡二| 久久超级碰视频| 日本一区二区成人在线| 一本大道久久a久久综合| 亚洲成av人片在www色猫咪| 91精品国产福利在线观看| 黄色资源网久久资源365| 国产精品国产三级国产a| 欧美伊人久久大香线蕉综合69 | 成人午夜免费视频| 亚洲欧美日韩国产一区二区三区| 欧美日韩三级在线| 国产精品一区在线观看你懂的| 国产精品电影一区二区| 欧美色图12p| 国产乱码精品一品二品| 亚洲卡通欧美制服中文| 日韩欧美在线影院| 成人三级在线视频| 婷婷开心激情综合| 国产欧美日韩视频一区二区| 日本高清不卡一区| 久久99在线观看| 夜夜爽夜夜爽精品视频| 日韩西西人体444www| 99免费精品在线| 久久草av在线| 亚洲高清不卡在线观看| 久久久久高清精品| 3atv在线一区二区三区| 成人免费看黄yyy456| 强制捆绑调教一区二区| 亚洲精品成人a在线观看| 久久久久久免费毛片精品| 欧美性猛片aaaaaaa做受| 成人一级视频在线观看| 另类小说欧美激情| 亚洲一区二区在线观看视频| 国产视频一区在线观看 | 色狠狠一区二区| 国产在线播放一区三区四| 亚洲成人手机在线| 最新中文字幕一区二区三区| 精品国产乱码久久久久久牛牛| 色狠狠色狠狠综合| 成人爱爱电影网址| 国产精品一区二区男女羞羞无遮挡| 午夜日韩在线电影| 一级女性全黄久久生活片免费| 国产精品日产欧美久久久久| 欧美成人精品1314www| 欧美老女人在线| 91成人免费在线| 91在线看国产| 国产成人免费在线| 国产一区二区三区在线观看免费| 午夜欧美大尺度福利影院在线看| 夜色激情一区二区| 亚洲猫色日本管| 亚洲欧洲精品一区二区三区| 国产日韩欧美激情| 国产亚洲精品7777| 欧美www视频| 欧美成人综合网站| ww久久中文字幕| 久久久久久免费| 久久久91精品国产一区二区精品| 日韩精品资源二区在线| 欧美一卡2卡三卡4卡5免费| 在线不卡欧美精品一区二区三区| 欧美日韩视频专区在线播放| 欧美性猛交xxxxxx富婆| 欧美三级一区二区| 欧美精选午夜久久久乱码6080| 欧美裸体一区二区三区| 538在线一区二区精品国产| 91超碰这里只有精品国产| 7799精品视频| 精品福利二区三区| 欧美高清在线视频| 亚洲精品国产一区二区精华液| 亚洲伊人伊色伊影伊综合网| 亚洲成av人片一区二区三区| 欧美aⅴ一区二区三区视频| 久久精品国产网站| 国产黑丝在线一区二区三区| www.久久久久久久久| 99久久国产综合精品色伊| 欧美亚洲精品一区| 日韩色视频在线观看| 久久九九全国免费| 亚洲欧洲三级电影| 午夜久久久久久久久久一区二区| 精品一区二区影视| 成人高清av在线| 欧美视频三区在线播放| 日韩免费观看高清完整版| 国产欧美精品一区二区三区四区| 国产精品久线在线观看| 亚洲午夜一区二区| 精品一区中文字幕| 色诱视频网站一区| 日韩精品一区二区三区中文精品| 亚洲国产精华液网站w| 亚洲欧美日韩电影| 日韩va欧美va亚洲va久久| 国产成人午夜精品影院观看视频| 色综合久久久久综合| 日韩一区国产二区欧美三区| 国产女人18毛片水真多成人如厕 | 麻豆精品国产91久久久久久| 岛国av在线一区| 欧美麻豆精品久久久久久| 国产亚洲精品免费| 亚洲444eee在线观看| 成人免费观看男女羞羞视频| 5566中文字幕一区二区电影| 中文字幕一区二区三区精华液 | 日本aⅴ亚洲精品中文乱码| 国产91对白在线观看九色| 7777精品伊人久久久大香线蕉完整版 | 高清成人在线观看| 欧美久久高跟鞋激| 亚洲视频一二三区| 国产电影一区在线| 日韩区在线观看| 一区二区三区高清不卡| 国产精品白丝jk白祙喷水网站| 欧美日韩日日夜夜| 亚洲视频1区2区| 国产91精品一区二区麻豆亚洲| 日韩三级视频在线看| 亚洲大片在线观看| 色屁屁一区二区| 一区二区中文字幕在线| 国产精品一区二区91| 欧美一区二区三区视频在线观看| 亚洲精选免费视频| 99视频精品在线| 国产精品女人毛片| 国产酒店精品激情| 精品免费99久久| 青娱乐精品视频| 欧美精品日韩精品| 亚洲国产精品尤物yw在线观看| 99久久精品免费精品国产| 久久精品夜夜夜夜久久| 久久99这里只有精品| 91精品国产免费久久综合| 婷婷久久综合九色综合绿巨人| 欧美亚男人的天堂| 亚洲一区二区三区四区在线免费观看 | 欧美一区二区三区人| 亚洲国产日韩a在线播放性色| 色先锋资源久久综合| 中文字幕佐山爱一区二区免费| 成人高清视频免费观看| 国产精品理伦片| 91在线国产观看| 中文字幕一区二区三区蜜月| av电影一区二区| 亚洲欧美在线aaa| 91麻豆视频网站| 一区二区三区在线影院| 在线观看视频一区二区 | 综合色中文字幕| 色综合激情五月| 亚洲一区二区三区在线播放| 欧美日韩久久不卡| 日韩主播视频在线| 日韩精品最新网址| 国产成人精品三级麻豆| 国产精品久久久久天堂| 91久久一区二区| 日韩精品乱码免费| 日韩欧美成人激情| 国产精品123区| 亚洲私人影院在线观看| 欧美在线观看视频一区二区| 午夜精品成人在线视频| 欧美videossexotv100| 国产mv日韩mv欧美| 亚洲欧美日韩精品久久久久| 欧美日韩国产综合一区二区三区| 日本亚洲三级在线| 国产亚洲综合av| 欧美在线高清视频| 久久精品二区亚洲w码| 国产精品初高中害羞小美女文| 在线影院国内精品| 激情深爱一区二区| 亚洲精品精品亚洲| 精品国产一区久久|