summaryrefslogtreecommitdiffstats
path: root/Utilities/cmlibuv
Commit message (Collapse)AuthorAgeFilesLines
* libuv: fix compilation with macOS 10.10 SDKBrad King2019-06-191-1/+1
| | | | | | The `F_BARRIERFSYNC` constant was not added until the macOS 10.11 SDK. Hard-code its value instead. This approach is backported from upstream libuv PR 2334.
* libuv: Add uv__statx() stub to cmake-bootstrap.cKyle Edwards2019-06-181-0/+9
|
* Merge branch 'upstream-libuv' into update-libuvBrad King2019-06-1847-356/+1847
| | | | | * upstream-libuv: libuv 2019-06-10 (ee24ce90)
* libuv: fix atomic ops compilation with xlclangBrad King2019-02-251-2/+2
|
* Utilities: Suppress warnings in third-party code when using XLClangBrad King2019-02-251-1/+1
|
* Remove now-unused code once used for MIPSpro on IRIXBrad King2019-02-211-1/+1
| | | | | | In commit beb991110d (Remove now-unused code once used on IRIX, 2019-01-11, v3.14.0-rc1~167^2) we removed remnants of IRIX support. Also remove remnants of MIPSpro compiler support.
* libuv: Update CMake-internal buildsystemBrad King2019-01-172-18/+24
|
* libuv: Include uv/ headers from each other without any pathBrad King2019-01-172-14/+14
| | | | | | Headers in `uv/` can include each other without the `uv/` prefix. Using the prefix assumes that the location of `uv/` is in the include file search path, but it is possible to include `uv.h` via a longer path.
* Merge branch 'upstream-libuv' into update-libuvBrad King2019-01-1794-3123/+3371
| | | | | * upstream-libuv: libuv 2019-01-15 (f84c5e69)
* libuv: fix clang scan-build warningKyle Edwards2019-01-141-1/+1
|
* Merge topic 'libuv-gnu-hurd'Brad King2018-10-031-8/+39
|\ | | | | | | | | | | | | 3c0bfb596f libuv: do not require PATH_MAX to be defined Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2422
| * libuv: do not require PATH_MAX to be definedBrad King2018-10-011-8/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some platforms (e.g. GNU/Hurd) do not define PATH_MAX. Add a few other variants and a fallback constant. Also use alternatives where possible: * For readlink(), use lstat() to read the length of the link first. If it is not a symlink, report EINVAL before trying to allocate. If the size reports as zero, fall back one of the PATH_MAX variants. * For realpath(), POSIX 2008 allows us to pass a NULL buffer to tell it to malloc() internally. This patch was inspired by downstream patches in Debian packaging for issues 897061 and 909011. Issue: #18337
* | libuv: Add kFreeBSD platform-specific filesGregor Jasny2018-09-181-0/+16
|/ | | | Issue 18375
* libuv: Revert local linux/sparc64 fix now that we have upstream fixBrad King2018-05-071-1/+1
|
* Merge branch 'upstream-libuv' into update-libuvBrad King2018-05-0761-751/+990
| | | | | * upstream-libuv: libuv 2018-05-06 (bf605bd7)
* Merge topic 'ctest-libuv-linux-sparc64'Brad King2018-05-031-1/+1
|\ | | | | | | | | | | | | 1c22fdf360 libuv: linux/sparc64: use fcntl to set and clear O_NONBLOCK Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2029
| * libuv: linux/sparc64: use fcntl to set and clear O_NONBLOCKBrad King2018-05-021-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Upstream libuv commits: * node-v0.6.0~28 (linux: use ioctl(FIONBIO) to set O_NONBLOCK, saves a syscall, 2011-10-29) * v1.11.0~11 (unix: use async-signal safe functions between fork and exec, 2016-12-12) left an asymmetry in the way O_NONBLOCK is set and cleared. Normally ioctl/FIONBIO is used for both. However, uv_spawn uses fcntl/O_NONBLOCK to clear O_NONBLOCK between fork and exec. This fails on Linux/sparc64 where setting via ioctl/FIONBIO actually sets two bits (in O_NDELAY) that cause clearing via fcntl/O_NONBLOCK to be silently ignored (though clearing via ioctl/FIONBIO or fcntl/O_NDELAY works). Since CMake commit v3.11.0-rc1~117^2 (CTest: Re-implement test process handling using libuv, 2017-12-10), CTest uses libuv. On Linux/sparc64 child processes have been started with non-blocking output pipes. This can lead to write errors or lost output from children not prepared to deal with `EAGAIN` on stdout or stderr. Fix this for now by switching libuv back to fcntl/O_NONBLOCK to set and clear O_NONBLOCK when compiled on Linux/sparc64. LibUV-Issue: 1830 Fixes: #17941
* | libuv: disable process affinity during CMake bootstrapBrad King2018-03-051-0/+10
| | | | | | | | Avoid depending on platform-specific pthread features during bootstrap.
* | libuv: unix,win: add uv_spawn option to set child CPU affinity maskBrad King2018-03-053-0/+114
| | | | | | | | | | | | | | | | Implement it on Linux, FreeBSD, and Windows for now, and fail with UV_ENOTSUP on other platforms. Backported from upstream libuv PR 1527, scheduled for inclusion in libuv 2.0.
* | libuv: misc: add function to get CPU affinity mask sizeBrad King2018-03-053-0/+17
|/ | | | | | | | Implement it on Linux, FreeBSD, and Windows for now, and return UV_ENOTSUP on other platforms. Backported from upstream libuv PR 1527, scheduled for inclusion in libuv 2.0.
* libuv: Update build within CMakeBrad King2018-01-191-1/+2
| | | | Update our CMake build rules to account for upstream changes.
* Merge branch 'upstream-libuv' into update-libuvBrad King2018-01-1961-1018/+2800
| | | | | * upstream-libuv: libuv 2018-01-19 (63de1eca)
* libuv: unix: restart syscalls interrupted by our signal handlerBrad King2018-01-081-1/+6
| | | | | | | | | | BSD `signal(2)` semantics make some system calls (e.g. for `write`) restartable when interrupted by a signal handler. Use `SA_RESTART` to enable these semantics everywhere that supports them. This is required by C++ stream libraries that interpret `EINTR` as any other error, set `badbit`, and stop writing. I've observed this with `libstdc++` during a `std::cout.flush()` call interrupted by `SIGCHLD`.
* bootstrap: Make libuv available during bootstrapBrad King2017-09-178-10/+200
| | | | | | | On UNIX, build only the parts of libuv we need for the filesystem, process, and poll abstractions using the POSIX poll() backend. This avoids many platform-specific conditions. On Windows, build all of libuv; there are no conditional alternatives anyway.
* Build with libuv on Cygwin to enable server-modeBrad King2017-05-281-0/+21
| | | | With our last update of libuv, Cygwin is now supported.
* libuv: Update build within CMakeBrad King2017-05-261-0/+4
| | | | Update our CMake build rules to account for upstream changes.
* Merge branch 'upstream-libuv' into update-libuvBrad King2017-05-2620-96/+720
| | | | | * upstream-libuv: libuv 2017-05-25 (dc596109)
* libuv: Update build within CMakeBrad King2017-05-161-0/+7
| | | | Update our CMake build rules to account for upstream changes.
* Merge branch 'upstream-libuv' into update-libuvBrad King2017-05-1547-710/+957
| | | | | | | * upstream-libuv: libuv 2017-05-09 (e11dcd43) Fixes: #16878
* libuv: Compile as C 99 on Solaris 5.11Brad King2017-05-051-0/+7
| | | | SunPro 5.13 and below do not compile as c99 by default.
* libuv: Compile as C 90 on Solaris 5.10 with SunPro 5.14Brad King2017-05-051-3/+5
|
* libuv: Compile as C 90 on Solaris 10Brad King2017-02-281-0/+3
|
* libuv: Link to 'rt' library on Solaris 10 to get semaphoresBrad King2017-02-261-0/+1
|
* libuv: Implement mkdtemp on Solaris 10Brad King2017-02-261-1/+11
|
* libuv: automatically skip ifaddrs on Solaris 10Brad King2017-02-261-0/+4
|
* Merge branch 'upstream-libuv' into update-libuvBrad King2017-02-2234-256/+1530
| | | | | * upstream-libuv: libuv 2017-02-21 (52ae8264)
* libuv requires _XOPEN_SOURCE 600 on Solaris 11Eric Berge2016-12-221-1/+9
| | | | | | | This avoid build errors from the /usr/include/sys/feature_tests.h include file which disallows setting XOpen versions less than 6 when in C99 mode.
* Merge branch 'upstream-libuv' into update-libuvBrad King2016-09-294-41/+84
| | | | | * upstream-libuv: libuv 2016-09-27 (8221f9b3)
* libuv: Link with kvm on NetBSD and OpenBSDBrad King2016-09-091-0/+6
| | | | | We include the `kvm.h` header on these platforms and call kvm APIs. Link with the library to ensure they are available.
* libuv: Link with kvm on FreeBSDRoger Leigh2016-09-091-0/+3
| | | | Add it unconditionally. It is present in FreeBSD 11, 10 and 9.
* libuv: Simplify variable initializations to satisfy Clang scan-buildBrad King2016-09-012-10/+4
| | | | | The Clang scan-build tool warns about assignments whose values are never used, so initialize local variables at declaration instead.
* libuv: Fix unused variable warning in uv_loop_closeBrad King2016-08-311-0/+2
|
* libuv: Avoid including macOS CoreServices header globallyBrad King2016-08-311-4/+1
| | | | | We only need the availability macros in `unix/internal.h`. We already include CoreServices where needed in implementation files.
* libuv: Always include our own header firstBrad King2016-08-312-6/+6
|
* libuv: Conditionally declare Windows APIs for VS 2008 and belowBrad King2016-08-313-2/+23
|
* libuv: Fix anonymous union syntaxBrad King2016-08-311-2/+2
|
* libuv: Fix Windows API function typedef syntaxBrad King2016-08-311-5/+5
|
* libuv: Install LICENSE file with CMake documentationBrad King2016-08-311-0/+2
| | | | | When we install using the bundled libuv source, notify users of its license terms.
* libuv: Disable warnings to avoid changing 3rd party codeBrad King2016-08-312-0/+12
| | | | | Add '-w' or equivalent flag on compilers supporting it. Tell MSVC to use its lowest warning level inside libuv sources.
* libuv: Build the library within CMakeBrad King2016-08-312-0/+221
| | | | | | | | | | | Take logic from upstream `Makefile.am` and `configure.ac` to build libuv sources. Update `uv.h` to include KWSys Large File Support configuration so that consistent stream libraries are used (on AIX with XL). Add a `cm_uv.h` header to include the CMake-provided copy of the `uv.h` header from CMake sources.