From c578c6c1d6dc2f3bb6cc53abb8da2e706a249f02 Mon Sep 17 00:00:00 2001 From: axis Date: Tue, 20 Jul 2010 14:07:25 +0200 Subject: Fixed automatic sqlite extraction on Symbian makefile build system. Since we cannot extract to the epocroot (it is considered R/O), we extract the header and the dso to the temporary build directories and include them from there. RevBy: Trust me --- mkspecs/common/symbian/symbian.conf | 1 + .../sqldrivers/sqlite_symbian/sqlite_symbian.pri | 38 ++++++++++++++++++++++ .../sqldrivers/sqlite_symbian/sqlite_symbian.pro | 2 +- src/sql/drivers/drivers.pri | 2 ++ 4 files changed, 42 insertions(+), 1 deletion(-) create mode 100644 src/plugins/sqldrivers/sqlite_symbian/sqlite_symbian.pri diff --git a/mkspecs/common/symbian/symbian.conf b/mkspecs/common/symbian/symbian.conf index c1b31e5..7ec5c6c 100644 --- a/mkspecs/common/symbian/symbian.conf +++ b/mkspecs/common/symbian/symbian.conf @@ -105,6 +105,7 @@ QMAKE_IDL = midl QMAKE_LIB = ar -ru QMAKE_RC = windres QMAKE_ZIP = zip -r -9 +QMAKE_UNZIP = unzip -o QMAKE_TAR = tar -cf QMAKE_GZIP = gzip -9f diff --git a/src/plugins/sqldrivers/sqlite_symbian/sqlite_symbian.pri b/src/plugins/sqldrivers/sqlite_symbian/sqlite_symbian.pri new file mode 100644 index 0000000..ab8d846 --- /dev/null +++ b/src/plugins/sqldrivers/sqlite_symbian/sqlite_symbian.pri @@ -0,0 +1,38 @@ +# We just want to include the sqlite3 binaries for Symbian for platforms that do not have them. +!symbian-abld:!symbian-sbsv2 { + !symbian_no_export_sqlite:!exists($${EPOCROOT}epoc32/release/armv5/lib/sqlite3.dso) { + symbian_sqlite3_zip_file = $$PWD/SQLite3_v9.2.zip + + # The QMAKE_COPY section is to update timestamp on the file. + symbian_sqlite3_header.input = symbian_sqlite3_zip_file + symbian_sqlite3_header.output = sqlite3.h + !isEmpty(MOC_DIR):symbian_sqlite3_header.output = $$MOC_DIR/$$symbian_sqlite3_header.output + symbian_sqlite3_header.CONFIG = combine no_link + symbian_sqlite3_header.dependency_type = TYPE_C + symbian_sqlite3_header.commands = $$QMAKE_UNZIP -j ${QMAKE_FILE_NAME} epoc32/include/stdapis/${QMAKE_FILE_OUT_BASE}.h \ + && $$QMAKE_COPY ${QMAKE_FILE_OUT_BASE}.h ${QMAKE_FILE_OUT}.tmp \ + && $$QMAKE_DEL_FILE ${QMAKE_FILE_OUT_BASE}.h \ + && $$QMAKE_MOVE ${QMAKE_FILE_OUT}.tmp ${QMAKE_FILE_OUT} + QMAKE_EXTRA_COMPILERS += symbian_sqlite3_header + + # The QMAKE_COPY section is to update timestamp on the file. + symbian_sqlite3_dso.input = symbian_sqlite3_zip_file + symbian_sqlite3_dso.output = sqlite3.dso + !isEmpty(OBJECTS_DIR):symbian_sqlite3_dso.output = $$OBJECTS_DIR/$$symbian_sqlite3_dso.output + symbian_sqlite3_dso.CONFIG = combine no_link target_predeps + symbian_sqlite3_dso.commands = $$QMAKE_UNZIP -j ${QMAKE_FILE_NAME} epoc32/release/armv5/lib/${QMAKE_FILE_OUT_BASE}.dso \ + && $$QMAKE_COPY ${QMAKE_FILE_OUT_BASE}.dso ${QMAKE_FILE_OUT}.tmp \ + && $$QMAKE_DEL_FILE ${QMAKE_FILE_OUT_BASE}.dso \ + && $$QMAKE_MOVE ${QMAKE_FILE_OUT}.tmp ${QMAKE_FILE_OUT} + QMAKE_EXTRA_COMPILERS += symbian_sqlite3_dso + + symbian_sqlite3_ver_dso.input = symbian_sqlite3_zip_file + symbian_sqlite3_ver_dso.output = sqlite3{00060003}.dso + !isEmpty(OBJECTS_DIR):symbian_sqlite3_ver_dso.output = $$OBJECTS_DIR/$$symbian_sqlite3_ver_dso.output + symbian_sqlite3_ver_dso.CONFIG = $$symbian_sqlite3_dso.CONFIG + symbian_sqlite3_ver_dso.commands = $$symbian_sqlite3_dso.commands + QMAKE_EXTRA_COMPILERS += symbian_sqlite3_ver_dso + + QMAKE_LIBDIR *= $$OBJECTS_DIR + } +} diff --git a/src/plugins/sqldrivers/sqlite_symbian/sqlite_symbian.pro b/src/plugins/sqldrivers/sqlite_symbian/sqlite_symbian.pro index 691cce1..0d233e6 100644 --- a/src/plugins/sqldrivers/sqlite_symbian/sqlite_symbian.pro +++ b/src/plugins/sqldrivers/sqlite_symbian/sqlite_symbian.pro @@ -2,7 +2,7 @@ TEMPLATE = subdirs # We just want to export the sqlite3 binaries for Symbian for platforms that do not have them. -symbian { +symbian-abld|symbian-sbsv2 { !symbian_no_export_sqlite:!exists($${EPOCROOT}epoc32/release/armv5/lib/sqlite3.dso) { BLD_INF_RULES.prj_exports += ":zip SQLite3_v9.2.zip" } diff --git a/src/sql/drivers/drivers.pri b/src/sql/drivers/drivers.pri index 05e7265..c68442d 100644 --- a/src/sql/drivers/drivers.pri +++ b/src/sql/drivers/drivers.pri @@ -114,6 +114,8 @@ contains(sql-drivers, sqlite) { QMAKE_CXXFLAGS *= $$QT_CFLAGS_SQLITE } + symbian:include(../../plugins/sqldrivers/sqlite_symbian/sqlite_symbian.pri) + HEADERS += drivers/sqlite/qsql_sqlite.h SOURCES += drivers/sqlite/qsql_sqlite.cpp } -- cgit v0.12