diff --git a/package/qt/Config.in b/package/qt/Config.in index 44710f52e6..ba71e12921 100644 --- a/package/qt/Config.in +++ b/package/qt/Config.in @@ -17,6 +17,40 @@ menuconfig BR2_PACKAGE_QT if BR2_PACKAGE_QT +choice + prompt "Qt installation" + help + Selects the type of installation: standard or embedded + +config BR2_PACKAGE_QT_EMBEDDED + bool "Qt embedded" + help + The embedded Qt installation targets embedded systems without X.org. + Provides backends for framebuffer. + If unsure, say Y. + +comment "Qt standard (X11) not available (need X.org)" + depends on !BR2_PACKAGE_XORG7 + +config BR2_PACKAGE_QT_X11 + bool "Qt standard (X11)" + depends on BR2_PACKAGE_XORG7 + select BR2_PACKAGE_FONTCONFIG + select BR2_PACKAGE_XLIB_LIBXI + select BR2_PACKAGE_XLIB_LIBX11 + select BR2_PACKAGE_XLIB_LIBXRENDER + select BR2_PACKAGE_XLIB_LIBXCURSOR + select BR2_PACKAGE_XLIB_LIBXRANDR + select BR2_PACKAGE_XLIB_LIBXEXT + select BR2_PACKAGE_XLIB_LIBXV + select BR2_PACKAGE_QT_SYSTEMFREETYPE + select BR2_PACKAGE_QT_GUI_MODULE + help + The standard Qt installation provides X.org backend. If you don't want to + use X.org, say N. + +endchoice + config BR2_PACKAGE_QT_DEBUG bool "Compile with debug support" help @@ -105,6 +139,9 @@ config BR2_PACKAGE_QT_GUI_MODULE video output, or you don't require Qt GUI, say n. if BR2_PACKAGE_QT_GUI_MODULE + +if BR2_PACKAGE_QT_EMBEDDED + menu "Pixel depths" comment "Deselecting each option leads to Qt's default (8,16,32)" @@ -162,6 +199,8 @@ config BR2_PACKAGE_QT_FONT_UNIFONT endmenu +endif # BR2_PACKAGE_QT_EMBEDDED + choice prompt "freetype2 support" default BR2_PACKAGE_QT_NOFREETYPE @@ -170,11 +209,16 @@ choice config BR2_PACKAGE_QT_NOFREETYPE bool "no freetype2 support" + depends on BR2_PACKAGE_QT_EMBEDDED help Do not compile in Freetype2 support. +comment "Qt freetype2 needs Qt embedded" + depends on BR2_PACKAGE_QT_X11 + config BR2_PACKAGE_QT_QTFREETYPE bool "Qt freetype2" + depends on BR2_PACKAGE_QT_EMBEDDED help Use the libfreetype bundled with Qt. @@ -275,9 +319,11 @@ endchoice source "package/qt/Config.sql.in" if BR2_PACKAGE_QT_GUI_MODULE +if BR2_PACKAGE_QT_EMBEDDED source "package/qt/Config.gfx.in" source "package/qt/Config.mouse.in" source "package/qt/Config.keyboard.in" +endif config BR2_PACKAGE_QT_PHONON bool "Phonon Module" diff --git a/package/qt/qt.mk b/package/qt/qt.mk index 255d6d2ab0..36afaad3f1 100644 --- a/package/qt/qt.mk +++ b/package/qt/qt.mk @@ -231,7 +231,20 @@ else QT_EMB_PLATFORM = generic endif +ifeq ($(BR2_PACKAGE_QT_X11),y) +QT_DEPENDENCIES += fontconfig xlib_libXi xlib_libX11 xlib_libXrender \ + xlib_libXcursor xlib_libXrandr xlib_libXext xlib_libXv +# Using pkg-config avoids us some logic to redefine and sed again mkspecs files +# to add X11 include path and link options +QT_CFLAGS += $(shell $(PKG_CONFIG_HOST_BINARY) --cflags x11) +QT_CXXFLAGS += $(shell $(PKG_CONFIG_HOST_BINARY) --cflags x11) +QT_LDFLAGS += $(shell $(PKG_CONFIG_HOST_BINARY) --libs x11 xext) +QT_CONFIGURE_OPTS += -arch $(QT_EMB_PLATFORM) \ + -xplatform qws/linux-$(QT_EMB_PLATFORM)-g++ -x11 -no-gtkstyle -no-sm \ + -no-openvg +else # if BR2_PACKAGE_QT_EMBEDDED QT_CONFIGURE_OPTS += -embedded $(QT_EMB_PLATFORM) +endif ifneq ($(BR2_PACKAGE_QT_GUI_MODULE),y) QT_CONFIGURE_OPTS += -no-gui @@ -650,6 +663,7 @@ define QT_INSTALL_TARGET_IMPORTS endef # Fonts installation +ifeq ($(BR2_PACKAGE_QT_EMBEDDED),y) ifneq ($(QT_FONTS),) define QT_INSTALL_TARGET_FONTS mkdir -p $(TARGET_DIR)/usr/lib/fonts @@ -663,6 +677,7 @@ define QT_INSTALL_TARGET_FONTS_TTF cp -dpf $(STAGING_DIR)/usr/lib/fonts/*.ttf $(TARGET_DIR)/usr/lib/fonts endef endif +endif # BR2_PACKAGE_QT_EMBEDDED ifeq ($(BR2_PACKAGE_QT_GFX_POWERVR),y) define QT_INSTALL_TARGET_POWERVR