Commit Graph

25 Commits

Author SHA1 Message Date
Oswald Buddenhagen
e58eb3d6f9 move device spec validation to configure
instead of letting the specs validate themselves on each call, let them
only define a callback for use by the verifyspec configure test. this
is somewhat faster, and allows them to be loaded before qdevice.pri is
populated.

Change-Id: I2b60d006b33bbf42c28949f10ad429520ed32f46
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2016-12-13 18:55:52 +00:00
Giulio Camuffo
ec4eb4db61 Install some eglfsdeviceintegration headers, as a private module
This allows external integrations to be developed against it.
Also uniforms all class names as QEglFSFoo.

Change-Id: I72ff37c0fcdf1ccd37110b4c36874d6c99b2e743
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
2016-06-03 09:19:05 +00:00
Jani Heikkinen
1a88b2f768 Updated license headers
From Qt 5.7 -> LGPL v2.1 isn't an option anymore, see
http://blog.qt.io/blog/2016/01/13/new-agreement-with-the-kde-free-qt-foundation/

Updated license headers to use new LGPL header instead of LGPL21 one
(in those files which will be under LGPL v3)

Change-Id: I046ec3e47b1876cd7b4b0353a576b352e3a946d9
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
2016-01-15 12:25:24 +00:00
Jani Heikkinen
83a5694dc2 Update copyright headers
Qt copyrights are now in The Qt Company, so we could update the source
code headers accordingly. In the same go we should also fix the links to
point to qt.io.

Outdated header.LGPL removed (use header.LGPL21 instead)

Old header.LGPL3 renamed to header.LGPL3-COMM to match actual licensing
combination. New header.LGPL-COMM taken in the use file which were
using old header.LGPL3 (src/plugins/platforms/android/extract.cpp)

Added new header.LGPL3 containing Commercial + LGPLv3 + GPLv2 license
combination

Change-Id: I6f49b819a8a20cc4f88b794a8f6726d975e8ffbe
Reviewed-by: Matti Paaso <matti.paaso@theqtcompany.com>
2015-02-11 06:49:51 +00:00
Matti Paaso
974c210835 Update license headers and add new license files
- Renamed LICENSE.LGPL to LICENSE.LGPLv21
- Added LICENSE.LGPLv3
- Removed LICENSE.GPL

Change-Id: Iec3406e3eb3f133be549092015cefe33d259a3f2
Reviewed-by: Iikka Eklund <iikka.eklund@digia.com>
2014-09-24 12:26:19 +02:00
hjk
9de2853a94 Remove automated generation of dwarf index
The index is only helpful if the version of GDB to
create it uses the same version as the GDB version
that consumes it. Outside the "local development"
scenario this happens only by conincidence, still
we add ~3.6% to the debug library size and face
maintenance issues like QTBUG-34950.

We also don't see the same performance benefit anymore
with recent versions as we did when the feature was
added, so it's best to not create the index anymore.

People who need it, still can add it manually, or
by the 'gdb-add-index' tool that comes with recent
versions of GDB, or trust their distributors to
set up indexes matching their runtime environment.

Task-number: QTBUG-34950
Change-Id: Id4c79fa51fea9622b0891bd9b9b395b948ecb157
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2014-02-16 15:41:30 +01:00
Laszlo Agocs
9bf820ce47 Fix device-specific eglfs hooks to provide createNativeWindow correctly
Change-Id: I21aa17de7a79278d41b30a7590603c3382607673
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-09-26 18:45:16 +02:00
Thiago Macieira
bea3ae7669 Add QMAKE_NM to the mkspecs
We'll use nm to get the listing of symbols in the next commit.

The -P option is "portable", which sounds like a good idea. I don't
have access to any of the commercial Unix systems, but I do remember
them printing a different format than GNU binutils's nm.

Change-Id: If6f80624bedaf2b1dabf608e16aa097d9910d739
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-06-10 16:46:06 +02:00
Axel Waggershauser
5fcf441392 Fix '=' alignment and replace tabs in *.conf (whitespace only change)
Replace all tabs with proper space characters and consistently align
the '=' characters. The default alignment for the '=' of 25 characters
has been left as is to get a minimal diff. Lines with the '=' further
to the right and those belonging to 'proper code (TM)' have not been
touched.

The work was mostly done using the following python script (might
come in handy again...):

import sys, re
indent_eq = 25 + 0*4 # 25 characters was the most widely used indentation for the '=' character
p = re.compile(r'(\w+)[ \t]*([\-\+]?)(=$|= )[ \t]*(.*$)')

for fn in sys.argv[1:]:
    with open(fn, 'r+') as f:
        lines = []
        nl_count = 0
        continuity_indent = None
        for l in f:
            m = p.match(l)
            nl = l
            if m:
                n_spaces = max(m.start(3), indent_eq - 1) - len(m.group(2)) - len(m.group(1))
                if m.group(2) and m.start(2) >= indent_eq-1 and m.start(2) % 4 == 0:
                    n_spaces -= 1 # left-shift '+=' by one if the '+' is aligned to a multiple of 4
                n_spaces = max(1, n_spaces) # we want at least one space before '='/'+='
                nl = m.group(1) + ' '*n_spaces + ''.join(m.group(2,3,4)) + '\n'
                continuity_indent = nl.find('= ') + 2 if l[-2] == '\\' else None # remember indent on '\\$'
            elif continuity_indent:
                nl = ' '*continuity_indent + l.lstrip()
                if l[-2] != '\\': # check when to stop the continuation
                    continuity_indent = None
            elif l.startswith('#'):
                nl = l.expandtabs(2)
            if l != nl:
                nl_count += 1
            lines.append(nl)
        if nl_count > 0:
            print fn, nl_count, len(lines)
            f.seek(0)
            f.writelines(lines)
            f.truncate()

Change-Id: I1d2870d0a2fe2e30d398c140fe523e69dd20c81b
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-03-27 17:16:37 +01:00
Sergio Ahumada
48e0c4df23 Update copyright year in Digia's license headers
Change-Id: Ic804938fc352291d011800d21e549c10acac66fb
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-01-18 09:07:35 +01:00
Iikka Eklund
be15856f61 Change copyrights from Nokia to Digia
Change copyrights and license headers from Nokia to Digia

Change-Id: If1cc974286d29fd01ec6c19dd4719a67f4c3f00e
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
2012-09-22 19:20:11 +02:00
Oswald Buddenhagen
6a3a234742 centralize initialization of CONFIG in mkspecs
"CONFIG += qt warn_on release link_prl" is in every single spec (though
for link_prl there is one genuine exception and two apparent omissions).

Change-Id: I72e1e315586af828eefa3b0b70998ab892ec3c1a
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-09-08 13:36:20 +02:00
Oswald Buddenhagen
809bc47fad centralize initialization of QT in specs
there is no reason whatsoever to duplicate this so many times, and even
less reason to have specs with a deviating default.

Change-Id: Ia25836c079580adebc373697b8bd03598f79c69b
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-09-08 13:36:16 +02:00
Oswald Buddenhagen
cd9599792e remove useless TEMPLATE assignments from specs
"app" is the built-in default anyway

Change-Id: I4f581ee5b81aee08860dbdda5d863943bceafb1b
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-09-08 13:36:12 +02:00
Oswald Buddenhagen
204176483c adjust specs to the new target mode handling
not strictly necessary, but nicer.

QMAKE_PLATFORM (and thus CONFIG) now also contains the name of the OS, and
its family (if applicable, e.g., bsd). this also adds more feature search
paths.

Change-Id: I3ab971e6e3b2b32cae53b95e4bc67a86688bc5cb
Reviewed-by: Qt Doc Bot <qt_docbot@qt-project.org>
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-09-08 13:36:09 +02:00
Johannes Zellner
11aa64b1a1 eglfs: Pass QSurfaceFormat to createNativeWindow() hook
Change-Id: Ib352d8591360a224359ef218b95cd27cdfaf81aa
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
2012-06-14 16:12:31 +02:00
Romain Pokrzywka
a3d4e0cbb1 Remove optimization flag from QMAKE_CFLAGS
-O2 is already the default optimization level for release builds,
as defined in gcc-base.conf. In addition, it shouldn't be set for
debug builds.

Change-Id: Idd7406b0d135d9579676b389050fd6e5776e722c
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
2012-05-17 23:56:35 +02:00
Romain Pokrzywka
c70008d13e Apply compiler platform flags to debug builds as well
Compiler flags like CPU architecture and FPU should be set on
QMAKE_CFLAGS instead of QMAKE_CFLAGS_RELEASE, as the latter only
applies to release builds

Change-Id: I2e729a9e413934e904fc2810394e118940b8557f
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
2012-05-17 23:56:16 +02:00
Donald Carr
1da0db344a device: don't set a default cross compile prefix
qmake -set can be used instead to set a the default cross compile.
device_config.prf already contains code to read this default.

Remove per-spec CROSS_COMPILE checks

Introduce deviceSanityCheckCompiler() usage where appropriate

Done-with: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
Change-Id: I07c75c9e933dc1174a1bf8bf523b6b4a6b427408
Reviewed-by: Romain Pokrzywka <romain.pokrzywka@kdab.com>
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
2012-05-15 04:56:59 +02:00
Donald Carr
6102ab8d64 Make eglfs hooks functionality namespace cognisant
Change-Id: Ie9f86bd0494c0423f50d0f405922ab169b2431e3
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
2012-05-02 04:29:15 +02:00
Donald Carr
408f3fb200 Adjust device mkspecs to use qpa default plugin var
Change-Id: If7be3517a423324e744805e8508eb9277a600ed4
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
2012-04-20 03:39:10 +02:00
Girish Ramakrishnan
e60ca0de60 eglfs: rework hooks design
There are two problems with the current design:
1. if (hooks) hooks->foo() doesn't work in debug mode when no platform hook
   is defined. The problem doesn't arise in release mode because the compiler
   optimizes away the if (hooks) into a no-op since hooks is NULL when no
   platform hook is defined.
2. Adding a new hook requires changing every platform's hook implementation.

New approach:
1. Define QEglFSHooks as a class with virtual functions. A stub file provides
   the default implementation.
2. Platform hooks derive from above class and reimplement whatever is needed.

The filenames and variables have been changed to be more in line with the
Qt style.

Change-Id: I2eaaa5ad7c8b48a06361c4747d4f210c428c983f
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-04-11 09:24:58 +02:00
Donald Carr
42f3bf772b Extend eglhooks to include hasCapability
Add BufferQueueingOpenGL to Raspberry PI's numerous capabilities

Change-Id: I1197c28a0c82df3ae2f6d5360791010e17373555
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
Reviewed-by: Donald Carr <donald.carr@nokia.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-04-11 09:22:23 +02:00
Girish Ramakrishnan
24afb1097d eglfs: Introduce hooks for the eglfs plugin
EGL provides an api to create a rendering context for khronos APIs
on native surfaces. The board initialization and window creation
is platform specific.

This commit adds platform hooks/extensions to the EGLFS plugin and
implements them for the Amlogic 8726M. The hook interface is internal
and there are no ABI/API guarantees.

EGLFS is now linked with -Wl,-no-undefined to make sure that a hook does not
add unresolvable symbols.

Change-Id: I7f4fcdb422aacbf00de468f4d8e85ae5368bfacf
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-04-04 16:05:06 +02:00
Girish Ramakrishnan
cb0b3fc34d device: Add device support for Amlogic 8726M board
Add mkspec for the Amlogic 8726M platform using the -device
support in configure. This allows to build Qt with the application
libraries provided by Amlogic.

The 8726M is an ARM Cortex-A9 that support NEON and has a Mali 400-M GPU.

Change-Id: I01ea0c8e7d34dcb165653980a1856f6e22318c4d
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Johannes Zellner <johannes.zellner@nokia.com>
2012-03-30 18:36:12 +02:00