mirror of
https://github.com/openwrt/video.git
synced 2026-04-15 19:02:15 +00:00
Instead of hard coding the dependency to libiconv-full use the macros provided by OpenWrt. In the gnu iconv library the second parameter of iconv(), often called inbuf, is not const, but qt5 assumes that it is in the gnu version of libiconv. If we make qt5 use the code for the posix version of libiconv it does not add the -liconv link parameter. This patch adds the -liconv link parameter. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
453 lines
12 KiB
Makefile
453 lines
12 KiB
Makefile
#
|
|
# Copyright (C) 2015 OpenWrt.org
|
|
# Author: Mirko Vogt <mirko@openwrt.org>
|
|
# This is free software, licensed under the GNU General Public License v2.
|
|
# See /LICENSE for more information.
|
|
#
|
|
|
|
# TODO / known bugs:
|
|
# - plugins don't work when sstrip is used for stripping
|
|
# - only framebuffer (linuxfb) support for now, XBC/DirectFB to come - thus no GL thus no qtquick2 / QML2, as it has a hard dependency on GL
|
|
# - host_build functionality seems to be broken - qmake doesn't switch to the host toolchain (linux-g++) when host_build gets invoked
|
|
|
|
include $(TOPDIR)/rules.mk
|
|
|
|
PKG_NAME:=qt5base
|
|
PKG_VERSION:=5.4.2
|
|
PKG_RELEASE:=1
|
|
PKG_MD5SUM:=67a95eec79ffc4a14f516ad6f3d24c96
|
|
|
|
PKG_SYS_NAME:=qtbase-opensource-src-$(PKG_VERSION)
|
|
PKG_SOURCE:=$(PKG_SYS_NAME).tar.xz
|
|
PKG_SOURCE_URL:=http://download.qt-project.org/official_releases/qt/$(basename $(PKG_VERSION))/$(PKG_VERSION)/submodules
|
|
|
|
PKG_BUILD_DIR=$(BUILD_DIR)/$(PKG_SYS_NAME)
|
|
PKG_BUILD_PARALLEL:=1
|
|
PKG_BUILD_DEPENDS:=librpc
|
|
PKG_INSTALL:=1
|
|
PKG_USE_MIPS16:=0
|
|
|
|
include $(INCLUDE_DIR)/package.mk
|
|
include $(INCLUDE_DIR)/nls.mk
|
|
include ./files/qmake.mk
|
|
|
|
PKG_CONFIG_DEPENDS:= \
|
|
CONFIG_PACKAGE_qt5base-plugin-sqldrivers-sqlite \
|
|
CONFIG_PACKAGE_qt5base-plugin-imageformats-jpeg \
|
|
CONFIG_PACKAGE_qt5base-network \
|
|
CONFIG_PACKAGE_qt5base-gui \
|
|
CONFIG_PACKAGE_qt5base-plugin-imageformats-gif \
|
|
CONFIG_PACKAGE_qt5base-plugin-platforms-linuxfb \
|
|
CONFIG_PACKAGE_qt5base-plugin-platforms-minimal
|
|
|
|
define Package/qt5base/Default
|
|
SECTION:=video-frameworks
|
|
CATEGORY:=Video
|
|
SUBMENU:=Frameworks and Toolkits
|
|
TITLE:=Qt5base
|
|
DEPENDS:=qt5base
|
|
URL:=http://qt.io
|
|
MAINTAINER:=Mirko Vogt <mirko@openwrt.org>
|
|
endef
|
|
|
|
define Package/qt5base
|
|
$(call Package/qt5base/Default)
|
|
DEPENDS:=
|
|
MENU:=1
|
|
endef
|
|
|
|
define Package/qt5base-concurrent
|
|
$(call Package/qt5base/Default)
|
|
TITLE+=concurrent
|
|
DEPENDS+=+qt5base-core
|
|
endef
|
|
|
|
define Package/qt5base-core
|
|
$(call Package/qt5base/Default)
|
|
TITLE+=core
|
|
DEPENDS+=+libpthread +zlib +libpcre16 +libstdcpp +librt $(ICONV_DEPENDS)
|
|
endef
|
|
|
|
define Package/qt5base-gui
|
|
$(call Package/qt5base/Default)
|
|
TITLE+=gui
|
|
DEPENDS+=+qt5base-core +libpng
|
|
endef
|
|
|
|
define Package/qt5base-network
|
|
$(call Package/qt5base/Default)
|
|
TITLE+=network
|
|
DEPENDS+=+qt5base-core +libopenssl
|
|
endef
|
|
|
|
# seems to be only present as static lib
|
|
# define Package/qt5base-paltformSupport
|
|
# $(call Package/qt5base/Default)
|
|
# DEPENDS+=
|
|
# endef
|
|
|
|
define Package/qt5base-printSupport
|
|
$(call Package/qt5base/Default)
|
|
TITLE+=print support
|
|
DEPENDS+=+qt5base-core +qt5base-gui +qt5base-widgets
|
|
endef
|
|
|
|
define Package/qt5base-sql
|
|
$(call Package/qt5base/Default)
|
|
TITLE+=sql
|
|
DEPENDS+=+qt5base-core
|
|
endef
|
|
|
|
define Package/qt5base-test
|
|
$(call Package/qt5base/Default)
|
|
TITLE+=test
|
|
DEPENDS+=+qt5base-core
|
|
endef
|
|
|
|
define Package/qt5base-widgets
|
|
$(call Package/qt5base/Default)
|
|
TITLE+=widgets
|
|
DEPENDS+=+qt5base-core +qt5base-gui
|
|
endef
|
|
|
|
define Package/qt5base-xml
|
|
$(call Package/qt5base/Default)
|
|
TITLE+=xml
|
|
DEPENDS+=+qt5base-core
|
|
endef
|
|
|
|
#### plugins
|
|
|
|
####### bearer
|
|
|
|
define Package/qt5base-plugin-bearer-generic
|
|
$(call Package/qt5base/Default)
|
|
TITLE+=bearer (plugin)
|
|
DEPENDS+=+qt5base-core +qt5base-network
|
|
endef
|
|
|
|
####### generic / input
|
|
|
|
define Package/qt5base-plugin-input-evdevkeyboard
|
|
$(call Package/qt5base/Default)
|
|
TITLE+=evdev keyboard (plugin)
|
|
DEPENDS+=+qt5base-core +qt5base-gui +libfreetype +fontconfig
|
|
endef
|
|
|
|
define Package/qt5base-plugin-input-evdevmouse
|
|
$(call Package/qt5base/Default)
|
|
TITLE+=evdev mouse (plugin)
|
|
DEPENDS+=+qt5base-core +qt5base-gui +libfreetype +fontconfig
|
|
endef
|
|
|
|
define Package/qt5base-plugin-input-evdevtablet
|
|
$(call Package/qt5base/Default)
|
|
TITLE+=evdev tablet (plugin)
|
|
DEPENDS+=+qt5base-core +qt5base-gui +libfreetype +fontconfig
|
|
endef
|
|
|
|
define Package/qt5base-plugin-input-evdevtouch
|
|
$(call Package/qt5base/Default)
|
|
TITLE+=evdev touch (plugin)
|
|
DEPENDS+=+qt5base-core +qt5base-gui +libfreetype +fontconfig
|
|
endef
|
|
|
|
####### imageformats
|
|
|
|
define Package/qt5base-plugin-imageformats-gif
|
|
$(call Package/qt5base/Default)
|
|
TITLE+=imageformat gif (plugin)
|
|
DEPENDS+=+qt5base-core +qt5base-gui
|
|
endef
|
|
|
|
define Package/qt5base-plugin-imageformats-ico
|
|
$(call Package/qt5base/Default)
|
|
TITLE+=imageformat ico (plugin)
|
|
DEPENDS+=+qt5base-core +qt5base-gui
|
|
endef
|
|
|
|
define Package/qt5base-plugin-imageformats-jpeg
|
|
$(call Package/qt5base/Default)
|
|
TITLE+=imageformat jpeg (plugin)
|
|
DEPENDS+=+qt5base-core +qt5base-gui +libjpeg
|
|
endef
|
|
|
|
####### platforms
|
|
|
|
define Package/qt5base-plugin-platforms-linuxfb
|
|
$(call Package/qt5base/Default)
|
|
TITLE+=platform linuxfb (plugin)
|
|
DEPENDS+=+qt5base-core +qt5base-gui +libfreetype +fontconfig
|
|
endef
|
|
|
|
define Package/qt5base-plugin-platforms-minimal
|
|
$(call Package/qt5base/Default)
|
|
TITLE+=platform minimal (plugin)
|
|
DEPENDS+=+qt5base-core +qt5base-gui +libfreetype +fontconfig
|
|
endef
|
|
|
|
define Package/qt5base-plugin-platforms-offscreen
|
|
$(call Package/qt5base/Default)
|
|
TITLE+=platform offscreen (plugin)
|
|
DEPENDS+=+qt5base-core +qt5base-gui +libfreetype +fontconfig
|
|
endef
|
|
|
|
###### sql
|
|
|
|
define Package/qt5base-plugin-sqldrivers-sqlite
|
|
$(call Package/qt5base/Default)
|
|
TITLE+=sqldriver sqlite (plugin)
|
|
DEPENDS+=+qt5base-core +qt5base-sql +libsqlite3
|
|
endef
|
|
|
|
define Package/qt5base-examples
|
|
$(call Package/qt5base/Default)
|
|
TITLE+=examples
|
|
DEPENDS+=\
|
|
+qt5base-core \
|
|
+qt5base-gui \
|
|
+qt5base-widgets \
|
|
+qt5base-network \
|
|
+qt5base-sql \
|
|
+qt5base-xml \
|
|
+qt5base-printSupport \
|
|
+qt5base-concurrent
|
|
endef
|
|
|
|
define Build/Prepare
|
|
$(call Build/Prepare/Default)
|
|
$(CP) \
|
|
./files/mkspecs/linux-openwrt-g++ \
|
|
$(PKG_BUILD_DIR)/mkspecs/
|
|
endef
|
|
|
|
define Build/Configure
|
|
# CROSS/TARGET_* need to be passed to configure, in order to use cross-compiling tools to check for requirements.
|
|
# Usually used variables such as CC/CXX/CFLAGS/CXXFLAGS/LDFLAGS would be used for compilation of host tools (qmake, moc, etc.),
|
|
# hence we use the TARGET_* nomenclature.
|
|
( cd $(PKG_BUILD_DIR) ; \
|
|
TARGET_CROSS="$(TARGET_CROSS)" \
|
|
TARGET_CFLAGS="$(TARGET_CFLAGS)" \
|
|
TARGET_CXXFLAGS="$(TARGET_CFLAGS) $(TARGET_CXXFLAGS)" \
|
|
TARGET_LDFLAGS="$(TARGET_LDFLAGS)" \
|
|
./configure \
|
|
-prefix $(QT_INSTALL_PREFIX) \
|
|
-extprefix $(QT_EXTPREFIX) \
|
|
-hostprefix $(QT_HOST_PREFIX) \
|
|
-bindir $(QT_INSTALL_BINS) \
|
|
-headerdir $(QT_INSTALL_HEADERS) \
|
|
-libdir $(QT_INSTALL_LIBS) \
|
|
-archdatadir $(QT_INSTALL_ARCHDATA) \
|
|
-plugindir $(QT_INSTALL_PLUGINS) \
|
|
-libexecdir $(QT_INSTALL_LIBEXECS) \
|
|
-importdir $(QT_INSTALL_IMPORTS) \
|
|
-qmldir $(QT_INSTALL_QML) \
|
|
-datadir $(QT_INSTALL_DATA) \
|
|
-docdir $(QT_INSTALL_DOCS) \
|
|
-translationdir $(QT_INSTALL_TRANSLATIONS) \
|
|
-sysconfdir $(QT_INSTALL_CONFIGURATION) \
|
|
-examplesdir $(QT_INSTALL_EXAMPLES) \
|
|
-testsdir $(QT_INSTALL_TESTS) \
|
|
-hostbindir $(QT_HOST_BINS) \
|
|
-hostlibdir $(QT_HOST_LIBS) \
|
|
-hostdatadir $(QT_HOST_DATA) \
|
|
-v \
|
|
-release \
|
|
-opensource \
|
|
-confirm-license \
|
|
-c++11 \
|
|
-shared \
|
|
-largefile \
|
|
-accessibility \
|
|
$(if $(CONFIG_PACKAGE_qt5base-plugin-sqldrivers-sqlite),-system-sqlite,-no-sql-sqlite) \
|
|
-no-sql-db2 \
|
|
-no-sql-ibase \
|
|
-no-sql-mysql \
|
|
-no-sql-oci \
|
|
-no-sql-odbc \
|
|
-no-sql-psql \
|
|
-no-sql-sqlite2 \
|
|
-no-sql-tds \
|
|
-no-qml-debug \
|
|
-no-nis \
|
|
-no-sse2 \
|
|
-no-sse3 \
|
|
-no-ssse3 \
|
|
-no-sse4.1 \
|
|
-no-sse4.2 \
|
|
-no-avx \
|
|
-no-avx2 \
|
|
$(if $(findstring -mdsp,$(TARGET_CFLAGS)),,-no-mips_dsp)\
|
|
$(if $(findstring -mdspr2,$(TARGET_CFLAGS)),,-no-mips_dspr2)\
|
|
-force-pkg-config \
|
|
-system-zlib \
|
|
-mtdev \
|
|
-no-journald \
|
|
$(if $(CONFIG_PACKAGE_qt5base-gui),-system-libpng,-no-libpng) \
|
|
$(if $(CONFIG_PACKAGE_qt5base-plugin-imageformats-jpeg),-system-libjpeg,-no-libjpeg) \
|
|
-system-freetype \
|
|
-no-harfbuzz \
|
|
$(if $(CONFIG_PACKAGE_qt5base-network),-openssl-linked,-no-openssl) \
|
|
-system-pcre \
|
|
-system-xcb \
|
|
-system-xkbcommon \
|
|
-no-xinput2 \
|
|
-no-xcb-xlib \
|
|
-no-glib \
|
|
-no-pulseaudio \
|
|
-no-alsa \
|
|
-no-gtkstyle \
|
|
-nomake tools \
|
|
-make examples \
|
|
$(if $(CONFIG_PACKAGE_qt5base-gui),-gui,-no-gui) \
|
|
$(if $(CONFIG_PACKAGE_qt5base-plugin-imageformats-gif),,-no-gif) \
|
|
-widgets \
|
|
-no-optimized-qmake \
|
|
-no-cups \
|
|
$(if $(CONFIG_BUILD_NLS),-iconv,-no-iconv) \
|
|
-evdev \
|
|
-no-icu \
|
|
-fontconfig \
|
|
-no-strip \
|
|
-no-pch \
|
|
-no-dbus \
|
|
-no-reduce-relocations \
|
|
-no-use-gold-linker \
|
|
-no-xcb \
|
|
-no-eglfs \
|
|
-no-directfb \
|
|
$(if $(CONFIG_PACKAGE_qt5base-plugin-platforms-linuxfb),-linuxfb,-no-linuxfb) \
|
|
-no-kms \
|
|
$(if $(CONFIG_PACKAGE_qt5base-plugin-platforms-minimal),,-qpa minimal) \
|
|
-xplatform linux-openwrt-g++ \
|
|
-no-opengl \
|
|
-no-system-proxies \
|
|
-no-warnings-are-errors \
|
|
)
|
|
endef
|
|
|
|
define Build/InstallDev
|
|
$(INSTALL_DIR) \
|
|
$(STAGING_DIR)/host/mk
|
|
|
|
$(CP) \
|
|
./files/qmake.mk \
|
|
$(STAGING_DIR)/host/mk/
|
|
|
|
$(call Build/Install/HostFiles,$(1))
|
|
$(call Build/Install/Headers,$(1))
|
|
$(call Build/Install/Libs,$(1),*)
|
|
endef
|
|
|
|
define Package/qt5base-concurrent/install
|
|
$(call Build/Install/Libs,$(1),libQt5Concurrent)
|
|
endef
|
|
|
|
define Package/qt5base-core/install
|
|
$(call Build/Install/Libs,$(1),libQt5Core)
|
|
endef
|
|
|
|
define Package/qt5base-gui/install
|
|
$(call Build/Install/Libs,$(1),libQt5Gui)
|
|
endef
|
|
|
|
define Package/qt5base-network/install
|
|
$(call Build/Install/Libs,$(1),libQt5Network)
|
|
endef
|
|
|
|
define Package/qt5base-printSupport/install
|
|
$(call Build/Install/Libs,$(1),libQt5PrintSupport)
|
|
endef
|
|
|
|
define Package/qt5base-sql/install
|
|
$(call Build/Install/Libs,$(1),libQt5Sql)
|
|
endef
|
|
|
|
define Package/qt5base-test/install
|
|
$(call Build/Install/Libs,$(1),libQt5Test)
|
|
endef
|
|
|
|
define Package/qt5base-widgets/install
|
|
$(call Build/Install/Libs,$(1),libQt5Widgets)
|
|
endef
|
|
|
|
define Package/qt5base-xml/install
|
|
$(call Build/Install/Libs,$(1),libQt5Xml)
|
|
endef
|
|
|
|
define Package/qt5base-plugin-bearer-generic/install
|
|
$(call Build/Install/Plugins,$(1),bearer,libqgenericbearer)
|
|
endef
|
|
|
|
define Package/qt5base-plugin-input-evdevkeyboard/install
|
|
$(call Build/Install/Plugins,$(1),generic,libqevdevkeyboardplugin)
|
|
endef
|
|
|
|
define Package/qt5base-plugin-input-evdevmouse/install
|
|
$(call Build/Install/Plugins,$(1),generic,libqevdevmouseplugin)
|
|
endef
|
|
|
|
define Package/qt5base-plugin-input-evdevtablet/install
|
|
$(call Build/Install/Plugins,$(1),generic,libqevdevtabletplugin)
|
|
endef
|
|
|
|
define Package/qt5base-plugin-input-evdevtouch/install
|
|
$(call Build/Install/Plugins,$(1),generic,libqevdevtouchplugin)
|
|
endef
|
|
|
|
define Package/qt5base-plugin-imageformats-gif/install
|
|
$(call Build/Install/Plugins,$(1),imageformats,libqgif)
|
|
endef
|
|
|
|
define Package/qt5base-plugin-imageformats-ico/install
|
|
$(call Build/Install/Plugins,$(1),imageformats,libqico)
|
|
endef
|
|
|
|
define Package/qt5base-plugin-imageformats-jpeg/install
|
|
$(call Build/Install/Plugins,$(1),imageformats,libqjpeg)
|
|
endef
|
|
|
|
define Package/qt5base-plugin-platforms-linuxfb/install
|
|
$(call Build/Install/Plugins,$(1),platforms,libqlinuxfb)
|
|
endef
|
|
|
|
define Package/qt5base-plugin-platforms-minimal/install
|
|
$(call Build/Install/Plugins,$(1),platforms,libqminimal)
|
|
endef
|
|
|
|
define Package/qt5base-plugin-platforms-offscreen/install
|
|
$(call Build/Install/Plugins,$(1),platforms,libqoffscreen)
|
|
endef
|
|
|
|
define Package/qt5base-plugin-sqldrivers/install
|
|
$(call Build/Install/Plugins,$(1),sqldrivers,libqsqlite)
|
|
endef
|
|
|
|
define Package/qt5base-examples/install
|
|
$(call Build/Install/Examples,$(1))
|
|
endef
|
|
|
|
$(eval $(call BuildPackage,qt5base))
|
|
$(eval $(call BuildPackage,qt5base-concurrent))
|
|
$(eval $(call BuildPackage,qt5base-core))
|
|
$(eval $(call BuildPackage,qt5base-gui))
|
|
$(eval $(call BuildPackage,qt5base-network))
|
|
$(eval $(call BuildPackage,qt5base-printSupport))
|
|
$(eval $(call BuildPackage,qt5base-sql))
|
|
$(eval $(call BuildPackage,qt5base-test))
|
|
$(eval $(call BuildPackage,qt5base-widgets))
|
|
$(eval $(call BuildPackage,qt5base-xml))
|
|
$(eval $(call BuildPackage,qt5base-plugin-bearer-generic))
|
|
$(eval $(call BuildPackage,qt5base-plugin-input-evdevkeyboard))
|
|
$(eval $(call BuildPackage,qt5base-plugin-input-evdevmouse))
|
|
$(eval $(call BuildPackage,qt5base-plugin-input-evdevtablet))
|
|
$(eval $(call BuildPackage,qt5base-plugin-input-evdevtouch))
|
|
$(eval $(call BuildPackage,qt5base-plugin-imageformats-gif))
|
|
$(eval $(call BuildPackage,qt5base-plugin-imageformats-ico))
|
|
$(eval $(call BuildPackage,qt5base-plugin-imageformats-jpeg))
|
|
$(eval $(call BuildPackage,qt5base-plugin-platforms-linuxfb))
|
|
$(eval $(call BuildPackage,qt5base-plugin-platforms-minimal))
|
|
$(eval $(call BuildPackage,qt5base-plugin-platforms-offscreen))
|
|
$(eval $(call BuildPackage,qt5base-plugin-sqldrivers-sqlite))
|
|
$(eval $(call BuildPackage,qt5base-examples))
|