Commit Graph

21 Commits

Author SHA1 Message Date
Oswald Buddenhagen
6dcd944dee make mkspecs not mess up library and include search paths
adding shared install paths to QMAKE_{INCDIR,LIBDIR} in the spec has the
tiny side effect that they are searched _first_, which is generally a
really bad idea - they should be _last_.

for that purpose, make QMAKE_{INCDIR,LIBDIR}_POST live up to their names
(i.e., search them actually last) and migrate all affected specs to use
them.

Task-number: QTBUG-40825
Change-Id: Ie0de81c3cc49e193186d2fedd7d6c77590c8ef79
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2017-05-31 12:57:09 +00:00
Ralf Nolden
d6177b55ea OpenBSD: add X11R6/lib to QMAKE_RPATHDIR
As OpenBSD ships its own X11, linker errors occur when not explicitly
adding the X11R6/lib dir to rpath dirs.

Change-Id: I75991e9d7de115d2d212a017d9c8f9aa93cecc27
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2016-07-13 06:50:00 +00:00
Ralf Nolden
3658354a7d OpenBSD: redefine g++/gcc commands to eg++/egcc to use newer gcc 4.9
On OpenBSD, the system compiler shipped is still gcc 4.2.1 but for proper
C++11 support in Qt, QtCreator and Qt-based projects we need to use
the compilers provided in ports/packages which have the binaries renamed
to eg++/egcc. Therefore, redefine the variables from g++-base.conf to
use the newer compilers.

Change-Id: Ic8ea1c5d2c2c0263dad5ae85c8c747bcd3985b7d
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2016-07-07 09:24:53 +00:00
Ralf Nolden
927f26c351 BSD mkspec cleanup for FreeBSD, NetBSD and OpenBSD to common namespace
BSD OS mkspecs share mainly the same configurations except very few
differences. Merge into a common/bsd/bsd.conf file to be used across all BSD
OSes in their respective qmake.conf and add a qplatformdefs.h that contain
the common defines to be re-used in the BSD mkspecs.

The change includes the usage of <sys/param.h> also on NetBSD through the
common qplatformdefs.h, which is intended for using NetBSD's version defines.

Change-Id: Ibb0ac9e4c8bb5aff7d0febdcab1a4b9600a61117
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2016-06-11 20:17:38 +00:00
Ralf Nolden
1b22aeda5b OpenBSD: simplify mkspec and match ports
By using commmon/gcc-base-unix.conf and common/g++-unix.conf most of
the contents of the qmake.conf for OpenBSD can go. The QMAKE_LFLAGS_UNDEF
are reset because the linker can't handle environ in libraries, which is
only added to libc in OpenBSD 6 (http://www.openbsd.org/faq/current.html)
even when explicitly adding -lc to QMAKE_LIBS.

See
http://lists.llvm.org/pipermail/llvm-commits/Week-of-Mon-20151102/309783.html
for similar questions on using -Wl,-z,defs instead.

Change-Id: I6c725fb3bc7ae63270912b07f230a480c9157dfd
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2016-06-08 04:10:56 +00:00
Ralf Nolden
5f02feae05 Compile fix: add -lexecinfo on NetBSD and OpenBSD
Add -lexecinfo for backtrace(3) on NetBSD and OpenBSD. Without,
qlogging.cpp linking will result in undefined references to backtrace
and backtrace_symbols. The behavior required is identical to FreeBSD so
no additional fixes are required (see src/corelib/global/global.pri:41)

Change-Id: I3cfd1d75f1fb5b8505c08a880f91e7b39a5a650d
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2016-05-23 09:51:39 +00:00
Oswald Buddenhagen
3e6d172638 move inclusions of unix.conf (and related files) near the top
that way we can override the values defined there.

Change-Id: Ib9bce596d9fd43875b26a97c5489ee9d0d46b77c
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-10-01 16:19:27 +00: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
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
Oswald Buddenhagen
172b381307 purge QMAKE_LIBS_OPENGL_QT
it differed from QMAKE_LIBS_OPENGL only for the irix/sco/unixware -cc
specs for not entirely obvious reasons. as all these specs are obsolete,
remove it.

Change-Id: I7d50ffa11ff830371ea52c9ebe25e1f1bc56b307
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-02-13 19:42:39 +01:00
Oswald Buddenhagen
fff5a8f9c9 make qmakespecs announce the compiler family
on the way to eliminate scoping based on the spec.

gcc and msvc go as such into CONFIG, the other ones get the vendor
prefixed, as most are mostly unknown and thus likely to clash with
users' flags.

Change-Id: Ie622f53d90e96dbf05ce7d8c638cd355f04fa20c
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2012-09-21 02:44:22 +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
Oswald Buddenhagen
45a201b6a3 centralize definitions of shell commands
there are only two types. everything else is duplication.

Change-Id: I87f2bdd3d56b94bb2ecdb60e8861afeb9af3666f
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-06-19 16:46:07 +02:00
Oswald Buddenhagen
c4eed770be purge QMAKE_INCDIR_QT and QMAKE_LIBDIR_QT
they are equivalent to QT_INSTALL_(HEADERS|LIBS)/get.

Change-Id: Ic4b47f3ca7db55785b96f19020a2fa020a8d25bd
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-06-19 16:39:59 +02:00
Donald Carr
698e5b376d Remove all references to X11 session management
There is no session management currently implemented for the xcb QPA
backend. Update the build system to reflect this.

Change-Id: I3486de5741f1fb7e09330ca142b8235a84d3b91d
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-06-01 03:15:55 +02:00
Oswald Buddenhagen
d13bedb9d8 remove assignment of QMAKE_MOC & QMAKE_UIC from mkspecs
there is entirely no point in having it there.

Change-Id: Ie2fc1e94495119725131cbd50564648cbb4a7dc8
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
2012-03-01 21:00:07 +01:00
Qt by Nokia
38be0d1383 Initial import from the monolithic Qt.
This is the beginning of revision history for this module. If you
want to look at revision history older than this, please refer to the
Qt Git wiki for how to use Git history grafting. At the time of
writing, this wiki is located here:

http://qt.gitorious.org/qt/pages/GitIntroductionWithQt

If you have already performed the grafting and you don't see any
history beyond this commit, try running "git log" with the "--follow"
argument.

Branched from the monolithic repo, Qt master branch, at commit
896db169ea224deb96c59ce8af800d019de63f12
2011-04-27 12:05:43 +02:00