Warning, /games/ksirk/ksirk/iris/qcm/qca.qcm is written in an unsupported language. File is not indexed.
0001 /* 0002 -----BEGIN QCMOD----- 0003 name: QCA >= 2.0 0004 arg: with-qca=[path],Specify path to QCA tree, mainly for building against an uninstalled QCA. 0005 -----END QCMOD----- 0006 */ 0007 0008 // based on crypto.prf. any changes made to that file need to be tracked here. 0009 static QString internal_crypto_prf(const QString &incdir, const QString &libdir) 0010 { 0011 QString out = QString( 0012 "QCA_INCDIR = %1\n" 0013 "QCA_LIBDIR = %2\n" 0014 "\n" 0015 "CONFIG *= qt\n" 0016 "\n" 0017 "LINKAGE =\n" 0018 "\n" 0019 "# on mac, if qca was built as a framework, link against it\n" 0020 "mac: {\n" 0021 " framework_dir = $$QCA_LIBDIR\n" 0022 " exists($$framework_dir/qca.framework) {\n" 0023 " #QMAKE_FRAMEWORKPATH *= $$framework_dir\n" 0024 " LIBS += -F$$framework_dir\n" 0025 " INCLUDEPATH += $$framework_dir/qca.framework/Headers\n" 0026 " LINKAGE = -framework qca\n" 0027 " }\n" 0028 "}\n" 0029 "\n" 0030 "# else, link normally\n" 0031 "isEmpty(LINKAGE) {\n" 0032 " INCLUDEPATH += $$QCA_INCDIR/QtCrypto\n" 0033 " LIBS += -L$$QCA_LIBDIR\n" 0034 " LINKAGE = -lqca\n" 0035 " CONFIG(debug, debug|release) {\n" 0036 " windows:LINKAGE = -lqcad\n" 0037 " mac:LINKAGE = -lqca_debug\n" 0038 " }\n" 0039 "}\n" 0040 "\n" 0041 "LIBS += $$LINKAGE\n" 0042 ).arg(incdir, libdir); 0043 return out; 0044 } 0045 0046 #define QC_QCA 0047 QString qc_qca_procode; 0048 0049 //---------------------------------------------------------------------------- 0050 // qc_qca 0051 //---------------------------------------------------------------------------- 0052 class qc_qca : public ConfObj 0053 { 0054 public: 0055 qc_qca(Conf *c) : ConfObj(c) {} 0056 QString name() const { return "QCA >= 2.0"; } 0057 QString shortname() const { return "qca"; } 0058 bool exec() 0059 { 0060 // get the build mode 0061 #ifdef QC_BUILDMODE 0062 bool release = qc_buildmode_release; 0063 bool debug = qc_buildmode_debug; 0064 #else 0065 // else, default to just release mode 0066 bool release = true; 0067 bool debug = false; 0068 #endif 0069 0070 // test for "crypto" feature and check qca version number 0071 QString qca_prefix, qca_incdir, qca_libdir, qca_crypto_prf; 0072 qca_prefix = conf->getenv("QC_WITH_QCA"); 0073 0074 QString proextra; 0075 if(!qca_prefix.isEmpty()) { 0076 qca_incdir = qca_prefix + "/include"; 0077 qca_libdir = qca_prefix + "/lib"; 0078 qca_crypto_prf = internal_crypto_prf(qca_incdir, qca_libdir); 0079 proextra = 0080 "CONFIG += qt\n" 0081 "QT -= gui\n"; 0082 proextra += qca_crypto_prf; 0083 } else { 0084 proextra = 0085 "CONFIG += qt crypto\n" 0086 "QT -= gui\n"; 0087 } 0088 0089 QString str = 0090 "#include <QtCrypto>\n" 0091 "\n" 0092 "int main()\n" 0093 "{\n" 0094 " unsigned long x = QCA_VERSION;\n" 0095 " if(x >= 0x020000 && x < 0x030000) return 0; else return 1;\n" 0096 "}\n"; 0097 0098 if(release) 0099 { 0100 int ret; 0101 if(!conf->doCompileAndLink(str, QStringList(), QString(), proextra + "CONFIG += release\n", &ret)) 0102 return false; 0103 if(ret != 0) 0104 return false; 0105 } 0106 0107 if(debug) 0108 { 0109 int ret; 0110 if(!conf->doCompileAndLink(str, QStringList(), QString(), proextra + "CONFIG += debug\n", &ret)) 0111 return false; 0112 if(ret != 0) 0113 return false; 0114 } 0115 0116 if(!qca_prefix.isEmpty()) 0117 str = qca_crypto_prf; 0118 else 0119 str = "CONFIG += crypto\n"; 0120 0121 qc_qca_procode = str; 0122 conf->addExtra(str); 0123 0124 return true; 0125 } 0126 };