diff options
Diffstat (limited to 'package/qt/qt.mk')
-rw-r--r-- | package/qt/qt.mk | 725 |
1 files changed, 0 insertions, 725 deletions
diff --git a/package/qt/qt.mk b/package/qt/qt.mk deleted file mode 100644 index 23cb94c11f..0000000000 --- a/package/qt/qt.mk +++ /dev/null @@ -1,725 +0,0 @@ -################################################################################ -# -# qt -# -################################################################################ - -QT_VERSION_MAJOR = 4.8 -QT_VERSION = $(QT_VERSION_MAJOR).7 -QT_SOURCE = qt-everywhere-opensource-src-$(QT_VERSION).tar.gz -QT_SITE = http://download.qt.io/archive/qt/$(QT_VERSION_MAJOR)/$(QT_VERSION) -QT_DEPENDENCIES = host-pkgconf -QT_INSTALL_STAGING = YES - -QT_LICENSE := LGPL-2.1 with exceptions or GPL-3.0 -QT_LICENSE_FILES = LICENSE.LGPL LGPL_EXCEPTION.txt LICENSE.GPL3 - -# Opensource licenses are the only one we catter about -QT_CONFIGURE_OPTS += -opensource -confirm-license - -QT_CONFIG_FILE = $(call qstrip,$(BR2_PACKAGE_QT_CONFIG_FILE)) - -ifneq ($(QT_CONFIG_FILE),) -QT_CONFIGURE_OPTS += -qconfig buildroot -endif - -QT_CFLAGS = $(TARGET_CFLAGS) -QT_CXXFLAGS = $(TARGET_CXXFLAGS) -QT_LDFLAGS = $(TARGET_LDFLAGS) - -# Qt WebKit build fails when gcc-6 is used for build, because -# 'std::auto_ptr' is deprecated starting from gcc 6.x. So, we have to -# use an older c++ standard to prevent build failure -QT_CXXFLAGS += -std=gnu++98 - -# gcc bug internal compiler error: in validate_condition_mode, at -# config/rs6000/rs6000.c:180744. Bug is fixed since gcc 7. -# Workaround is to set -mno-isel, see -# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60818 and -# https://gcc.gnu.org/ml/gcc-patches/2016-02/msg01036.html -ifeq ($(BR2_powerpc_8540)$(BR2_powerpc_8548)$(BR2_powerpc_e500mc)$(BR2_powerpc_e5500):$(BR2_TOOLCHAIN_GCC_AT_LEAST_7),y:) -QT_CXXFLAGS += -mno-isel -endif - -# Qt has some assembly function that are not present in thumb1 mode: -# Error: selected processor does not support Thumb mode `swp r3,r7,[r4]' -# so, we desactivate thumb mode -ifeq ($(BR2_ARM_INSTRUCTIONS_THUMB),y) -QT_CFLAGS += -marm -QT_CXXFLAGS += -marm -endif - -ifeq ($(BR2_PACKAGE_QT_QT3SUPPORT),y) -QT_CONFIGURE_OPTS += -qt3support -else -QT_CONFIGURE_OPTS += -no-qt3support -endif - -ifeq ($(BR2_PACKAGE_QT_DEMOS),y) -QT_CONFIGURE_OPTS += -demosdir $(TARGET_DIR)/usr/share/qt/demos -else -QT_CONFIGURE_OPTS += -nomake demos -endif -ifeq ($(BR2_PACKAGE_QT_EXAMPLES),y) -QT_CONFIGURE_OPTS += -examplesdir $(TARGET_DIR)/usr/share/qt/examples -else -QT_CONFIGURE_OPTS += -nomake examples -endif - -# ensure glib is built first if enabled for Qt's glib support -ifeq ($(BR2_PACKAGE_LIBGLIB2),y) -QT_CONFIGURE_OPTS += -glib -QT_DEPENDENCIES += libglib2 -else -QT_CONFIGURE_OPTS += -no-glib -endif - -### Pixel depths -QT_PIXEL_DEPTHS = # empty -ifeq ($(BR2_PACKAGE_QT_PIXEL_DEPTH_1),y) -QT_PIXEL_DEPTHS += 1 -endif -ifeq ($(BR2_PACKAGE_QT_PIXEL_DEPTH_4),y) -QT_PIXEL_DEPTHS += 4 -endif -ifeq ($(BR2_PACKAGE_QT_PIXEL_DEPTH_8),y) -QT_PIXEL_DEPTHS += 8 -endif -ifeq ($(BR2_PACKAGE_QT_PIXEL_DEPTH_12),y) -QT_PIXEL_DEPTHS += 12 -endif -ifeq ($(BR2_PACKAGE_QT_PIXEL_DEPTH_15),y) -QT_PIXEL_DEPTHS += 15 -endif -ifeq ($(BR2_PACKAGE_QT_PIXEL_DEPTH_16),y) -QT_PIXEL_DEPTHS += 16 -endif -ifeq ($(BR2_PACKAGE_QT_PIXEL_DEPTH_18),y) -QT_PIXEL_DEPTHS += 18 -endif -ifeq ($(BR2_PACKAGE_QT_PIXEL_DEPTH_24),y) -QT_PIXEL_DEPTHS += 24 -endif -ifeq ($(BR2_PACKAGE_QT_PIXEL_DEPTH_32),y) -QT_PIXEL_DEPTHS += 32 -endif -ifneq ($(QT_PIXEL_DEPTHS),) -QT_CONFIGURE_OPTS += -depths $(subst $(space),$(comma),$(strip $(QT_PIXEL_DEPTHS))) -endif - -### Display drivers -ifeq ($(BR2_PACKAGE_QT_GFX_LINUXFB),y) -QT_CONFIGURE_OPTS += -qt-gfx-linuxfb -else -QT_CONFIGURE_OPTS += -no-gfx-linuxfb -endif -ifeq ($(BR2_PACKAGE_QT_GFX_TRANSFORMED),y) -QT_CONFIGURE_OPTS += -qt-gfx-transformed -else -QT_CONFIGURE_OPTS += -no-gfx-transformed -endif -ifeq ($(BR2_PACKAGE_QT_GFX_QVFB),y) -QT_CONFIGURE_OPTS += -qt-gfx-qvfb -else -QT_CONFIGURE_OPTS += -no-gfx-qvfb -endif -ifeq ($(BR2_PACKAGE_QT_GFX_VNC),y) -QT_CONFIGURE_OPTS += -qt-gfx-vnc -else -QT_CONFIGURE_OPTS += -no-gfx-vnc -endif -ifeq ($(BR2_PACKAGE_QT_GFX_MULTISCREEN),y) -QT_CONFIGURE_OPTS += -qt-gfx-multiscreen -else -QT_CONFIGURE_OPTS += -no-gfx-multiscreen -endif -ifeq ($(BR2_PACKAGE_QT_GFX_DIRECTFB),y) -QT_CONFIGURE_OPTS += -qt-gfx-directfb -QT_DEPENDENCIES += directfb -else -QT_CONFIGURE_OPTS += -no-gfx-directfb -endif -ifeq ($(BR2_PACKAGE_QT_GFX_POWERVR),y) -QT_CONFIGURE_OPTS += \ - -plugin-gfx-powervr -D QT_NO_QWS_CURSOR -D QT_QWS_CLIENTBLIT -QT_DEPENDENCIES += powervr -endif - -### Mouse drivers -ifeq ($(BR2_PACKAGE_QT_MOUSE_PC),y) -QT_CONFIGURE_OPTS += -qt-mouse-pc -else -QT_CONFIGURE_OPTS += -no-mouse-pc -endif -ifeq ($(BR2_PACKAGE_QT_MOUSE_LINUXTP),y) -QT_CONFIGURE_OPTS += -qt-mouse-linuxtp -else -QT_CONFIGURE_OPTS += -no-mouse-linuxtp -endif -ifeq ($(BR2_PACKAGE_QT_MOUSE_LINUXINPUT),y) -QT_CONFIGURE_OPTS += -qt-mouse-linuxinput -else -QT_CONFIGURE_OPTS += -no-mouse-linuxinput -endif -ifeq ($(BR2_PACKAGE_QT_MOUSE_TSLIB),y) -QT_CONFIGURE_OPTS += -qt-mouse-tslib -QT_DEPENDENCIES += tslib -else -QT_CONFIGURE_OPTS += -no-mouse-tslib -endif -ifeq ($(BR2_PACKAGE_QT_MOUSE_QVFB),y) -QT_CONFIGURE_OPTS += -qt-mouse-qvfb -else -QT_CONFIGURE_OPTS += -no-mouse-qvfb -endif -ifeq ($(BR2_PACKAGE_QT_MOUSE_NO_QWS_CURSOR),y) -QT_CONFIGURE_OPTS += -D QT_NO_QWS_CURSOR -endif - -### Keyboard drivers -ifeq ($(BR2_PACKAGE_QT_KEYBOARD_TTY),y) -QT_CONFIGURE_OPTS += -qt-kbd-tty -else -QT_CONFIGURE_OPTS += -no-kbd-tty -endif -ifeq ($(BR2_PACKAGE_QT_KEYBOARD_LINUXINPUT),y) -QT_CONFIGURE_OPTS += -qt-kbd-linuxinput -else -QT_CONFIGURE_OPTS += -no-kbd-linuxinput -endif -ifeq ($(BR2_PACKAGE_QT_KEYBOARD_QVFB),y) -QT_CONFIGURE_OPTS += -qt-kbd-qvfb -else -QT_CONFIGURE_OPTS += -no-kbd-qvfb -endif - -ifeq ($(BR2_PACKAGE_QT_DEBUG),y) -QT_CONFIGURE_OPTS += -debug -else -QT_CONFIGURE_OPTS += -release -endif - -ifeq ($(BR2_PACKAGE_QT_SHARED),y) -QT_CONFIGURE_OPTS += -shared -else -QT_CONFIGURE_OPTS += -static -endif - -ifeq ($(BR2_STATIC_LIBS),y) -QT_CONFIGURE_OPTS += -D QT_NO_DYNAMIC_LIBRARY -endif - -ifeq ($(BR2_ENDIAN),"LITTLE") -QT_CONFIGURE_OPTS += -little-endian -else -QT_CONFIGURE_OPTS += -big-endian -endif - -ifeq ($(BR2_arm)$(BR2_armeb),y) -QT_EMB_PLATFORM = arm -else ifeq ($(BR2_i386),y) -QT_EMB_PLATFORM = x86 -else ifeq ($(BR2_x86_64),y) -QT_EMB_PLATFORM = x86_64 -else ifeq ($(BR2_mips)$(BR2_mipsel),y) -QT_EMB_PLATFORM = mips -else ifeq ($(BR2_powerpc),y) -QT_EMB_PLATFORM = powerpc -else ifeq ($(BR2_sh4)$(BR2_sh4eb)$(BR2_sh4a)$(BR2_sh4aeb),y) -QT_EMB_PLATFORM = sh -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 += `$(PKG_CONFIG_HOST_BINARY) --cflags x11` -QT_CXXFLAGS += `$(PKG_CONFIG_HOST_BINARY) --cflags x11` -QT_LDFLAGS += `$(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 -endif - -ifneq ($(BR2_PACKAGE_QT_GIF),y) -QT_CONFIGURE_OPTS += -no-gif -endif - -ifeq ($(BR2_PACKAGE_QT_LIBMNG),y) -QT_CONFIGURE_OPTS += -qt-libmng -else -QT_CONFIGURE_OPTS += -no-libmng -endif - -ifeq ($(BR2_PACKAGE_QT_ACCESSIBILITY),y) -QT_CONFIGURE_OPTS += -accessibility -else -QT_CONFIGURE_OPTS += -no-accessibility -endif - -ifeq ($(BR2_PACKAGE_QT_QTZLIB),y) -QT_CONFIGURE_OPTS += -qt-zlib -else -ifeq ($(BR2_PACKAGE_QT_SYSTEMZLIB),y) -QT_CONFIGURE_OPTS += -system-zlib -QT_DEPENDENCIES += zlib -endif -endif - -ifeq ($(BR2_PACKAGE_QT_QTJPEG),y) -QT_CONFIGURE_OPTS += -qt-libjpeg -else -ifeq ($(BR2_PACKAGE_QT_SYSTEMJPEG),y) -QT_CONFIGURE_OPTS += -system-libjpeg -QT_DEPENDENCIES += jpeg -else -QT_CONFIGURE_OPTS += -no-libjpeg -endif -endif - -ifeq ($(BR2_PACKAGE_QT_QTPNG),y) -QT_CONFIGURE_OPTS += -qt-libpng -else -ifeq ($(BR2_PACKAGE_QT_SYSTEMPNG),y) -QT_CONFIGURE_OPTS += -system-libpng -QT_DEPENDENCIES += libpng -else -QT_CONFIGURE_OPTS += -no-libpng -endif -endif - -ifeq ($(BR2_PACKAGE_QT_QTTIFF),y) -QT_CONFIGURE_OPTS += -qt-libtiff -else -ifeq ($(BR2_PACKAGE_QT_SYSTEMTIFF),y) -QT_CONFIGURE_OPTS += -system-libtiff -QT_DEPENDENCIES += tiff -else -QT_CONFIGURE_OPTS += -no-libtiff -endif -endif - -QT_FONTS = $(addprefix $(STAGING_DIR)/usr/lib/fonts/, $(addsuffix *.qpf, \ - $(if $(BR2_PACKAGE_QT_FONT_MICRO),micro) \ - $(if $(BR2_PACKAGE_QT_FONT_FIXED),fixed) \ - $(if $(BR2_PACKAGE_QT_FONT_HELVETICA),helvetica) \ - $(if $(BR2_PACKAGE_QT_FONT_JAPANESE),japanese) \ - $(if $(BR2_PACKAGE_QT_FONT_UNIFONT),unifont))) - -ifeq ($(BR2_PACKAGE_QT_QTFREETYPE),y) -QT_CONFIGURE_OPTS += -qt-freetype -else -ifeq ($(BR2_PACKAGE_QT_SYSTEMFREETYPE),y) -QT_CONFIGURE_OPTS += -system-freetype -QT_CONFIGURE_OPTS += -I $(STAGING_DIR)/usr/include/freetype2/ -QT_DEPENDENCIES += freetype -else -QT_CONFIGURE_OPTS += -no-freetype -endif -endif - -ifeq ($(BR2_PACKAGE_QT_DBUS),y) -QT_DEPENDENCIES += dbus -endif - -ifeq ($(BR2_PACKAGE_QT_OPENSSL),y) -QT_CONFIGURE_OPTS += -openssl -QT_DEPENDENCIES += openssl -else -QT_CONFIGURE_OPTS += -no-openssl -endif - -ifeq ($(BR2_PACKAGE_QT_OPENGL_ES),y) -QT_CONFIGURE_OPTS += -opengl es2 -egl -QT_DEPENDENCIES += libgles libegl -QT_CFLAGS += `$(PKG_CONFIG_HOST_BINARY) --cflags egl` -QT_CXXFLAGS += `$(PKG_CONFIG_HOST_BINARY) --cflags egl` -QT_LDFLAGS += `$(PKG_CONFIG_HOST_BINARY) --libs egl` -else ifeq ($(BR2_PACKAGE_QT_OPENGL_GL_DESKTOP),y) -QT_CONFIGURE_OPTS += -opengl desktop -QT_DEPENDENCIES += libgl -else -QT_CONFIGURE_OPTS += -no-opengl -endif - -# Qt SQL Drivers -ifeq ($(BR2_PACKAGE_QT_SQL_MODULE),y) -ifeq ($(BR2_PACKAGE_QT_MYSQL),y) -QT_CONFIGURE_OPTS += -qt-sql-mysql -mysql_config $(STAGING_DIR)/usr/bin/mysql_config -QT_DEPENDENCIES += mysql -endif -ifeq ($(BR2_PACKAGE_QT_ODBC),y) -QT_CONFIGURE_OPTS += -qt-sql-odbc -QT_DEPENDENCIES += unixodbc -endif -ifeq ($(BR2_PACKAGE_QT_PSQL),y) -QT_CONFIGURE_OPTS += -qt-sql-psql -psql_config $(STAGING_DIR)/usr/bin/pg_config -QT_DEPENDENCIES += postgresql -endif -ifeq ($(BR2_PACKAGE_QT_SQLITE_QT),y) -QT_CONFIGURE_OPTS += -qt-sql-sqlite -else -ifeq ($(BR2_PACKAGE_QT_SQLITE_SYSTEM),y) -QT_CONFIGURE_OPTS += -system-sqlite -QT_DEPENDENCIES += sqlite -else -QT_CONFIGURE_OPTS += -no-sql-sqlite -endif -endif -ifeq ($(BR2_PACKAGE_QT_SQLITE2),y) -QT_CONFIGURE_OPTS += -qt-sql-sqlite2 -endif -else -# By default, no SQL driver is turned on by configure. -# but it seems sqlite isn't disabled despite what says -# configure --help -QT_CONFIGURE_OPTS += -no-sql-sqlite -endif - -ifeq ($(BR2_PACKAGE_QT_XMLPATTERNS),y) -QT_CONFIGURE_OPTS += -xmlpatterns -exceptions -else -QT_CONFIGURE_OPTS += -no-xmlpatterns -endif - -ifeq ($(BR2_PACKAGE_QT_MULTIMEDIA),y) -QT_CONFIGURE_OPTS += -multimedia -else -QT_CONFIGURE_OPTS += -no-multimedia -endif - -ifeq ($(BR2_PACKAGE_QT_AUDIO_BACKEND),y) -QT_CONFIGURE_OPTS += -audio-backend -QT_DEPENDENCIES += alsa-lib -else -QT_CONFIGURE_OPTS += -no-audio-backend -endif - -ifeq ($(BR2_PACKAGE_QT_PHONON),y) -QT_CONFIGURE_OPTS += -phonon -QT_DEPENDENCIES += gstreamer gst-plugins-base -else -QT_CONFIGURE_OPTS += -no-phonon -endif - -ifeq ($(BR2_PACKAGE_QT_PHONON_BACKEND),y) -QT_CONFIGURE_OPTS += -phonon-backend -else -QT_CONFIGURE_OPTS += -no-phonon-backend -endif - -ifeq ($(BR2_PACKAGE_QT_SVG),y) -QT_CONFIGURE_OPTS += -svg -else -QT_CONFIGURE_OPTS += -no-svg -endif - -ifeq ($(BR2_PACKAGE_QT_WEBKIT),y) -QT_CONFIGURE_OPTS += -webkit -QT_DEPENDENCIES += gstreamer gst-plugins-base -else -QT_CONFIGURE_OPTS += -no-webkit -endif - -ifeq ($(BR2_PACKAGE_QT_SCRIPT),y) -QT_CONFIGURE_OPTS += -script -else -QT_CONFIGURE_OPTS += -no-script -endif - -ifeq ($(BR2_PACKAGE_QT_SCRIPTTOOLS),y) -QT_CONFIGURE_OPTS += -scripttools -else -QT_CONFIGURE_OPTS += -no-scripttools -endif - -ifeq ($(BR2_PACKAGE_QT_STL),y) -QT_CONFIGURE_OPTS += -stl -else -QT_CONFIGURE_OPTS += -no-stl -endif - -ifeq ($(BR2_PACKAGE_QT_DECLARATIVE),y) -QT_CONFIGURE_OPTS += -declarative -else -QT_CONFIGURE_OPTS += -no-declarative -endif - -# -no-pch is needed to workaround the issue described at -# http://comments.gmane.org/gmane.comp.lib.qt.devel/5933. -# In addition, ccache and precompiled headers don't play well together -QT_CONFIGURE_OPTS += -no-pch - -# x86x86fix -# Workaround Qt Embedded bug when crosscompiling for x86 under x86 with linux -# host. It's unclear if this would happen on other hosts. -ifneq ($(findstring linux,$(GNU_HOST_NAME)),) -ifneq ($(findstring x86,$(QT_EMB_PLATFORM)),) -QT_CONFIGURE_OPTS += -platform linux-g++ -endif -endif -# End of workaround. - -# Variable for other Qt applications to use -QT_QMAKE = $(HOST_DIR)/bin/qmake -spec qws/linux-$(QT_EMB_PLATFORM)-g++ - -################################################################################ -# QT_QMAKE_SET -- helper macro to set <variable> = <value> in -# the qmake.conf file. Will remove existing variable declaration if -# available. -# -# Argument 1 is the variable name -# Argument 2 is the value to set variable to -# Argument 3 is the base source directory of Qt -# -# E.G. use like this: -# $(call QT_QMAKE_SET,variable,value,directory) -################################################################################ -define QT_QMAKE_SET - $(SED) '/$(1)/d' $(3)/mkspecs/qws/linux-$(QT_EMB_PLATFORM)-g++/qmake.conf - $(SED) "/include.*qws.conf/a$(1) = $(2)" $(3)/mkspecs/qws/linux-$(QT_EMB_PLATFORM)-g++/qmake.conf -endef - -ifneq ($(QT_CONFIG_FILE),) -define QT_CONFIGURE_CONFIG_FILE - cp $(QT_CONFIG_FILE) $(@D)/src/corelib/global/qconfig-buildroot.h -endef -endif - -define QT_CONFIGURE_CMDS - -[ -f $(@D)/Makefile ] && $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) confclean - $(QT_CONFIGURE_IPV6) - $(QT_CONFIGURE_CONFIG_FILE) - # Fix compiler path - $(call QT_QMAKE_SET,QMAKE_CC,$(TARGET_CC),$(@D)) - $(call QT_QMAKE_SET,QMAKE_CXX,$(TARGET_CXX),$(@D)) - $(call QT_QMAKE_SET,QMAKE_LINK,$(TARGET_CXX),$(@D)) - $(call QT_QMAKE_SET,QMAKE_LINK_SHLIB,$(TARGET_CXX),$(@D)) - $(call QT_QMAKE_SET,QMAKE_AR,$(TARGET_AR) cqs,$(@D)) - $(call QT_QMAKE_SET,QMAKE_OBJCOPY,$(TARGET_OBJCOPY),$(@D)) - $(call QT_QMAKE_SET,QMAKE_RANLIB,$(TARGET_RANLIB),$(@D)) - $(call QT_QMAKE_SET,QMAKE_STRIP,$(TARGET_STRIP),$(@D)) - $(call QT_QMAKE_SET,QMAKE_CFLAGS,$(QT_CFLAGS),$(@D)) - $(call QT_QMAKE_SET,QMAKE_CXXFLAGS,$(QT_CXXFLAGS),$(@D)) - $(call QT_QMAKE_SET,QMAKE_LFLAGS,$(QT_LDFLAGS),$(@D)) - $(call QT_QMAKE_SET,PKG_CONFIG,$(HOST_DIR)/bin/pkg-config,$(@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. - (cd $(@D); \ - PKG_CONFIG_SYSROOT_DIR="$(STAGING_DIR)" \ - PKG_CONFIG="$(PKG_CONFIG_HOST_BINARY)" \ - PKG_CONFIG_PATH="$(STAGING_DIR)/usr/lib/pkgconfig:$(PKG_CONFIG_PATH)" \ - $(TARGET_MAKE_ENV) \ - MAKEFLAGS="$(MAKEFLAGS) -j$(PARALLEL_JOBS)" ./configure \ - $(if $(VERBOSE),-verbose,-silent) \ - -force-pkg-config \ - $(QT_CONFIGURE_OPTS) \ - -no-xinerama \ - -no-cups \ - -no-nis \ - -no-separate-debug-info \ - -prefix /usr \ - -plugindir /usr/lib/qt/plugins \ - -importdir /usr/lib/qt/imports \ - -translationdir /usr/share/qt/translations \ - -hostprefix $(STAGING_DIR) \ - -fast \ - -no-rpath \ - ) -endef - -define QT_BUILD_CMDS - $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) -endef - -# Build the list of libraries and plugins to install to the target - -QT_INSTALL_LIBS += QtCore -QT_HOST_PROGRAMS += moc rcc qmake lrelease - -ifeq ($(BR2_PACKAGE_QT_GUI_MODULE),y) -QT_INSTALL_LIBS += QtGui -QT_HOST_PROGRAMS += uic -endif -ifeq ($(BR2_PACKAGE_QT_SQL_MODULE),y) -QT_INSTALL_LIBS += QtSql -endif -ifeq ($(BR2_PACKAGE_QT_MULTIMEDIA),y) -QT_INSTALL_LIBS += QtMultimedia -endif -ifeq ($(BR2_PACKAGE_QT_PHONON),y) -QT_INSTALL_LIBS += phonon -endif -ifeq ($(BR2_PACKAGE_QT_SVG),y) -QT_INSTALL_LIBS += QtSvg -endif -ifeq ($(BR2_PACKAGE_QT_NETWORK),y) -QT_INSTALL_LIBS += QtNetwork -endif -ifeq ($(BR2_PACKAGE_QT_WEBKIT),y) -QT_INSTALL_LIBS += QtWebKit -endif -ifeq ($(BR2_PACKAGE_QT_XML),y) -QT_INSTALL_LIBS += QtXml -endif -ifeq ($(BR2_PACKAGE_QT_DBUS),y) -QT_INSTALL_LIBS += QtDBus -endif -ifeq ($(BR2_PACKAGE_QT_XMLPATTERNS),y) -QT_INSTALL_LIBS += QtXmlPatterns -endif -ifeq ($(BR2_PACKAGE_QT_SCRIPT),y) -QT_INSTALL_LIBS += QtScript -endif -ifeq ($(BR2_PACKAGE_QT_SCRIPTTOOLS),y) -QT_INSTALL_LIBS += QtScriptTools -endif -ifeq ($(BR2_PACKAGE_QT_DECLARATIVE),y) -QT_INSTALL_LIBS += QtDeclarative -endif -ifeq ($(BR2_PACKAGE_QT_QT3SUPPORT),y) -QT_INSTALL_LIBS += Qt3Support -endif -ifeq ($(BR2_PACKAGE_QT_OPENGL_ES),y) -QT_INSTALL_LIBS += QtOpenGL -endif -ifeq ($(BR2_PACKAGE_QT_GFX_POWERVR),y) -QT_INSTALL_LIBS += pvrQWSWSEGL -endif -ifeq ($(BR2_PACKAGE_QT_TEST),y) -QT_INSTALL_LIBS += QtTest -endif - -QT_CONF_FILE = $(HOST_DIR)/bin/qt.conf - -# Since host programs and spec files have been moved to $(HOST_DIR), -# we need to tell qmake the new location of the various elements, -# through a qt.conf file. -define QT_INSTALL_QT_CONF - mkdir -p $(dir $(QT_CONF_FILE)) - echo "[Paths]" > $(QT_CONF_FILE) - echo "Prefix=$(HOST_DIR)" >> $(QT_CONF_FILE) - echo "Headers=$(STAGING_DIR)/usr/include" >> $(QT_CONF_FILE) - echo "Libraries=$(STAGING_DIR)/usr/lib" >> $(QT_CONF_FILE) - echo "Data=$(HOST_DIR)" >> $(QT_CONF_FILE) - echo "Binaries=$(HOST_DIR)/bin" >> $(QT_CONF_FILE) -endef - -# After running Qt normal installation process (which installs -# everything in the STAGING_DIR), we move host programs such as qmake, -# rcc or uic to the HOST_DIR so that they are available at the usual -# location. A qt.conf file is generated to make sure that all host -# programs still find all files they need. The .pc files are tuned to -# remove the sysroot path from them, since pkg-config already adds it -# automatically. -define QT_INSTALL_STAGING_CMDS - $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) install - mkdir -p $(HOST_DIR)/bin - mv $(addprefix $(STAGING_DIR)/usr/bin/,$(QT_HOST_PROGRAMS)) $(HOST_DIR)/bin - ln -sf $(STAGING_DIR)/usr/mkspecs $(HOST_DIR)/mkspecs - $(QT_INSTALL_QT_CONF) - for i in moc uic rcc lupdate lrelease ; do \ - $(SED) "s,^$${i}_location=.*,$${i}_location=$(HOST_DIR)/bin/$${i}," \ - $(STAGING_DIR)/usr/lib/pkgconfig/Qt*.pc ; \ - done - $(SED) "s,$(STAGING_DIR)/,,g" $(STAGING_DIR)/usr/lib/pkgconfig/Qt*.pc -endef - -# Library installation -ifeq ($(BR2_PACKAGE_QT_SHARED),y) -define QT_INSTALL_TARGET_LIBS - mkdir -p $(TARGET_DIR)/usr/lib - for lib in $(QT_INSTALL_LIBS); do \ - cp -dpf $(STAGING_DIR)/usr/lib/lib$${lib}.so.* $(TARGET_DIR)/usr/lib ; \ - done -endef -endif - -# Plugin installation -define QT_INSTALL_TARGET_PLUGINS - if [ -d $(STAGING_DIR)/usr/lib/qt/plugins/ ] ; then \ - mkdir -p $(TARGET_DIR)/usr/lib/qt/plugins ; \ - cp -dpfr $(STAGING_DIR)/usr/lib/qt/plugins/* $(TARGET_DIR)/usr/lib/qt/plugins ; \ - fi -endef - -# Import installation -define QT_INSTALL_TARGET_IMPORTS - if [ -d $(STAGING_DIR)/usr/lib/qt/imports/ ] ; then \ - mkdir -p $(TARGET_DIR)/usr/lib/qt/imports ; \ - cp -dpfr $(STAGING_DIR)/usr/lib/qt/imports/* $(TARGET_DIR)/usr/lib/qt/imports ; \ - fi -endef - -# Fonts installation -ifeq ($(BR2_PACKAGE_QT_EMBEDDED),y) -ifneq ($(QT_FONTS),) -define QT_INSTALL_TARGET_FONTS - mkdir -p $(TARGET_DIR)/usr/lib/fonts - cp -dpf $(QT_FONTS) $(TARGET_DIR)/usr/lib/fonts -endef -ifneq ($(BR2_PACKAGE_QT_FONT_MICRO)$(BR2_PACKAGE_QT_FONT_FIXED),) -# as stated in the font source src/3rdparty/fonts/micro.bdf -# source src/3rdparty/fonts/5x7.bdf and source src/3rdparty/fonts/6x13.bdf -QT_LICENSE := $(QT_LICENSE), Public Domain (Micro/Fixed font) -endif -ifneq ($(BR2_PACKAGE_QT_FONT_HELVETICA)$(BR2_PACKAGE_QT_FONT_JAPANESE),) -QT_LICENSE := $(QT_LICENSE), Adobe Helvetica license (Helvetica/Japanese fonts) -QT_LICENSE_FILES += src/3rdparty/fonts/COPYING.Helvetica -endif -ifeq ($(BR2_PACKAGE_QT_FONT_UNIFONT),y) -QT_LICENSE := $(QT_LICENSE), Freeware (Unifont font) -QT_LICENSE_FILES += src/3rdparty/fonts/COPYRIGHT.Unifont -endif -endif # QT_FONTS - -ifeq ($(BR2_PACKAGE_QT_FONT_TRUETYPE),y) -define QT_INSTALL_TARGET_FONTS_TTF - mkdir -p $(TARGET_DIR)/usr/lib/fonts - cp -dpf $(STAGING_DIR)/usr/lib/fonts/*.ttf $(TARGET_DIR)/usr/lib/fonts -endef -QT_LICENSE := $(QT_LICENSE), Bitstream license (DejaVu/Vera TrueType fonts) -QT_LICENSE_FILES += src/3rdparty/fonts/COPYRIGHT.DejaVu \ - src/3rdparty/fonts/README.DejaVu \ - src/3rdparty/fonts/COPYRIGHT.Vera -endif -endif # BR2_PACKAGE_QT_EMBEDDED - -ifeq ($(BR2_PACKAGE_QT_GFX_POWERVR),y) -define QT_INSTALL_TARGET_POWERVR - # Note: this overwrites the default powervr.ini provided by the ti-gfx - # package. - $(INSTALL) -D -m 0644 package/qt/powervr.ini \ - $(TARGET_DIR)/etc/powervr.ini -endef -endif - -ifeq ($(BR2_PACKAGE_QT_TRANSLATION_FILES),y) -define QT_INSTALL_TARGET_TRANSLATIONS - if [ -d $(STAGING_DIR)/usr/share/qt/translations/ ] ; then \ - mkdir -p $(TARGET_DIR)/usr/share/qt/translations ; \ - cp -dpfr $(STAGING_DIR)/usr/share/qt/translations/* $(TARGET_DIR)/usr/share/qt/translations ; \ - fi -endef -endif - -define QT_INSTALL_TARGET_CMDS - $(QT_INSTALL_TARGET_LIBS) - $(QT_INSTALL_TARGET_PLUGINS) - $(QT_INSTALL_TARGET_IMPORTS) - $(QT_INSTALL_TARGET_FONTS) - $(QT_INSTALL_TARGET_FONTS_TTF) - $(QT_INSTALL_TARGET_POWERVR) - $(QT_INSTALL_TARGET_TRANSLATIONS) -endef - -$(eval $(generic-package)) |