qt5base-lts/mkspecs/common
Louai Al-Khanji f0a6d45cc8 qt_poll: split out into separate file and sanitize build
The qt_poll function calls recv to query whether fds marked by select
as readable should be marked POLLIN or POLLHUP in the pollfd structure.
On many platforms such as QNX this requires extra link-time libraries
which were not previously required by QtCore.

While the qt_poll function is intended as a fallback mechanism only for
those platforms which do not implement poll natively, the function was
compiled unconditionally whenever QT_BUILD_INTERNAL was defined, e.g.
in developer builds.

Additionally the function was included on those systems that define poll
in system headers so that configure determines build-time availability,
but do not define _POSIX_POLL > 0 or indicate POSIX:2008 compliance via
either the _POSIX_VERSION or _XOPEN_VERSION macros. On those systems a
sysconf query for _SC_POLL was performed to determine at runtime whether
to call the system poll or qt_poll.

Both of these cases are in fact counterproductive. In the first case the
sole consumer of the function is a single manual unit test. In the
second, to my knowledge no platform requires the runtime fallback.
Despite that, we were forcing an extra dylib in both cases.

Both cases are fixed by 1) moving the implementation into its own file
for the unit test to include and 2) dropping the dynamic fallback if
configure determines availability of poll at compile-time.

This also reverts commit 1377709711, which
added -lsocket for QtCore on QNX.

Change-Id: I2dd10695c5d4cac81b68d2c2558797f3cdabc153
Reviewed-by: James McDonnell <jmcdonnell@qnx.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2015-12-05 00:47:36 +00:00
..
aix Update copyright headers 2015-02-11 06:49:51 +00:00
android Update copyright headers 2015-02-11 06:49:51 +00:00
c89 Update copyright headers 2015-02-11 06:49:51 +00:00
ios Distinguish between Objective-C and Objective-C++ sources 2015-10-09 15:15:17 +00:00
mac QNativeSocketEngine: add code to receive IP header data 2015-08-22 22:26:33 +00:00
nacl Update copyright headers 2015-02-11 06:49:51 +00:00
posix Update copyright headers 2015-02-11 06:49:51 +00:00
qnx Update copyright headers 2015-02-11 06:49:51 +00:00
wince Rename ANGLE libs in order to not conflict with other ANGLE libs 2015-12-01 12:28:02 +00:00
winrt_winphone Rename ANGLE libs in order to not conflict with other ANGLE libs 2015-12-01 12:28:02 +00:00
angle.conf Rename ANGLE libs in order to not conflict with other ANGLE libs 2015-12-01 12:28:02 +00:00
clang-mac.conf Distinguish between Objective-C and Objective-C++ sources 2015-10-09 15:15:17 +00:00
clang.conf Add detection of C++14 and C++1z compiler features 2015-09-05 23:05:40 +00:00
g++-base.conf Update mkspecs to use "c++11" instead of "c++0x" 2015-10-18 04:46:45 +00:00
g++-macx.conf Remove the -load_all option from the linker enabling static builds 2015-01-07 09:57:07 +01:00
g++-unix.conf Fix '=' alignment and replace tabs in *.conf (whitespace only change) 2013-03-27 17:16:37 +01:00
g++.conf Initial import from the monolithic Qt. 2011-04-27 12:05:43 +02:00
gcc-base-mac.conf Distinguish between Objective-C and Objective-C++ sources 2015-10-09 15:15:17 +00:00
gcc-base-unix.conf Add a linker version script to Qt libraries 2015-09-13 18:54:17 +00:00
gcc-base.conf configure: Add support for detecting AVX512 instructions 2015-09-25 20:29:22 +00:00
ios.conf Fix '=' alignment and replace tabs in *.conf (whitespace only change) 2013-03-27 17:16:37 +01:00
linux-android.conf purge vestiges of opengl es 1 support 2014-04-04 19:32:21 +02:00
linux.conf support relative paths in QMAKE_RPATHDIR 2015-10-20 17:18:16 +00:00
llvm.conf Refer to Apple products by their actual names. 2013-07-10 17:32:48 +02:00
mac.conf support relative paths in QMAKE_RPATHDIR 2015-10-20 17:18:16 +00:00
macx.conf Merge "Merge branch 'stable' into dev" into refs/staging/dev 2013-07-12 14:03:21 +02:00
msvc-base.conf msvc: Introduce base config file for all targets 2015-11-30 14:29:44 +00:00
msvc-desktop.conf Silence cl.exe warning about -arch:SSE2 being unknown in 64-bit builds 2015-12-05 00:10:35 +00:00
qcc-base-qnx-armle-v7.conf move inclusions of unix.conf (and related files) near the top 2015-10-01 16:19:27 +00:00
qcc-base-qnx-x86.conf move inclusions of unix.conf (and related files) near the top 2015-10-01 16:19:27 +00:00
qcc-base-qnx.conf qt_poll: split out into separate file and sanitize build 2015-12-05 00:47:36 +00:00
qcc-base.conf Merge remote-tracking branch 'origin/5.4' into merge5.5 2015-05-08 13:26:44 +02:00
sanitize.conf Add support for gcc/clang's sanitize features 2014-10-02 19:45:00 +02:00
shell-unix.conf centralize setup of shell-related variables in spec_post.prf 2015-03-06 19:08:40 +00:00
shell-win32.conf centralize setup of shell-related variables in spec_post.prf 2015-03-06 19:08:40 +00:00
unix.conf unify handling of library prefixes and extensions 2015-10-01 16:19:30 +00:00