-ldl option was used unconditionally while libdl is not supported
when libc is static.
Add build test to configure which checks if libdl is supported.
QMAKE_LIBS_DYNLOAD in "src/corelib/plugin/plugin.pri" is now used only
if libdl is available.
qt_linux_find_symbol_sys from qlibrary_unix is now used only if
QT_NO_DYNAMIC_LIBRARY is not defined.
Initially reported by Buildroot autobuilder here:
http://autobuild.buildroot.net/results/a85/a85a1839a45fb6102e53131ecc8f6dadf92bcdc2
Change-Id: I0397472456efdc4f3ab5f24d01253bee8048a9d1
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Not that we require it, but since The Qt Company did it for all files
they have copyright, even if they haven't touched the file in years
(especially not in 2016), I'm doing the same.
Change-Id: I7a9e11d7b64a4cc78e24ffff142b4c9d53039846
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
When building application statically, it's important to keep libraries
we're linking against in order. qmake's "*=" operator fails to do that,
so use "+=" instead.
Change-Id: Id3627da47d07c70fd07185a777f2f07bb4057f03
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
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>
This function is introduced to safely provide poll(2)-like semantics for
socket multiplexing on Unix-like platforms. For platforms where no poll
system call is available, an implementation based on select(2) is provided.
Change-Id: I320e97dae5924316675a74d1897c48cae292ac6d
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
This also fixes the underlying cause of QTBUG-44039 and QTBUG-43885.
You can choose between system, qt, and no libdouble-conversion
support. If you choose "no", snprintf_l and sscanf_l will be
used.
By default, system double conversion is used if the system provides a
double-conversion library. Otherwise the bundled libdouble-conversion
is built. sscanf_l and snprintf_l are not used by default as the
planned "shortest" conversion mode to produce the shortest possible
string will give less precise results when implemented with snprintf_l.
Change-Id: I8ca08a0fca5c54cf7009e48e771385614f6aa031
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
This separation makes it possible to make a
canadian cross build of Qt on a linux build machine.
The canadian cross build requires an external Qt that
runs on the build system.
Change-Id: Ifd83a4c6376d3299647e74bb349a3452a6f433fc
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
This commit removes the legacy ptrsize check, which was deficient
because it did not work for multiarch systems (when we supported fat
OS X binaries) and did not work for bootstrap builds because the size
might be different when cross-compiling.
Instead, let's rely on the predefined preprocessor macros to detect
correctly. As a nice side-effect, this fixes 64-bit Android builds
cross-compiled from Windows.
Task-number: QTBUG-48932
Change-Id: I1d0f78915b5942aab07cffff140f9a52b9342f23
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
Don't use gst_is_initialized(). It was added in 0.10.31, but we don't
actually require that version.
Change-Id: If5d662e18511cf636861bf93eeccc1f5b69e26f1
Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
This allows setting of variables, like FOO=bar.
Change-Id: Ib306f8f647014b399b87ffff13f1d9e6a10fa2f8
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
The initial configure fails to build the pointer size test correctly
due to the missing --sysroot argument. This breaks 64-bit targets
as the pointer size is set to 4. A subsequent configure correctly
builds and picks 8 up, but we expect the first attempt to work as well.
Task-number: QTBUG-47840
Change-Id: Iaf9450635f1bbc12e18062fa0a51f35cf690ce08
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
[ChangeLog][QtCore][Logging] Systems with syslog may now pass -syslog to
configure to send logging output to syslog.
Change-Id: I80d58ee6e70d8deb2409fc666e7e7f2d7f52b8e1
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
The pipe2/dup3/accept4 functions and SOCK_CLOEXEC are quite old nowadays
on Linux. They were introduced on Linux 2.6.28 and glibc 2.10, all from
2008. They were also picked up by uClibc in 2011 and FreeBSD as of
version 10.0. So we no longer need the runtime detection of whether the
feature is available.
Instead, if the libc has support for it, use it unconditionally and fail
at runtime if the syscall isn't implemented.
Change-Id: Ib056b47dde3341ef9a52ffff13efcc39ef8dff7d
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Pass the correct include path to the config test, otherwise compilation
will fail.
Change-Id: I6723cad41ec289b051dcc9c47b3b1d67af7c5879
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Simply to hide the magic bahind the scenes.
Change-Id: I69a159eb14712e68117f10e78745bdfbad46b6f2
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
On platforms which does not have at all sysv support, all
posix ipc tests and compilation failed because sysv
specific header files were included unconditionally.
Change-Id: I5713ace6daeb6e79f8794ce42b2b3dfa1b95ab2d
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Fix the linking of the iconv config test on Haiku
Change-Id: I7717faf51326a4e3b0f4f6331908a35f1ff0206a
Reviewed-by: Augustin Cavalier <waddlesplash@gmail.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
spaces in the source dir are not supported for now, as that requires
some more profound refactoring of the bootstrap makefiles.
Change-Id: Ie0c07a1558b8326f642f2ea144bc1cd85ee761af
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
Including math.h can pollute the default namespace, and break
some compilers if cmath versions of the method are declared as using.
Switching to C++ math functions also greatly simplifies handling of
float qreal as C++ automatically chooses the right method.
[ChangeLog][QtCore][QtMath] qmath.h no longer includes math.h, so any
sources depending on that indirect inclusion may fail to build.
Change-Id: I4d0e331dafba354ec05dc5052e61ef4ff8d387fe
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
Qt Multimedia can be compiled with either GStreamer 0.10 or 1.0.
0.10 takes precedence over 1.0 if both are available (1.0 will be used
by default in Qt 5.6).
Auto-detection can be overridden with -gstreamer <version>.
Change-Id: I74d58d2c146c842902375b4d1e5e6e96d32addac
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
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>
there is no reason at all for it to be an external script.
Change-Id: I836f38dd06f61350dd9f83015857abb07981c62d
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
use the posix builtin that is used two lines down as well instead of sed
with platform-specific options.
Change-Id: I439f79554d883564150004c1f7b6d8655a0ef192
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
this variable has been dead for the most part for some years.
Change-Id: I834e23c5db4585cacfa7fa556509dabc030e5c37
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
Adds a configure check for System V and POSIX IPC.
System V takes precedence over POSIX IPC, and if both
are not supported, QT_NO_SHAREDMEMORY and
QT_NO_SYSTEMSEMAPHORE are defined.
This patch is a forward-port from 4.8 branch
(6ef4abaa9cd7d465cbae5cbf8cb4664bef387d10).
Change-Id: I3ec20342f0f0266843479634109b67c6989dd296
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
...and get rid of workarounds for older versions,
which also makes the code more readable.
Change-Id: I087110c5f60cd664dad241776e1a0df901989c75
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Remove warnings: "assigned but not used" and "uninitialized usage".
Change-Id: I247e1de020e78c35787b8e1e30421174ac232fd5
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Supports relative pointer, axis, keyboard and touch events.
libinput support is only available in combination with libudev.
libxkbcommon is required to perform key mapping. For now the
default keymap is used always (selected when building xkbcommon).
[ChangeLog][QtGui] Added a plugin to get mouse, keyboard and touch events
via libinput.
Change-Id: I469d8992c0cd3e79225cefaeb931697baf86a92b
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
This code hasn't been tested for at least 4 years. It's not maintained
and probably doesn't work.
Change-Id: I4b9a5179e34111b400914f91caa6b741b69771bb
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
For dynamic builds of ICU, libicudata is an implicit dependency. Anyhow,
it doesn't harm to explicitly link against it, either. So let's do
this everywhere ...
Task-number: QTBUG-38445
Change-Id: I420ba096e2ce5e1b8d81814ffb4aa7b300143b01
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
This allows us to use JIT also for partial matching.
Change-Id: I3963a03e769c61ab68d28c617cbeee2bc49c8f9b
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
In ES builds configure will now check for OpenGL ES 3.0 and 3.1
availability. This allows qopengl.h to include the correct header
and, by defining QT_OPENGL_ES_3 and QT_OPENGL_ES_3_1, the OpenGL
wrappers can provide support for MapBuffer, VAOs, etc. on GLES 3.0+
too. Right now this is not possible since the only standard way to
use an ES function specific to a given version is to use the function
directly. The extension mechanism (eglGetProcAddress and friends), that
is often used in desktop GL, is not available for such functions.
[ChangeLog][QtGui] QtGui's OpenGL headers are now automatically including
the highest available header (gl31.h, gl3.h or gl2.h) in OpenGL ES builds.
Task-number: QTBUG-38168
Change-Id: Ib857c58fe1696a9546fdd1aa143a9237e80325a5
Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
The make targets had no dependency to the built binary. Therefore
when building with multiple make processes(-j8) it was not guaranteed
that the binary was available for the objcopy tests.
Change-Id: Ifd04e3f49fdadf030e82e81498668899ad4e7fd3
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
This removes the old objcopy.test script and adds a cross platform
qmake project for auto detection.
Change-Id: Icc7c40d72fb0ff751d214b7351e20652f7b15945
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
it's a bit braindead to look whether we managed to build an executable
if we can simply use the exit codes of qmake and make to test for
success.
the windows equivalent is already doing that.
this also allows us to do tests that can fail despite building an
executable, or not build one in the first place.
Change-Id: Ib69f9d005309d55a790dd3d89db1ee913e45b26b
Reviewed-by: Wolfgang Bremer <wbremer@blackberry.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Use the custom field QT_CATEGORY to store the name of the QLoggingCategory used
when writing to systemd's journal. To pass custom fields sd_journal_send() is
needed, and is used in combination with #define SD_JOURNAL_SUPPRESS_LOCATION to
store the metadata that is already in the QMessageLogContext.
Change-Id: I6a120701f7012aaa46451dd3d91586a419c5f803
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
We're getting problems with PMF comparisons failing on ARM and PPC,
which in turn break the new PMF-based connect syntax.
Dropping -Bsymbolic* seems to work around the issue (which has
been reported upstream, and it's likely to be a linker issue,
see the discussion in the bug report).
Task-number: QTBUG-36129
Change-Id: I8675a57acf26fdb9fbbc4d03896d5f6a9a96d506
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Change the minimum required version of CUPS to be 1.4, which has been
available in most distros since 2009. Note this is only available in
RHEL 6 and later, RHEL 5 will no longer be supported for printing.
[ChangeLog][QtPrintSupport] CUPS 1.4 is now required for print support
on Linux and other *nix platforms.
Change-Id: Id9c4c748be6436ccc995da08ff6bb3eeef08c35a
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Added configure test, whether lgmon (liquid graphics performance monitor)
is available. The test is supposed to be positive only for internal
BlackBerry NDKs currently.
Added calls to initialize lgmon and to indicate when an app is ready for
user input.
Change-Id: I5cbc29fb38a86585dcebd14d462436deaa1998aa
Reviewed-by: Wolfgang Bremer <wbremer@blackberry.com>
Reviewed-by: Fabian Bumberger <fbumberger@rim.com>
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com>
Instead of merely intercepting logging output from stdout/stderr from the
journal side of started processes, this has the advantage of meaning that the
origin process name will be correct.
fprintf won't work, because if a process starts children (like e.g. a
homescreen does), then their stdout/stderr are merged into their parent, and
journal has no way of differentiating the origin.
We are also able to store information about the context of logging, which might
be useful in post-mortem cases.
[ChangeLog][Platform Specific Changes][Linux] Systems with systemd may now pass
-journald to configure to send logging output to journald. Logging will still be
sent to stderr for interactive applications (run from a tty) or with
QT_NO_JOURNALD_LOG set to a non-empty value.
Change-Id: Ib260cec1ea87390bf44f267d217d795583407d00
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Commit 773dd01 introduced a general mingw platform scope, which
is cleaner and more flexible than matching the spec name.
Change-Id: Ie3a9cb791a83f7c8a51bc4e23069190c452ab521
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
This header is used by qevdevmousehandler.cpp, so it's not a bad idea
to check that it exists as early as here. Apparently, FreeBSD's Linux
support has linux/input.h, so the "evdev" test was passing and then
the build would fail later.
Task-number: QTBUG-36205
Change-Id: Iab9788350a9f4c90d355524769a7a396679fd218
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
Now the only way to enable Neon support is to change the mkspec.
[ChangeLog][Important Behavior Changes] Qt no longer checks for
support for the Neon FPU on ARM platforms at runtime. Code optimized
for Neon must be enabled unconditionally at compile time by ensuring
the compiler supports Neon. You may need to edit your mkspec for that.
Task-number: QTBUG-30440
Change-Id: I4df9b2bf3cd022f8ed70f02f16878cb2cb3fe6fb
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Needed for using alternate stdlib implementation like libc++ with clang.
Change-Id: I1782f62f5e2ea95e6cff8a1ed646362c0a31645c
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
The source code is valid C++. But not valid C.
Change-Id: I43126001d33caef050b0bc8c248cf9f3b01091df
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
Testing feature macros is not enough for uclibc. Fixes build of the built-in
sqlite3 with uclibc <= 0.9.33.2. Later versions will have posix_fallocate().
Change-Id: I918a52777ac63624635802221effc6b86fa2269c
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
For the conflicts in msvc_nmake.cpp the ifdefs are extended since we
need to support windows phone in the target branch while it is not there
in the current stable branch (as of Qt 5.2).
Conflicts:
configure
qmake/generators/win32/msvc_nmake.cpp
src/3rdparty/angle/src/libEGL/Surface.cpp
src/angle/src/common/common.pri
src/corelib/global/qglobal.h
src/corelib/io/qstandardpaths.cpp
src/plugins/platforms/qnx/qqnxintegration.cpp
src/plugins/platforms/qnx/qqnxscreeneventhandler.h
src/plugins/platforms/xcb/qglxintegration.h
src/widgets/kernel/win.pri
tests/auto/corelib/thread/qreadwritelock/tst_qreadwritelock.cpp
tests/auto/corelib/tools/qdatetime/tst_qdatetime.cpp
tests/auto/gui/text/qtextdocument/tst_qtextdocument.cpp
tools/configure/configureapp.cpp
Change-Id: I00b579eefebaf61d26ab9b00046d2b5bd5958812
Plain QNX 6.5.0 does not have a libpps, the new QNX
has a libpps and BlackBerry has it as well. So we need
a configure check to not open another mkspec for this
platform. This fixes the plain QNX 6.5.0 build.
Change-Id: Id4b3876f2385bcb5f3df426945532e7e26133f24
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
The findFile would need to look though all include
paths the compiler is supporting, which can be very hard
to support for multiply compilers. It is way easier to
use a compile check to catch all include paths the
compiler supports. This fix is needed to find correctly
ICU under QNX.
Task-number: QTBUG-34743
Change-Id: I4f755042a76882b304b058355cf54e37b25df61d
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Avoid need to modify qnx.pro in src/plugins/platforms/qnx to
build with imf support. By default detects if necessary headers
and libraries are available. Can also be explicitly requested or
disabled with -imf and -no-imf options.
Change-Id: I3f9780fc189a33e4c93fb4f950111121f8e947c3
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Nothing in qtbase uses gstreamer, so this is just a red herring.
Change-Id: I93fb20a70928d84fed8f33ca4c5df38779928f1a
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
The configure-time procedure used on Windows does not currently
perform the same tests to determine the width of a pointer as are
performed on Unix-based builds.
This causes QT_POINTER_SIZE to be undefined in the generated
qconfig.h file. This in turn breaks compilation of various Qt modules
such as QtDeclarative.
This patch adds the same level of support for automatically
determining the target platform's pointer size, as is currently
offered to Unix users.
Change-Id: I93838c1759b14089ba9f4daf442048fb5c8da738
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Escaping the '=' signs, otherwise awk fails on Solaris with
awk: syntax error near line 1
awk: bailing out near line 1
Could not determine the target architecture!
Build type: solaris-g++ (unknown, CPU features:)
Change-Id: I201482395c0cec28c10853191032eaa0401f5beb
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Remove all trailing whitespace from the following list of files:
*.cpp *.h *.conf *.qdoc *.pro *.pri *.mm *.rc *.pl *.qps *.xpm *.txt *README
excluding 3rdparty, test-data and auto generated code.
Note A): the only non 3rdparty c++-files that still
have trailing whitespace after this change are:
* src/corelib/codecs/cp949codetbl_p.h
* src/corelib/codecs/qjpunicode.cpp
* src/corelib/codecs/qbig5codec.cpp
* src/corelib/xml/qxmlstream_p.h
* src/tools/qdoc/qmlparser/qqmljsgrammar.cpp
* src/tools/uic/ui4.cpp
* tests/auto/other/qtokenautomaton/tokenizers/*
* tests/benchmarks/corelib/tools/qstring/data.cpp
* util/lexgen/tokenizer.cpp
Note B): in about 30 files some overlapping 'leading tab' and
'TAB character in non-leading whitespace' issues have been fixed
to make the sanity bot happy. Plus some general ws-fixes here
and there as asked for during review.
Change-Id: Ia713113c34d82442d6ce4d93d8b1cf545075d11d
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Based on the Necessitas project by Bogdan Vatra.
Contributors to the Qt5 project:
BogDan Vatra <bogdan@kde.org>
Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
hjk <hjk121@nokiamail.com>
Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Paul Olav Tvete <paul.tvete@digia.com>
Robin Burchell <robin+qt@viroteck.net>
Samuel Rødal <samuel.rodal@digia.com>
Yoann Lopes <yoann.lopes@digia.com>
The full history of the Qt5 port can be found in refs/old-heads/android,
SHA-1 249ca9ca2c7d876b91b31df9434dde47f9065d0d
Change-Id: Iff1a7b2dbb707c986f2639e65e39ed8f22430120
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
When cross compiling between two systems that use different
program file formats (such as PECOFF vs ELF) -x cannot be
relied upon, so -f should be used instead.
Change-Id: I4c80646b2b1fbdd6072589d4d9e852adda83424a
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Instead of setting -isysroot in both arch.test, compile.test, the various
mkspecs, and sdk.prf, we now propgate the chosen SDK as the qmake
variable QMAKE_MAC_SDK, which is then handled exclusivly in sdk.prf.
The QMAKE_MAC_SDK variable, and -sdk argument to configure, is expected
to be of the short-form name, eg macosx or iphoneos, not a full path, as
that's what Xcode also expects. We take care of translating that into
a full path for -isysroot/-syslibroot in sdk.prf, using xcodebuild as
a helper.
Change-Id: I281655b2fa5180c6e78ffdce36824e4a91447570
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
So that mkspecs and features may rely on the host_build test.
Change-Id: I18fee4820d9e2904285afcc7ddb8f1cc3d025fef
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
eventfd(7) uses less resources than a pipe, as it only needs to store a
single 64-bit integer, as opposed to a full buffer.
It was introduced first on Linux version 2.6.22 and glibc 2.7. However,
both the configure-time test and the runtime usage require the use of
EFD_CLOEXEC for thread-safety, so this code will be enabled only for
Linux 2.6.27 and up as well as glibc 2.9 and up.
Change-Id: Ic7e10b28d7b1d4ca24be614ed84055c4429a68e4
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Change-Id: Id0137400f18c8dfe7be7ca44670c16615401d424
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
Reviewed-by: Peter Hartmann <phartmann@rim.com>
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>
Additionally, qmake no longer needs -o since we are in the project
directory.
Change-Id: I89dbe829c064663b653e8f747f0849d63ceb367e
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Also check for c++11 support in configure.exe (which is also used by MinGW builds).
The c++11 check is therefore moved from 'unix' to 'common' directory.
Change-Id: I082848f032c2770e52e34f331b83820f395c06b6
Reviewed-by: Qt Doc Bot <qt_docbot@qt-project.org>
Reviewed-by: Yuchen Deng <loaden@gmail.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Not every MIPS SoC has the DSP extensions, auto-detect them by using
builtin GCC functions. Check for the DSP macros and add the result
for rev1 and rev2 to the cpufeatures.
Change-Id: I3d6c950f170f102514c43b349f9a23ee796d801a
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
this cuts down the enormous duplication of identical command line args
passed to compile.test.
this necessitates the addition of a -config parameter to compile.test,
as QMAKE_CONFIG needs to be extended in some cases.
Change-Id: I677b2fea4a407b9e4395e70a25e4e349efb0a946
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
The arch.test script is now using SDK settings passed to it.
If you install Xcode without the "UNIX Development" option, this
is essential to let the compiler find standard headers and let
the test program compile successfully.
In addition, let configure pass the SDK settings given on the
command line to the arch.test script.
Change-Id: I49601d3068d83a71e21fdbac287857f2b7abedd1
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Android doesn't define a number of items in its input.h for MT, so don't test
for them here. They will still work, they just need manual defines.
Change-Id: I471f55b7c7f8950d2048e525119b2b36c8e9743b
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
We expect that the C++ library also supports C++11 when the compiler
says it does as well. When using clang with libstdc++, the library has
no C++11 support or headers, so we cannot use, for example, #include
<initializer_lists>.
Change-Id: I844877107256f15ab314e8f82fe54434dbb07638
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>