#
# TODO:
-# - test/add X11/xcb support
+# - test/add xcb support
# - handle plugins in a granular way (find out which packages should provide which plugins)
include $(TOPDIR)/rules.mk
PKG_BUILD_PARALLEL:=1
PKG_CONFIG_DEPENDS:= \
+ CONFIG_QT4_WS_QWS \
+ CONFIG_QT4_WS_X11 \
+ CONFIG_PACKAGE_directfb \
CONFIG_PACKAGE_qt4-demos \
- CONFIG_PACKAGE_qt4-examples
+ CONFIG_PACKAGE_qt4-examples \
+ CONFIG_PACKAGE_qt4-svg \
+ CONFIG_PACKAGE_qt4-qt3support \
+ CONFIG_PACKAGE_qt4-dbus \
+ CONFIG_PACKAGE_qt4-phonon \
+ CONFIG_PACKAGE_qt4-sqlite \
+ CONFIG_PACKAGE_qt4-mysql
include $(INCLUDE_DIR)/package.mk
+-include $(if $(DUMP),,./files/qmake.mk)
# this should be moved to a more generic place later, as other packages are configured different as well depending on available nptl support
ifeq ($(CONFIG_USE_GLIBC),y)
NPTL:=y
endif
+define Package/qt4/config
+ source "$(SOURCE)/Config.in"
+endef
+
define Package/qt4/Default
SECTION:=xorg-framework
CATEGORY:=Xorg
define Package/qt4
$(call Package/qt4/Default)
- DEPENDS:=@FEATURE_drawing-backend_DirectFB +FEATURE_drawing-backend_DirectFB:directfb +zlib +libstdcpp +libsqlite3 +tslib # require directfb for now, as other systems (libX11, xcb) are untested
+ DEPENDS:=+zlib +libstdcpp +libsqlite3
endef
define Package/qt4-gui
$(call Package/qt4/Default)
- #DEPENDS+=+FEATURE_drawing-backend_DirectFB:directfb +libpng +libtiff +libjpeg +libfreetype
- DEPENDS+=+libpng +libtiff +libjpeg +libfreetype +qt4-network
+ DEPENDS+=+libpng +libtiff +libjpeg +libfreetype +qt4-network +FEATURE_drawing-backend_DirectFB:directfb +FEATURE_drawing-backend_libX11:libX11
TITLE+=(gui)
endef
define Package/qt4-examples
$(call Package/qt4/Default)
TITLE+=(examples)
- DEPENDS+=+qt4-gui
+ DEPENDS+=+qt4-gui +qt4-svg
endef
define Package/qt4-network
define Package/qt4-svg
$(call Package/qt4/Default)
TITLE+=(svg)
- #DEPENDS+=+qt4-gui @BROKEN
DEPENDS+=+qt4-gui +qt4-network
endef
define Package/qt4-drivers-mouse/Default
$(call Package/qt4/Default)
TITLE+=mousedrivers
+ DEPENDS+=@QT4_WS_QWS
endef
define Package/qt4-drivers-mouse-tpmousedriver
define Package/qt4-drivers-mouse-tslibmousedriver
$(call Package/qt4-drivers-mouse/Default)
TITLE+=tslibmousedriver
+ DEPENDS:=+tslib
endef
###
define Package/qt4-drivers-gfx/Default
$(call Package/qt4/Default)
TITLE+=gfxdrivers
+ DEPENDS+=@QT4_WS_QWS
endef
define Package/qt4-drivers-gfx-directfb
$(call Package/qt4-drivers-gfx/Default)
TITLE+=directfb
+ DEPENDS+=@FEATURE_drawing-backend_DirectFB +FEATURE_drawing-backend_DirectFB:directfb
endef
define Package/qt4-drivers-gfx-linuxfb
define Package/qt4-drivers-kbd/Default
$(call Package/qt4/Default)
TITLE+=kbddrivers
+ DEPENDS+=@QT4_WS_QWS
endef
define Package/qt4-drivers-kbd-linuxinput
TARGET_LDFLAGS+=-Wl,-rpath-link=$(STAGING_DIR)/usr/lib,-rpath-link=$(PKG_BUILD_DIR)/lib
TARGET_CFLAGS+=-I$(STAGING_DIR)/usr/include/freetype2 -I$(PKG_BUILD_DIR)/include
+ifeq ($(CONFIG_QT4_WS_QWS),y)
+ FILEPFX:=qws-
+endif
+ifeq ($(CONFIG_QT4_WS_X11),y)
+ FILEPFX:=x11-
+endif
+
define Build/Configure
# NOTES:
# demos/examples: which demos are going to be built depends on which features are going to to be compiled into qt
- # svg: always compile in svg-support, as once qt is built without, strange include errors occur when we're going to compile qt4-svg afterwards
# linuxfb/directfb: since directfb is not much overhead compared to plain framebuffer, force using directfb
# do not use fontconfig as it doesn't work anyway for qte
# bindir: bindir is where the host tools (qmake, moc, rcc, uic) will get installed into - they are just used on the host and not goig to be packaged
- mkdir -p $(PKG_BUILD_DIR)/mkspecs/qws/linux-openwrt-g++
- cp -a ./files/{qmake.conf,qplatformdefs.h} $(PKG_BUILD_DIR)/mkspecs/qws/linux-openwrt-g++/
+ mkdir -p $(PKG_BUILD_DIR)/mkspecs/$(QMAKE_PLATFORM_PREFIX)linux-openwrt-g++
+ $(CP) ./files/$(FILEPFX)qmake.conf $(PKG_BUILD_DIR)/mkspecs/$(QMAKE_PLATFORM_PREFIX)linux-openwrt-g++/qmake.conf
+ $(CP) ./files/$(FILEPFX)qplatformdefs.h $(PKG_BUILD_DIR)/mkspecs/$(QMAKE_PLATFORM_PREFIX)linux-openwrt-g++/qplatformdefs.h
( cd $(PKG_BUILD_DIR) ; \
TARGET_CC="$(TARGET_CROSS)gcc" \
TARGET_CXX="$(TARGET_CROSS)g++" \
STAGING_DIR="$(STAGING_DIR)" \
STAGING_DIR_HOST="$(STAGING_DIR)/../host" \
./configure \
+ -arch $(ARCH) \
-prefix $(CONFIGURE_PREFIX) \
-bindir $(CONFIGURE_PREFIX)/bin \
-libdir $(CONFIGURE_PREFIX)/lib \
$(if $(CONFIG_PACKAGE_qt4-examples),-make,-nomake) examples \
-nomake docs \
-nomake translations \
- -xplatform qws/linux-openwrt-g++ \
+ -xplatform $(QMAKE_PLATFORM_PREFIX)linux-openwrt-g++ \
-platform linux-g++ \
- -embedded \
+ $(if $(CONFIG_QT4_WS_QWS),-embedded) \
+ $(if $(CONFIG_QT4_WS_X11),-x11) \
-release \
-confirm-license \
-opensource \
-system-libjpeg \
-system-freetype \
-system-sqlite \
- -plugin-sql-sqlite \
- -plugin-sql-mysql \
+ $(if $(CONFIG_PACKAGE_qt4-sqlite),-plugin-sql-sqlite) \
+ $(if $(CONFIG_PACKAGE_qt4-mysql),-plugin-sql-mysql) \
-no-decoration-styled \
-no-decoration-windows \
-no-decoration-default \
-verbose \
-no-multimedia \
-no-audio-backend \
- -phonon \
+ $(if $(CONFIG_PACKAGE_qt4-phonon),-phonon,-no-phonon) \
-no-phonon-backend \
- -svg \
+ $(if $(CONFIG_PACKAGE_qt4-svg),-svg,-no-svg) \
$(if $(NPTL),-webkit,-no-webkit) \
-no-javascript-jit \
$(if $(NPTL),-script,-no-script) \
-no-nis \
-no-cups \
-no-iconv \
- -dbus \
+ $(if $(CONFIG_PACKAGE_qt4-dbus),-dbus,-no-dbus) \
-no-gtkstyle \
-no-nas-sound \
-no-opengl \
-no-openvg \
-no-sm \
-no-xshape \
- -no-xsync \
+ $(if $(CONFIG_QT4_WS_X11),-no-xsync,-xsync) \
-no-xinerama \
- -no-xcursor \
+ $(if $(CONFIG_QT4_WS_X11),-no-xcursor,-xcursor) \
-no-xfixes \
-no-xrandr \
-no-xrender \
- -no-mitshm \
- -no-fontconfig \
- -no-xinput \
- -no-xkb \
+ $(if $(CONFIG_QT4_WS_X11),-no-mitshm,-mitshm) \
+ $(if $(CONFIG_QT4_WS_X11),-no-fontconfig,-fontconfig) \
+ $(if $(CONFIG_QT4_WS_X11),-no-xinput,-xinput) \
+ $(if $(CONFIG_QT4_WS_X11),-no-xkb,-xkb) \
-no-glib \
- -qt3support \
+ $(if $(CONFIG_PACKAGE_qt4-qt3support),-qt3support,-no-qt3support) \
-no-gfx-transformed \
-no-gfx-qvfb \
-no-gfx-vnc \
-no-gfx-multiscreen \
-no-gfx-qnx \
- -plugin-gfx-directfb \
+ $(if $(CONFIG_PACKAGE_directfb),-plugin-gfx-directfb) \
-plugin-gfx-linuxfb \
-no-mouse-qvfb \
-no-mouse-qnx \