qt: fix webkit/sqlite build without largefile support
authorPeter Korsgaard <jacmet@sunsite.dk>
Mon, 27 Jun 2011 09:56:11 +0000 (11:56 +0200)
committerPeter Korsgaard <jacmet@sunsite.dk>
Mon, 27 Jun 2011 09:56:11 +0000 (11:56 +0200)
The embedded sqlite module forces FILE_OFFSET_BITS=64 unless
SQLITE_DISABLE_LFS is defined, breaking the build for !largefile toolchains.
Webkit internally builds sqlite, so that's affected as well.

Fix it by passing -DSQLITE_DISABLE_LFS in C/CXXFLAGS for !largefile
builds, similar to how we do it for the standalone sqlite package.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
package/qt/qt.mk

index e8b7a496410014959aafdd42ef85b6b7623b52d2..ff67058c437475bf4fb4e6fb7663ce6a3c6e8093 100644 (file)
@@ -28,10 +28,21 @@ ifneq ($(QT_CONFIG_FILE),)
 QT_CONFIGURE_OPTS += -config buildroot
 endif
 
+QT_CFLAGS = $(TARGET_CFLAGS)
+QT_CXXFLAGS = $(TARGET_CXXFLAGS)
+
 ifeq ($(BR2_LARGEFILE),y)
 QT_CONFIGURE_OPTS += -largefile
 else
 QT_CONFIGURE_OPTS += -no-largefile
+
+# embedded sqlite module forces FILE_OFFSET_BITS=64 unless this is defined
+# webkit internally uses this module as well
+ifneq ($(BR2_PACKAGE_QT_SQLITE_QT)$(BR2_PACKAGE_QT_WEBKIT),)
+QT_CFLAGS += -DSQLITE_DISABLE_LFS
+QT_CXXFLAGS += -DSQLITE_DISABLE_LFS
+endif
+
 endif
 
 ifeq ($(BR2_PACKAGE_QT_QT3SUPPORT),y)
@@ -465,8 +476,8 @@ define QT_CONFIGURE_CMDS
        $(call QT_QMAKE_SET,OBJCOPY,$(TARGET_OBJCOPY),$(@D))
        $(call QT_QMAKE_SET,RANLIB,$(TARGET_RANLIB),$(@D))
        $(call QT_QMAKE_SET,STRIP,$(TARGET_STRIP),$(@D))
-       $(call QT_QMAKE_SET,CFLAGS,$(TARGET_CFLAGS),$(@D))
-       $(call QT_QMAKE_SET,CXXFLAGS,$(TARGET_CXXFLAGS),$(@D))
+       $(call QT_QMAKE_SET,CFLAGS,$(QT_CFLAGS),$(@D))
+       $(call QT_QMAKE_SET,CXXFLAGS,$(QT_CXXFLAGS),$(@D))
        $(call QT_QMAKE_SET,LFLAGS,$(TARGET_LDFLAGS),$(@D))
 # Don't use TARGET_CONFIGURE_OPTS here, qmake would be compiled for the target
 # instead of the host then. So set PKG_CONFIG* manually.