X-Git-Url: http://git.openwrt.org/?p=openwrt%2Fsvn-archive%2Farchive.git;a=blobdiff_plain;f=Xorg%2Flib%2Fqt4%2FMakefile;h=93565129f4e337cb0104db500191bf4f33a5627b;hp=b91efaae1684a6e20a6c01deb483934deb0b6e53;hb=9713597d85a341fbcbb715d4d2f47bd1a01547a3;hpb=ab6a5afcf0106706ea5d64b72de8decff73e5967 diff --git a/Xorg/lib/qt4/Makefile b/Xorg/lib/qt4/Makefile index b91efaae16..93565129f4 100644 --- a/Xorg/lib/qt4/Makefile +++ b/Xorg/lib/qt4/Makefile @@ -6,14 +6,15 @@ # # 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_NAME:=qt4 -PKG_VERSION:=4.7.0-beta2 +PKG_VERSION:=4.7.0 PKG_RELEASE:=1 +PKG_MD5SUM:=3a2f25b9b115037277f4fb759194a7a5 PKG_SOURCE:=qt-everywhere-opensource-src-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=ftp://ftp.qt.nokia.com/qt/source @@ -21,6 +22,9 @@ PKG_BUILD_DIR=$(BUILD_DIR)/qt-everywhere-opensource-src-$(PKG_VERSION) 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-svg \ @@ -31,6 +35,7 @@ PKG_CONFIG_DEPENDS:= \ 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) @@ -43,6 +48,10 @@ ifeq ($(CONFIG_UCLIBC_VERSION_0_9_32),y) NPTL:=y endif +define Package/qt4/config + source "$(SOURCE)/Config.in" +endef + define Package/qt4/Default SECTION:=xorg-framework CATEGORY:=Xorg @@ -54,12 +63,15 @@ endef 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+=+libpng +libtiff +libjpeg +libfreetype +qt4-network + DEPENDS+=+libpng +libtiff +libjpeg +libfreetype +qt4-network \ + +FEATURE_drawing-backend_DirectFB:directfb \ + +FEATURE_drawing-backend_libX11:libX11 \ + +FEATURE_drawing-backend_libX11:libXext TITLE+=(gui) endef @@ -189,6 +201,7 @@ endef define Package/qt4-drivers-mouse/Default $(call Package/qt4/Default) TITLE+=mousedrivers + DEPENDS+=@QT4_WS_QWS endef define Package/qt4-drivers-mouse-tpmousedriver @@ -204,17 +217,20 @@ endef 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 @@ -226,6 +242,7 @@ endef define Package/qt4-drivers-kbd/Default $(call Package/qt4/Default) TITLE+=kbddrivers + DEPENDS+=@QT4_WS_QWS endef define Package/qt4-drivers-kbd-linuxinput @@ -239,15 +256,27 @@ TARGET_LIBDIRS+=$(STAGING_DIR)/lib $(STAGING_DIR)/usr/lib $(TOOLCHAIN_DIR)/lib $ 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 +ifeq ($(CONFIG_PACKAGE_qt4-gui),) + # If GUI is disabled, we use the X11 prefix. That's good enough, for now. + # The X11 files also work for non-GUI. + 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 # 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) ./files/qws-qmake.conf $(PKG_BUILD_DIR)/mkspecs/qws/linux-openwrt-g++/qmake.conf - $(CP) ./files/qws-qplatformdefs.h $(PKG_BUILD_DIR)/mkspecs/qws/linux-openwrt-g++/qplatformdefs.h + 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++" \ @@ -262,6 +291,7 @@ define Build/Configure STAGING_DIR="$(STAGING_DIR)" \ STAGING_DIR_HOST="$(STAGING_DIR)/../host" \ ./configure \ + -arch $(ARCH) \ -prefix $(CONFIGURE_PREFIX) \ -bindir $(CONFIGURE_PREFIX)/bin \ -libdir $(CONFIGURE_PREFIX)/lib \ @@ -277,9 +307,9 @@ define Build/Configure $(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_X11),-x11,-embedded) \ -release \ -confirm-license \ -opensource \ @@ -321,16 +351,16 @@ define Build/Configure -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-fontconfig,-fontconfig) \ + $(if $(CONFIG_QT4_WS_X11),-no-xinput,-xinput) \ + $(if $(CONFIG_QT4_WS_X11),-no-xkb,-xkb) \ -no-glib \ $(if $(CONFIG_PACKAGE_qt4-qt3support),-qt3support,-no-qt3support) \ -no-gfx-transformed \ @@ -338,7 +368,7 @@ define Build/Configure -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 \