blob: cd20eef1df09c08a56b07931adef9f60b1ffc041 [file] [log] [blame]
{
"module": "sqldrivers",
"depends": [
"core"
],
"testDir": "../../../config.tests",
"commandline": {
"assignments": {
"MYSQL_PATH": "mysql.prefix",
"SYBASE": "tds.prefix",
"SYBASE_LIBS": "tds.libs"
},
"options": {
"mysql_config": "string",
"psql_config": "string",
"sqlite": { "type": "enum", "name": "system-sqlite", "values": { "qt": "no", "system": "yes" } },
"sql-db2": "boolean",
"sql-ibase": "boolean",
"sql-mysql": "boolean",
"sql-oci": "boolean",
"sql-odbc": "boolean",
"sql-psql": "boolean",
"sql-sqlite": "boolean",
"sql-sqlite2": "boolean",
"sql-tds": "boolean",
"plugin-sql-db2": { "type": "void", "name": "sql-db2" },
"plugin-sql-ibase": { "type": "void", "name": "sql-ibase" },
"plugin-sql-mysql": { "type": "void", "name": "sql-mysql" },
"plugin-sql-oci": { "type": "void", "name": "sql-oci" },
"plugin-sql-odbc": { "type": "void", "name": "sql-odbc" },
"plugin-sql-psql": { "type": "void", "name": "sql-psql" },
"plugin-sql-sqlite": { "type": "void", "name": "sql-sqlite" },
"plugin-sql-sqlite2": { "type": "void", "name": "sql-sqlite2" },
"plugin-sql-tds": { "type": "void", "name": "sql-tds" }
}
},
"libraries": {
"db2": {
"label": "DB2 (IBM)",
"test": {},
"headers": [ "sqlcli.h", "sqlcli1.h" ],
"sources": [
{ "libs": "-ldb2cli", "condition": "config.win32" },
{ "libs": "-ldb2", "condition": "!config.win32" }
]
},
"ibase": {
"label": "InterBase",
"test": {},
"headers": "ibase.h",
"sources": [
{ "libs": "-lgds32_ms", "condition": "config.win32" },
{ "libs": "-lgds", "condition": "!config.win32" }
]
},
"mysql": {
"label": "MySQL",
"test": {
"head": [
"#if defined(WIN32) || defined(_WIN32) || defined(__WIN32__) || defined(WIN64) || defined(_WIN64) || defined(__WIN64__)",
"# include <windows.h>",
"#endif"
],
"main": "mysql_get_client_version();"
},
"headers": "mysql.h",
"sources": [
{ "type": "mysqlConfig", "query": "--libs_r", "cleanlibs": true },
{ "type": "mysqlConfig", "query": "--libs", "cleanlibs": true },
{ "type": "mysqlConfig", "query": "--libs_r", "cleanlibs": false },
{ "type": "mysqlConfig", "query": "--libs", "cleanlibs": false },
{ "libs": "-lmysqlclient_r", "condition": "!config.win32" },
{ "libs": "-llibmysql", "condition": "config.win32" },
{ "libs": "-lmysqlclient", "condition": "!config.win32" }
]
},
"psql": {
"label": "PostgreSQL",
"test": {
"main": [
"PQescapeBytea(0, 0, 0);",
"PQunescapeBytea(0, 0);"
]
},
"headers": "libpq-fe.h",
"sources": [
{ "type": "pkgConfig", "args": "libpq" },
{ "type": "psqlConfig" },
{ "type": "psqlEnv", "libs": "-llibpq -lws2_32 -ladvapi32", "condition": "config.win32" },
{ "type": "psqlEnv", "libs": "-lpq", "condition": "!config.win32" }
]
},
"tds": {
"label": "TDS (Sybase)",
"test": {},
"headers": [ "sybfront.h", "sybdb.h" ],
"sources": [
{ "type": "sybaseEnv", "libs": "-lNTWDBLIB", "condition": "config.win32" },
{ "type": "sybaseEnv", "libs": "-lsybdb", "condition": "!config.win32" }
]
},
"oci": {
"label": "OCI (Oracle)",
"test": {},
"headers": "oci.h",
"sources": [
{ "libs": "-loci", "condition": "config.win32" },
{ "libs": "-lclntsh", "condition": "!config.win32" }
]
},
"odbc": {
"label": "ODBC",
"test": {
"head": [
"#if defined(WIN32) || defined(_WIN32) || defined(__WIN32__) || defined(WIN64) || defined(_WIN64) || defined(__WIN64__)",
"# include <windows.h>",
"#endif"
],
"main": [
"SQLHANDLE env;",
"SQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL_HANDLE, &env);"
]
},
"headers": [ "sql.h", "sqlext.h" ],
"sources": [
{ "libs": "-lodbc32", "condition": "config.win32" },
{ "libs": "-liodbc", "condition": "config.darwin" },
{ "libs": "-lodbc", "condition": "!config.win32 && !config.darwin" }
]
},
"sqlite2": {
"label": "SQLite (version 2)",
"test": {},
"headers": "sqlite.h",
"sources": [
"-lsqlite"
]
},
"sqlite3": {
"label": "SQLite (version 3)",
"export": "sqlite",
"test": {
"main": "sqlite3_open_v2(0, 0, 0, 0);"
},
"headers": "sqlite3.h",
"sources": [
{ "type": "pkgConfig", "args": "sqlite3" },
"-lsqlite3"
],
"use": [
{ "lib": "zlib", "condition": "!config.win32 && features.system-zlib" }
]
}
},
"tests": {
},
"features": {
"sql-db2": {
"label": "DB2 (IBM)",
"condition": "libs.db2",
"output": [ "privateFeature" ]
},
"sql-ibase": {
"label": "InterBase",
"condition": "libs.ibase",
"output": [ "privateFeature" ]
},
"sql-mysql": {
"label": "MySql",
"condition": "libs.mysql",
"output": [ "privateFeature" ]
},
"sql-oci": {
"label": "OCI (Oracle)",
"condition": "libs.oci",
"output": [ "privateFeature" ]
},
"sql-odbc": {
"label": "ODBC",
"condition": "features.datestring && libs.odbc",
"output": [ "privateFeature" ]
},
"sql-psql": {
"label": "PostgreSQL",
"condition": "libs.psql",
"output": [ "privateFeature" ]
},
"sql-sqlite2": {
"label": "SQLite2",
"condition": "libs.sqlite2",
"output": [ "privateFeature" ]
},
"sql-sqlite": {
"label": "SQLite",
"condition": "features.datestring",
"output": [ "privateFeature" ]
},
"system-sqlite": {
"label": " Using system provided SQLite",
"autoDetect": false,
"condition": "features.sql-sqlite && libs.sqlite3",
"output": [ "privateFeature" ]
},
"sql-tds": {
"label": "TDS (Sybase)",
"condition": "features.datestring && libs.tds",
"output": [ "privateFeature" ]
}
},
"report": [
{
"type": "warning",
"condition": "config.win32 && !config.msvc && features.sql-oci",
"message": "Qt does not support compiling the Oracle database driver with
MinGW, due to lack of such support from Oracle. Consider disabling the
Oracle driver, as the current build will most likely fail."
}
],
"summary": [
{
"section": "Qt Sql Drivers",
"entries": [
"sql-db2", "sql-ibase", "sql-mysql", "sql-oci", "sql-odbc", "sql-psql",
"sql-sqlite2", "sql-sqlite", "system-sqlite", "sql-tds"
]
}
]
}