mirror of
https://github.com/openwrt/video.git
synced 2026-04-15 19:02:15 +00:00
Do not use strip any more when it is selected because plugin loading does not work for plugins build stripped with sstrip, use normal strip instead. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
468 lines
13 KiB
Makefile
468 lines
13 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:
|
|
# - 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
|
|
|
|
# Do not use sstrip for QT5. When sstrip is used the QT5 plugin loading does
|
|
# not work, because of QT''s internal elf parser, see
|
|
# https://bugreports.qt.io/browse/QTBUG-52567
|
|
# Use the code from the gcc package to use strip instaed.
|
|
ifneq ($(CONFIG_USE_SSTRIP),)
|
|
STRIP:=$(TARGET_CROSS)strip $(call qstrip,$(CONFIG_STRIP_ARGS))
|
|
RSTRIP:= \
|
|
export CROSS="$(TARGET_CROSS)" \
|
|
$(if $(CONFIG_KERNEL_KALLSYMS),NO_RENAME=1) \
|
|
$(if $(CONFIG_KERNEL_PROFILING),KEEP_SYMBOLS=1); \
|
|
NM="$(TARGET_CROSS)nm" \
|
|
STRIP="$(STRIP)" \
|
|
STRIP_KMOD="$(SCRIPT_DIR)/strip-kmod.sh" \
|
|
$(SCRIPT_DIR)/rstrip.sh
|
|
endif
|
|
|
|
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 \
|
|
$(if $(CONFIG_PACKAGE_qt5base-examples),-make examples,-nomake examples) \
|
|
$(if $(CONFIG_PACKAGE_qt5base-gui),-gui,-no-gui) \
|
|
$(if $(CONFIG_PACKAGE_qt5base-plugin-imageformats-gif),,-no-gif) \
|
|
$(if $(CONFIG_PACKAGE_qt5base-widgets),-widgets,-no-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))
|