From 0e9b5a96a3a5d20b3c75ef9d64cbc53fd9fb4f87 Mon Sep 17 00:00:00 2001
From: Bryce Ferguson <bryce.ferguson@rockwellcollins.com>
Date: Mon, 10 Oct 2016 15:02:37 -0500
Subject: [PATCH] qt5base: add Config.in option to pass custom Qt5 options

To reduce the qt5base binary size, we can disable unnecessary features.
Instead of trying to map every qt5base option to buildroot, create a
single config that we can pass any option too. Then append those to the
ones generated by buildroot.

Signed-off-by: Brandon Maier <brandon.maier@rockwellcollins.com>
Signed-off-by: Bryce Ferguson <bryce.ferguson@rockwellcollins.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 package/qt5/qt5base/Config.in  | 11 +++++++++++
 package/qt5/qt5base/qt5base.mk |  2 ++
 2 files changed, 13 insertions(+)

diff --git a/package/qt5/qt5base/Config.in b/package/qt5/qt5base/Config.in
index ad95138380..e273caa773 100644
--- a/package/qt5/qt5base/Config.in
+++ b/package/qt5/qt5base/Config.in
@@ -16,6 +16,17 @@ config BR2_PACKAGE_QT5BASE
 
 if BR2_PACKAGE_QT5BASE
 
+config BR2_PACKAGE_QT5BASE_CUSTOM_CONF_OPTS
+	string "Custom configuration options"
+	help
+	  Define custom qt5 configuration options which can be used to
+	  enable or disable options not managed by buildroot. These
+	  options are appended to the ones generated by buildroot and
+	  passed to qt5base during configuration.
+
+	  E.g. to remove the Windows Vista style option, add the option
+	  -no-feature-style_windowsvista.
+
 config BR2_PACKAGE_QT5BASE_LICENSE_APPROVED
 	bool "Approve free license"
 	help
diff --git a/package/qt5/qt5base/qt5base.mk b/package/qt5/qt5base/qt5base.mk
index bbbaf0f456..4cd14c0120 100644
--- a/package/qt5/qt5base/qt5base.mk
+++ b/package/qt5/qt5base/qt5base.mk
@@ -27,6 +27,8 @@ QT5BASE_CONFIGURE_OPTS += \
 	-no-pch \
 	-shared
 
+QT5BASE_CONFIGURE_OPTS += $(call qstrip,$(BR2_PACKAGE_QT5BASE_CUSTOM_CONF_OPTS))
+
 # Uses libgbm from mesa3d
 ifeq ($(BR2_PACKAGE_MESA3D_OPENGL_EGL),y)
 QT5BASE_CONFIGURE_OPTS += -kms -gbm