From 2c7621730d30ac418874c18036a7aa34e2aae1d0 Mon Sep 17 00:00:00 2001 From: Mark Brand Date: Tue, 3 Aug 2010 16:37:05 +0200 Subject: Improve TDS configuration through QT_LFLAGS_TDS, SYBASE, SYBASE_LIBS Consistent with QT_LFLAGS_* for other database drivers. Support added to configure shell script and configure.exe. Respect SYBASE and SYBASE_LIBS. Use QT_LFLAGS_TDS in project files. Merge-request: 2416 Reviewed-by: Oswald Buddenhagen --- configure | 8 +++++++- src/sql/drivers/tds/qsql_tds.pri | 4 +++- tools/configure/configureapp.cpp | 15 +++++++++++++++ tools/configure/configureapp.h | 2 ++ 4 files changed, 27 insertions(+), 2 deletions(-) diff --git a/configure b/configure index c6e4591..6958800 100755 --- a/configure +++ b/configure @@ -823,6 +823,7 @@ QT_LFLAGS_MYSQL_R= QT_CFLAGS_SQLITE= QT_LFLAGS_SQLITE= QT_LFLAGS_ODBC="-lodbc" +QT_LFLAGS_TDS= # flags for libdbus-1 QT_CFLAGS_DBUS= @@ -5119,7 +5120,9 @@ for _SQLDR in $CFG_SQL_AVAILABLE; do ;; tds) if [ "$CFG_SQL_tds" != "no" ]; then - if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/tds "TDS" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then + [ -z "$SYBASE" ] || QT_LFLAGS_TDS="-L$SYBASE/lib" + [ -z "$SYBASE_LIBS" ] || QT_LFLAGS_TDS="$QT_LFLAGS_TDS $SYBASE_LIBS" + if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/tds "TDS" $QT_LFLAGS_TDS $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then if [ "$CFG_SQL_tds" = "auto" ]; then CFG_SQL_tds=plugin fi @@ -7928,6 +7931,9 @@ fi if [ -n "$QT_LFLAGS_ODBC" ]; then echo "QT_LFLAGS_ODBC = $QT_LFLAGS_ODBC" >> "$CACHEFILE.tmp" fi +if [ -n "$QT_LFLAGS_TDS" ]; then + echo "QT_LFLAGS_TDS = $QT_LFLAGS_TDS" >> "$CACHEFILE.tmp" +fi if [ "$QT_EDITION" != "QT_EDITION_OPENSOURCE" ]; then echo "DEFINES *= QT_EDITION=QT_EDITION_DESKTOP" >> "$CACHEFILE.tmp" diff --git a/src/sql/drivers/tds/qsql_tds.pri b/src/sql/drivers/tds/qsql_tds.pri index c552ead..037f793 100644 --- a/src/sql/drivers/tds/qsql_tds.pri +++ b/src/sql/drivers/tds/qsql_tds.pri @@ -1,8 +1,10 @@ HEADERS += $$PWD/qsql_tds.h SOURCES += $$PWD/qsql_tds.cpp -unix { +unix|win32-g++: { + !isEmpty(QT_LFLAGS_TDS):!static:LIBS *= $$QT_LFLAGS_TDS !contains(LIBS, .*sybdb.*):LIBS += -lsybdb + QMAKE_CXXFLAGS *= $$QT_CFLAGS_TDS } else:win32-borland { LIBS *= $(BCB)/lib/PSDK/NTWDBLIB.LIB } else { diff --git a/tools/configure/configureapp.cpp b/tools/configure/configureapp.cpp index b7de052..953a8c9 100644 --- a/tools/configure/configureapp.cpp +++ b/tools/configure/configureapp.cpp @@ -1029,6 +1029,10 @@ void Configure::parseCmdLine() opensslLibs = configCmdLine.at(i); } else if (configCmdLine.at(i).startsWith("PSQL_LIBS=")) { psqlLibs = configCmdLine.at(i); + } else if (configCmdLine.at(i).startsWith("SYBASE=")) { + sybase = configCmdLine.at(i); + } else if (configCmdLine.at(i).startsWith("SYBASE_LIBS=")) { + sybaseLibs = configCmdLine.at(i); } else if ((configCmdLine.at(i) == "-override-version") || (configCmdLine.at(i) == "-version-override")){ @@ -2747,6 +2751,17 @@ void Configure::generateOutputVars() } if (!psqlLibs.isEmpty()) qmakeVars += QString("QT_LFLAGS_PSQL=") + psqlLibs.section("=", 1); + + { + QStringList lflagsTDS; + if (!sybase.isEmpty()) + lflagsTDS += QString("-L") + fixSeparators(sybase.section("=", 1) + "/lib"); + if (!sybaseLibs.isEmpty()) + lflagsTDS += sybaseLibs.section("=", 1); + if (!lflagsTDS.isEmpty()) + qmakeVars += QString("QT_LFLAGS_TDS=") + lflagsTDS.join(" "); + } + if (!qmakeSql.isEmpty()) qmakeVars += QString("sql-drivers += ") + qmakeSql.join(" "); if (!qmakeSqlPlugins.isEmpty()) diff --git a/tools/configure/configureapp.h b/tools/configure/configureapp.h index ff2ee8b..b3c07f7 100644 --- a/tools/configure/configureapp.h +++ b/tools/configure/configureapp.h @@ -134,6 +134,8 @@ private: QStringList qmakeLibs; QString opensslLibs; QString psqlLibs; + QString sybase; + QString sybaseLibs; QMap licenseInfo; QString outputLine; -- cgit v0.12