Skip to contentSkip to conversation

qt5 add qmake.conf.in for eglfs

PATCH Superseded Giulio Benetti 2 participants 4 messages Nov 8, 2017

v1 of 2 Superseded Latest is v2 →

lore
Share & tools
lore
#0 lore raw

PATCH 1/2 qt5 add qmake.conf.in for eglfs

EGLFS_DEVICE_INTEGRATION = eglfs_* doesn't work correctly with previous patch EGLFS_DEVICE_INTEGRATION = eglfs_viv/eglfs_* must be written before include(../common/linux_device_post.conf)

On first patch, I've moved qmake.conf to qmake.conf.in suggested by Arnout, tagging EGLFS_DEVICE_INTEGRATION = @EGLFS_DEVICE at .
Then with sed I substitute @EGLFS_DEVICE@ if any eglfs_* are possible, otherwise I delete that line and the subsequent too.

On second patch, I add support for sunxi-mali and upcoming sunxi-mali-mainline. In this way they behave the same way of vivante.

Hope I've done everything correctly.
I've had to used sed without $(SED) because of its argument, to redirect to qmake.conf instead of changing qmake.conf.in.

After copied to qt5base build directory,
I remove qmake.conf to avoid problem with git.

Thanks in advance for any response.

Kind regard to everyone

---
 package/qt5/qt5base/{qmake.conf => qmake.conf.in} |  2 ++
 package/qt5/qt5base/qt5base.mk                    | 12 +++++++++---
 2 files changed, 11 insertions(+), 3 deletions(-)
 rename package/qt5/qt5base/{qmake.conf => qmake.conf.in} (95%)
package/qt5/qt5base/qmake.conf.in renamed from package/qt5/qt5base/qmake.conf +2 -0
similarity index 95%
rename from package/qt5/qt5base/qmake.conf
rename to package/qt5/qt5base/qmake.conf.in
index 8b6debe..fb698b9 100644
@@ -24,5 +24,7 @@ QMAKE_CFLAGS_ISYSTEM   =
 # Architecturespecific configuration
 include(arch.conf)
 
+EGLFS_DEVICE_INTEGRATION = @EGLFS_DEVICE@
+
 include(../common/linux_device_post.conf)
 load(qt_config)
package/qt5/qt5base/qt5base.mk +9 -3
index b3f9c79..d58a58a 100644
@@ -243,8 +243,13 @@ QT5BASE_INSTALL_LIBS_$(BR2_PACKAGE_QT5BASE_DBUS) += Qt5DBus
 ifeq ($(BR2_PACKAGE_QT5_VERSION_LATEST)$(BR2_PACKAGE_IMX_GPU_VIV),yy)
 # use vivante backend
 define QT5BASE_CONFIGURE_QMAKE_CONFIG
-	echo "EGLFS_DEVICE_INTEGRATION = eglfs_viv" >> \
-		$(@D)/mkspecs/devices/linux-buildroot-g++/qmake.conf
+	sed 's/@EGLFS_DEVICE@/eglfs_viv/g' $(QT5BASE_PKGDIR)/qmake.conf.in > \
+		$(QT5BASE_PKGDIR)/qmake.conf
+endef
+else
+define QT5BASE_CONFIGURE_QMAKE_CONFIG
+	sed '/@EGLFS_DEVICE@/,+1d' $(QT5BASE_PKGDIR)/qmake.conf.in > \
+		$(QT5BASE_PKGDIR)/qmake.conf
 endef
 endif
 
@@ -263,9 +268,10 @@ endef
 endif
 
 define QT5BASE_CONFIGURE_CMDS
+	$(QT5BASE_CONFIGURE_QMAKE_CONFIG)
 	$(INSTALL) -m 0644 -D $(QT5BASE_PKGDIR)/qmake.conf \
 		$(@D)/mkspecs/devices/linux-buildroot-g++/qmake.conf
-	$(QT5BASE_CONFIGURE_QMAKE_CONFIG)
+	$(RM) $(QT5BASE_PKGDIR)/qmake.conf
 	$(INSTALL) -m 0644 -D $(QT5BASE_PKGDIR)/qplatformdefs.h \
 		$(@D)/mkspecs/devices/linux-buildroot-g++/qplatformdefs.h
 	$(QT5BASE_CONFIGURE_CONFIG_FILE)
Signature · 1 line
2.7.4
#1 lore raw

PATCH 2/2 add qmake.conf eglfs_mali option

I didn't know I could annotate the subsequent patches.
Anyway, since eglfs_mali is not supported by EGLFS_DEVICE_INTEGRATION = @EGLFS_DEVICE@ I add it inserting same as vivante,
except I filter both sunxi-mali and upcoming sunxi-mali-mainline,
to maintain compatibility with legacy

Kind regards

---
 package/qt5/qt5base/qt5base.mk | 13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)
package/qt5/qt5base/qt5base.mk +11 -2
index d58a58a..23f5138 100644
@@ -240,18 +240,27 @@ QT5BASE_INSTALL_LIBS_$(BR2_PACKAGE_QT5BASE_PRINTSUPPORT) += Qt5PrintSupport
 
 QT5BASE_INSTALL_LIBS_$(BR2_PACKAGE_QT5BASE_DBUS) += Qt5DBus
 
-ifeq ($(BR2_PACKAGE_QT5_VERSION_LATEST)$(BR2_PACKAGE_IMX_GPU_VIV),yy)
-# use vivante backend
+ifeq ($(BR2_PACKAGE_QT5_VERSION_LATEST),y)
+ifeq ($(BR2_PACKAGE_IMX_GPU_VIV),y)
+# use eglfs vivante backend
 define QT5BASE_CONFIGURE_QMAKE_CONFIG
 	sed 's/@EGLFS_DEVICE@/eglfs_viv/g' $(QT5BASE_PKGDIR)/qmake.conf.in > \
 		$(QT5BASE_PKGDIR)/qmake.conf
 endef
+else ifeq ($(filter y,$(BR2_PACKAGE_SUNXI_MALI) $(BR2_PACKAGE_SUNXI_MALI_MAINLINE)),y)
+# use eglfs mali backend
+define QT5BASE_CONFIGURE_QMAKE_CONFIG
+	sed 's/@EGLFS_DEVICE@/eglfs_mali/g' $(QT5BASE_PKGDIR)/qmake.conf.in > \
+		$(QT5BASE_PKGDIR)/qmake.conf
+endef
 else
+# don't use any eglfs backend
 define QT5BASE_CONFIGURE_QMAKE_CONFIG
 	sed '/@EGLFS_DEVICE@/,+1d' $(QT5BASE_PKGDIR)/qmake.conf.in > \
 		$(QT5BASE_PKGDIR)/qmake.conf
 endef
 endif
+endif
 
 ifneq ($(QT5BASE_CONFIG_FILE),)
 define QT5BASE_CONFIGURE_CONFIG_FILE
Signature · 1 line
2.7.4
#2 lore raw

PATCH 1/2 qt5 add qmake.conf.in for eglfs

In reply to Giulio Benetti

Hello,

Thanks for this new iteration. Sorry, but I have a lot of pedantic/presentation comments, see below :)

Quoted 15 lines · Giulio Benetti

EGLFS_DEVICE_INTEGRATION = eglfs_* doesn't work correctly with previous patch EGLFS_DEVICE_INTEGRATION = eglfs_viv/eglfs_* must be written before include(../common/linux_device_post.conf)

On first patch, I've moved qmake.conf to qmake.conf.in suggested by Arnout, tagging EGLFS_DEVICE_INTEGRATION = @EGLFS_DEVICE at .
Then with sed I substitute @EGLFS_DEVICE@ if any eglfs_* are possible, otherwise I delete that line and the subsequent too.

On second patch, I add support for sunxi-mali and upcoming sunxi-mali-mainline. In this way they behave the same way of vivante.

Hope I've done everything correctly.
I've had to used sed without $(SED) because of its argument, to redirect to qmake.conf instead of changing qmake.conf.in.

Quoted 6 lines

After copied to qt5base build directory,
I remove qmake.conf to avoid problem with git.

Thanks in advance for any response.

Kind regard to everyone

A commit log is not an e-mail, it is a text that describes the commit. So:

- It should not be written at the first person

- It should not contain things like "Thanks in advance", "Kind regards", etc.

- Also, things like "After copied to qt5base build directory, I remove qmake.conf to avoid problem with git" sound weird.

- Don't talk about the second patch in the commit log of the first patch!

Also, since this is a new version of patches you have already sent, it should be sent as PATCHv2, and have a changelog that details the changes since the first iteration.

Best regards,

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
#3 lore raw

PATCH 1/2 qt5 add qmake.conf.in for eglfs

Thank you Thomas,

I needed these instructions to send patches.
Do you want me to re-submit patchset as you described under?

Thank you very much again for teaching me.

Inviato da iPhone

Quoted 55 lines

Il giorno 08 nov 2017, alle ore 13:22, Thomas Petazzoni <[email protected]> ha scritto:

Hello,

Thanks for this new iteration. Sorry, but I have a lot of pedantic/presentation comments, see below :)

Quoted 16 lines · Giulio Benetti

EGLFS_DEVICE_INTEGRATION = eglfs_* doesn't work correctly with previous patch EGLFS_DEVICE_INTEGRATION = eglfs_viv/eglfs_* must be written before include(../common/linux_device_post.conf)

On first patch, I've moved qmake.conf to qmake.conf.in suggested by Arnout, tagging EGLFS_DEVICE_INTEGRATION = @EGLFS_DEVICE at .
Then with sed I substitute @EGLFS_DEVICE@ if any eglfs_* are possible, otherwise I delete that line and the subsequent too.

On second patch, I add support for sunxi-mali and upcoming sunxi-mali-mainline. In this way they behave the same way of vivante.

Hope I've done everything correctly.
I've had to used sed without $(SED) because of its argument, to redirect to qmake.conf instead of changing qmake.conf.in.

Quoted 6 lines

After copied to qt5base build directory,
I remove qmake.conf to avoid problem with git.

Thanks in advance for any response.

Kind regard to everyone

A commit log is not an e-mail, it is a text that describes the commit. So:

- It should not be written at the first person

- It should not contain things like "Thanks in advance", "Kind regards", etc.

- Also, things like "After copied to qt5base build directory, I remove qmake.conf to avoid problem with git" sound weird.

- Don't talk about the second patch in the commit log of the first patch!

Also, since this is a new version of patches you have already sent, it should be sent as PATCHv2, and have a changelog that details the changes since the first iteration.

Best regards,

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com