qt5base-lts/mkspecs
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-g++ move inclusions of unix.conf (and related files) near the top 2015-10-01 16:19:27 +00:00
aix-g++-64 move inclusions of unix.conf (and related files) near the top 2015-10-01 16:19:27 +00:00
aix-xlc move inclusions of unix.conf (and related files) near the top 2015-10-01 16:19:27 +00:00
aix-xlc-64 move inclusions of unix.conf (and related files) near the top 2015-10-01 16:19:27 +00:00
android-g++ Merge remote-tracking branch 'origin/5.4' into 5.5 2015-03-31 10:03:31 +02:00
common qt_poll: split out into separate file and sanitize build 2015-12-05 00:47:36 +00:00
cygwin-g++ unify handling of library prefixes and extensions 2015-10-01 16:19:30 +00:00
darwin-g++ move inclusions of unix.conf (and related files) near the top 2015-10-01 16:19:27 +00:00
devices Merge remote-tracking branch 'origin/5.6' into dev 2015-11-18 09:01:51 +01:00
features Add some interesting warning options to the compilation 2015-12-05 00:10:33 +00:00
freebsd-g++ move inclusions of unix.conf (and related files) near the top 2015-10-01 16:19:27 +00:00
freebsd-g++46 move inclusions of unix.conf (and related files) near the top 2015-10-01 16:19:27 +00:00
freebsd-icc move inclusions of unix.conf (and related files) near the top 2015-10-01 16:19:27 +00:00
haiku-g++ move inclusions of unix.conf (and related files) near the top 2015-10-01 16:19:27 +00:00
hpux-acc move inclusions of unix.conf (and related files) near the top 2015-10-01 16:19:27 +00:00
hpux-acc-64 move inclusions of unix.conf (and related files) near the top 2015-10-01 16:19:27 +00:00
hpux-acc-o64 move inclusions of unix.conf (and related files) near the top 2015-10-01 16:19:27 +00:00
hpux-g++ move inclusions of unix.conf (and related files) near the top 2015-10-01 16:19:27 +00:00
hpux-g++-64 move inclusions of unix.conf (and related files) near the top 2015-10-01 16:19:27 +00:00
hpuxi-acc-32 move inclusions of unix.conf (and related files) near the top 2015-10-01 16:19:27 +00:00
hpuxi-acc-64 move inclusions of unix.conf (and related files) near the top 2015-10-01 16:19:27 +00:00
hpuxi-g++-64 move inclusions of unix.conf (and related files) near the top 2015-10-01 16:19:27 +00:00
hurd-g++ move inclusions of unix.conf (and related files) near the top 2015-10-01 16:19:27 +00:00
irix-cc move inclusions of unix.conf (and related files) near the top 2015-10-01 16:19:27 +00:00
irix-cc-64 move inclusions of unix.conf (and related files) near the top 2015-10-01 16:19:27 +00:00
irix-g++ move inclusions of unix.conf (and related files) near the top 2015-10-01 16:19:27 +00:00
irix-g++-64 move inclusions of unix.conf (and related files) near the top 2015-10-01 16:19:27 +00:00
linux-arm-gnueabi-g++ Update copyright headers 2015-02-11 06:49:51 +00:00
linux-clang Update copyright headers 2015-02-11 06:49:51 +00:00
linux-clang-libc++ Update copyright headers 2015-02-11 06:49:51 +00:00
linux-cxx move inclusions of unix.conf (and related files) near the top 2015-10-01 16:19:27 +00:00
linux-g++ Fix for platform socklen_t on other C libraries than glibc. 2015-09-30 05:04:20 +00:00
linux-g++-32 move inclusions of unix.conf (and related files) near the top 2015-10-01 16:19:27 +00:00
linux-g++-64 move inclusions of unix.conf (and related files) near the top 2015-10-01 16:19:27 +00:00
linux-icc Update mkspecs to use "c++11" instead of "c++0x" 2015-10-18 04:46:45 +00:00
linux-icc-32 Update copyright headers 2015-02-11 06:49:51 +00:00
linux-icc-64 Update copyright headers 2015-02-11 06:49:51 +00:00
linux-kcc move inclusions of unix.conf (and related files) near the top 2015-10-01 16:19:27 +00:00
linux-llvm Update copyright headers 2015-02-11 06:49:51 +00:00
linux-lsb-g++ Update copyright headers 2015-02-11 06:49:51 +00:00
linux-pgcc move inclusions of unix.conf (and related files) near the top 2015-10-01 16:19:27 +00:00
lynxos-g++ move inclusions of unix.conf (and related files) near the top 2015-10-01 16:19:27 +00:00
macx-clang Update copyright headers 2015-02-11 06:49:51 +00:00
macx-clang-32 Distinguish between Objective-C and Objective-C++ sources 2015-10-09 15:15:17 +00:00
macx-g++ Update copyright headers 2015-02-11 06:49:51 +00:00
macx-g++40 Update copyright headers 2015-02-11 06:49:51 +00:00
macx-g++42 Update copyright headers 2015-02-11 06:49:51 +00:00
macx-g++-32 Distinguish between Objective-C and Objective-C++ sources 2015-10-09 15:15:17 +00:00
macx-icc Merge remote-tracking branch 'origin/5.6' into dev 2015-10-14 15:45:35 +02:00
macx-ios-clang iOS: Map make install to xcodebuild build for the iOS simulator 2015-11-26 15:37:58 +00:00
macx-llvm Update copyright headers 2015-02-11 06:49:51 +00:00
macx-xcode Xcode: Set DYLD_IMAGE_SUFFIX=_debug when launching Debug configuration 2015-10-01 23:01:46 +00:00
modules Adjust wiki links to the new redirect 2015-03-04 15:36:12 +00:00
netbsd-g++ move inclusions of unix.conf (and related files) near the top 2015-10-01 16:19:27 +00:00
openbsd-g++ move inclusions of unix.conf (and related files) near the top 2015-10-01 16:19:27 +00:00
qnx-armle-v7-qcc Update copyright headers 2015-02-11 06:49:51 +00:00
qnx-x86-qcc Update copyright headers 2015-02-11 06:49:51 +00:00
sco-cc Update copyright headers 2015-02-11 06:49:51 +00:00
sco-g++ move inclusions of unix.conf (and related files) near the top 2015-10-01 16:19:27 +00:00
solaris-cc move inclusions of unix.conf (and related files) near the top 2015-10-01 16:19:27 +00:00
solaris-cc-64 move inclusions of unix.conf (and related files) near the top 2015-10-01 16:19:27 +00:00
solaris-cc-64-stlport Update copyright headers 2015-02-11 06:49:51 +00:00
solaris-cc-stlport Update copyright headers 2015-02-11 06:49:51 +00:00
solaris-g++ move inclusions of unix.conf (and related files) near the top 2015-10-01 16:19:27 +00:00
solaris-g++-64 move inclusions of unix.conf (and related files) near the top 2015-10-01 16:19:27 +00:00
tru64-cxx move inclusions of unix.conf (and related files) near the top 2015-10-01 16:19:27 +00:00
tru64-g++ move inclusions of unix.conf (and related files) near the top 2015-10-01 16:19:27 +00:00
unixware-cc move inclusions of unix.conf (and related files) near the top 2015-10-01 16:19:27 +00:00
unixware-g++ move inclusions of unix.conf (and related files) near the top 2015-10-01 16:19:27 +00:00
unsupported move inclusions of unix.conf (and related files) near the top 2015-10-01 16:19:27 +00:00
win32-g++ Merge remote-tracking branch 'origin/5.6' into dev 2015-12-02 23:33:06 +01:00
win32-icc Merge remote-tracking branch 'origin/5.6' into dev 2015-10-14 15:45:35 +02:00
win32-msvc2005 centralize setup of shell-related variables in spec_post.prf 2015-03-06 19:08:40 +00:00
win32-msvc2008 centralize setup of shell-related variables in spec_post.prf 2015-03-06 19:08:40 +00:00
win32-msvc2010 centralize setup of shell-related variables in spec_post.prf 2015-03-06 19:08:40 +00:00
win32-msvc2012 centralize setup of shell-related variables in spec_post.prf 2015-03-06 19:08:40 +00:00
win32-msvc2013 centralize setup of shell-related variables in spec_post.prf 2015-03-06 19:08:40 +00:00
win32-msvc2015 centralize setup of shell-related variables in spec_post.prf 2015-03-06 19:08:40 +00:00
wince60standard-armv4i-msvc2005 Update copyright headers 2015-02-11 06:49:51 +00:00
wince60standard-x86-msvc2005 Update copyright headers 2015-02-11 06:49:51 +00:00
wince70embedded-armv4i-msvc2008 Rename ANGLE libs in order to not conflict with other ANGLE libs 2015-12-01 12:28:02 +00:00
wince70embedded-x86-msvc2008 Update copyright headers 2015-02-11 06:49:51 +00:00
wince80colibri-armv7-msvc2012 Rename ANGLE libs in order to not conflict with other ANGLE libs 2015-12-01 12:28:02 +00:00
winphone-arm-msvc2013 WinRT: Deployqt version/copyright information to dlls 2015-09-13 22:03:11 +00:00
winphone-x86-msvc2013 WinRT: Deployqt version/copyright information to dlls 2015-09-13 22:03:11 +00:00
winrt-arm-msvc2013 winrt: use correct winapi family defines in mkspecs and system detection 2015-10-20 14:29:16 +00:00
winrt-arm-msvc2015 msvc: Introduce base config file for all targets 2015-11-30 14:29:44 +00:00
winrt-x64-msvc2013 Update copyright headers 2015-02-11 06:49:51 +00:00
winrt-x64-msvc2015 msvc: Introduce base config file for all targets 2015-11-30 14:29:44 +00:00
winrt-x86-msvc2013 winrt: use correct winapi family defines in mkspecs and system detection 2015-10-20 14:29:16 +00:00
winrt-x86-msvc2015 msvc: Introduce base config file for all targets 2015-11-30 14:29:44 +00:00