From f10356ead13e39c9501b84ee5e92efe722a2d2c7 Mon Sep 17 00:00:00 2001 From: lpapuga Date: Wed, 20 Nov 2013 17:09:57 +0100 Subject: MIPS DSP build system fix and additional optimizations. Changed MIPS DSP portion of the mkspecs/features/simd.prf file in order to fix the corrupted build system for MIPS platforms. List of the additionally optimized functions from file src/gui/painting/qdrawhelper.cpp: - qt_blend_rgb16_on_rgb16 - qt_fetchUntransformed_888 - qt_fetchUntransformed_444 - qt_fetchUntransformed_argb8565 from file src/gui/image/qimage.cpp: - convert_ARGB_to_ARGB_PM_inplace from file src/corelib/qstring.cpp: - ucstrncmp - toLatin1_helper - fromLatin1_helper Change-Id: I5c47a69784917eee29a8dbd2718828a390b27c93 Reviewed-by: Thiago Macieira --- mkspecs/features/simd.prf | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'mkspecs') diff --git a/mkspecs/features/simd.prf b/mkspecs/features/simd.prf index a98683d929..ad8c545819 100644 --- a/mkspecs/features/simd.prf +++ b/mkspecs/features/simd.prf @@ -174,10 +174,19 @@ QT_CPU_FEATURES = $$eval(QT_CPU_FEATURES.$$QT_ARCH) mips_dsp_assembler.name = assembling[mips_dsp] ${QMAKE_FILE_IN} silent:mips_dsp_assembler.commands = @echo assembling[mips_dsp] ${QMAKE_FILE_IN} && $$mips_dsp_assembler.commands QMAKE_EXTRA_COMPILERS += mips_dsp_compiler + QMAKE_EXTRA_COMPILERS += mips_dsp_assembler } mips_dspr2 { HEADERS += $$MIPS_DSP_HEADERS + mips_dspr2_compiler.commands = $$QMAKE_CXX -c + mips_dspr2_compiler.commands += $(CXXFLAGS) $(INCPATH) ${QMAKE_FILE_IN} -o ${QMAKE_FILE_OUT} + mips_dspr2_compiler.dependency_type = TYPE_C + mips_dspr2_compiler.output = ${QMAKE_VAR_OBJECTS_DIR}${QMAKE_FILE_BASE}$${first(QMAKE_EXT_OBJ)} + mips_dspr2_compiler.input = MIPS_DSPR2_SOURCES + mips_dspr2_compiler.variable_out = OBJECTS + mips_dspr2_compiler.name = compiling[mips_dspr2] ${QMAKE_FILE_IN} + silent:mips_dspr2_compiler.commands = @echo compiling[mips_dspr2] ${QMAKE_FILE_IN} && $$mips_dspr2_compiler.commands mips_dspr2_assembler.commands = $$QMAKE_CC -c mips_dspr2_assembler.commands += $(CFLAGS) $(INCPATH) ${QMAKE_FILE_IN} -o ${QMAKE_FILE_OUT} mips_dspr2_assembler.dependency_type = TYPE_C @@ -186,6 +195,7 @@ QT_CPU_FEATURES = $$eval(QT_CPU_FEATURES.$$QT_ARCH) mips_dspr2_assembler.variable_out = OBJECTS mips_dspr2_assembler.name = assembling[mips_dspr2] ${QMAKE_FILE_IN} silent:mips_dspr2_assembler.commands = @echo assembling[mips_dspr2] ${QMAKE_FILE_IN} && $$mips_dspr2_assembler.commands + QMAKE_EXTRA_COMPILERS += mips_dspr2_compiler QMAKE_EXTRA_COMPILERS += mips_dspr2_assembler } } else:win32-msvc*|winrt { @@ -297,7 +307,7 @@ QT_CPU_FEATURES = $$eval(QT_CPU_FEATURES.$$QT_ARCH) $$AVX_SOURCES $$AVX2_SOURCES \ $$NEON_SOURCES $$NEON_ASM \ $$IWMMXT_SOURCES \ - $$MIPS_DSP_SOURCES $$MIPS_DSP_ASM $$MIPS_DSPR2_ASM + $$MIPS_DSP_SOURCES $$MIPS_DSPR2_SOURCES $$MIPS_DSP_ASM $$MIPS_DSPR2_ASM # Headers are already done in the above sections. } -- cgit v1.2.3 From 110d36fee82aabfc951bbd50549e809ca3649aa3 Mon Sep 17 00:00:00 2001 From: Eskil Abrahamsen Blomfeldt Date: Wed, 8 Jan 2014 12:24:50 +0100 Subject: REG: Fix make install on library projects on Android This is a partial revert of 39e04b022227c52c9e6aac1942919f68247e1394. The original change moved the special make install target path logic into the logic for the app template to make it possible to remove the condition that excluded builds inside the Qt directory. This was to make it possible to build examples in the Qt directory for Android without moving them. However, this broke user library projects, specifically when they were part of a subdirs project and should have been automatically installed into the Android package. This patch brings back the logic but only enables it for library projects, meaning that the only examples inside Qt which cannot be built correctly are library projects (which didn't work anyway). [ChangeLog][Android] Fixed regression in "make install" on library projects on Android so they can be used inside subdirs projects again. Task-number: QTBUG-34781 Change-Id: Iabf53ed68845b2ddd4ae66656e1372c96185660e Reviewed-by: Oswald Buddenhagen Reviewed-by: Paul Olav Tvete --- mkspecs/features/android/android.prf | 3 +++ 1 file changed, 3 insertions(+) (limited to 'mkspecs') diff --git a/mkspecs/features/android/android.prf b/mkspecs/features/android/android.prf index 5e21f0b845..9e86110da6 100644 --- a/mkspecs/features/android/android.prf +++ b/mkspecs/features/android/android.prf @@ -8,4 +8,7 @@ contains(TEMPLATE, ".*app") { INSTALLS *= target } } +} else: contains(TEMPLATE, "lib"):!QTDIR_build:android_install { + target.path = /libs/$$ANDROID_TARGET_ARCH/ + INSTALLS *= target } -- cgit v1.2.3 From 87d2fa5f849b0877b75d29113ec7dd3613827904 Mon Sep 17 00:00:00 2001 From: Laszlo Agocs Date: Thu, 16 Jan 2014 14:01:04 +0100 Subject: eglfs: Allow using a different framebuffer device MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Right now /dev/fb0 is hardcoded. This is not ideal. Therefore QT_QPA_EGLFS_FB is introduced. This environment variable can be set to a different framebuffer device. Once it is set, eglfs will use the specific device. This is similar to linuxfb's fb=... plugin parameter. The actual behavior depends on the board-specific implementations. For now only iMX6 has real support. It extracts the index from the device name as bind the EGL display to the corresponding framebuffer using the vendor-specific fbGetDisplayByIndex(). Other hooks can follow suit later on. With this patch eglfs is at least on par with linuxfb, meaning that, if the board supports it, different apps can run on different screens. Task-number: QTBUG-36113 Change-Id: Ia3c88bd06e108bc668433e3c5c3fce34a5a0e73d Reviewed-by: Jørgen Lind --- mkspecs/devices/linux-imx6-g++/qeglfshooks_imx6.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'mkspecs') diff --git a/mkspecs/devices/linux-imx6-g++/qeglfshooks_imx6.cpp b/mkspecs/devices/linux-imx6-g++/qeglfshooks_imx6.cpp index c351e3dbc4..91c29b5ea9 100644 --- a/mkspecs/devices/linux-imx6-g++/qeglfshooks_imx6.cpp +++ b/mkspecs/devices/linux-imx6-g++/qeglfshooks_imx6.cpp @@ -72,7 +72,7 @@ QEglFSImx6Hooks::QEglFSImx6Hooks() qputenv("FB_MULTI_BUFFER", "2"); } - mNativeDisplay = fbGetDisplayByIndex(0); + mNativeDisplay = fbGetDisplayByIndex(framebufferIndex()); fbGetDisplayGeometry(mNativeDisplay, &width, &height); mScreenSize.setHeight(height); mScreenSize.setWidth(width); -- cgit v1.2.3 From f2d76cb524884491cca29a6f60861fb49121be11 Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Mon, 6 Jan 2014 18:23:19 +0100 Subject: clear OBJECTIVE_SOURCES as well the newly added mac examples use it, so it needs to be grounded. a more generic solution would be clearing out QMAKE_EXTRA_COMPILERS, but many prf files will be loaded after us, possibly nullifying our effort. Task-number: QTBUG-35680 Change-Id: I3aba7595898baac14bd41e9fae2ff24507187c6a Reviewed-by: Joerg Bornemann --- mkspecs/features/qt_example_installs.prf | 1 + 1 file changed, 1 insertion(+) (limited to 'mkspecs') diff --git a/mkspecs/features/qt_example_installs.prf b/mkspecs/features/qt_example_installs.prf index 2db752c1e4..ff842ca754 100644 --- a/mkspecs/features/qt_example_installs.prf +++ b/mkspecs/features/qt_example_installs.prf @@ -97,6 +97,7 @@ probase = $$relative_path($$_PRO_FILE_PWD_, $$dirname(_QMAKE_CONF_)/examples) TEMPLATE = aux CONFIG -= have_target qt staticlib dll SOURCES = + OBJECTIVE_SOURCES = INSTALLS -= target } } -- cgit v1.2.3