summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMark Brand <mabrand@mabrand.nl>2010-08-03 14:37:05 (GMT)
committerOswald Buddenhagen <oswald.buddenhagen@nokia.com>2010-08-04 12:29:09 (GMT)
commit2c7621730d30ac418874c18036a7aa34e2aae1d0 (patch)
treefadbdad03e58e378a7820d2f3edc6927dd6e23a1
parentf2b5d057252870a3d6c1cf24e848a740c697ea99 (diff)
downloadQt-2c7621730d30ac418874c18036a7aa34e2aae1d0.zip
Qt-2c7621730d30ac418874c18036a7aa34e2aae1d0.tar.gz
Qt-2c7621730d30ac418874c18036a7aa34e2aae1d0.tar.bz2
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 <oswald.buddenhagen@nokia.com>
-rwxr-xr-xconfigure8
-rw-r--r--src/sql/drivers/tds/qsql_tds.pri4
-rw-r--r--tools/configure/configureapp.cpp15
-rw-r--r--tools/configure/configureapp.h2
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<QString,QString> licenseInfo;
QString outputLine;