summaryrefslogtreecommitdiffstats
path: root/Utilities/cmlibuv
Commit message (Collapse)AuthorAgeFilesLines
* libuv: macos: use posix poll instead of kqueueBrad King2024-04-013-2/+9
| | | | | | | | | Since commit 5420639a8d (cmExecuteProcessCommand: Replace cmsysProcess with cmUVProcessChain, 2023-06-01, v3.28.0-rc1~138^2~8) we've observed spurious process hangs in `uv__io_poll` waiting for `kqueue` to deliver events on macOS. Issue: #25839
* libuv: darwin: group kqueue-specific definitions togetherBrad King2024-04-011-2/+2
|
* libuv: process: de-duplicate conditions for using kqueueBrad King2024-04-011-5/+1
| | | | | | Its platform-specific headers provide a dedicated indicator. Backport libuv PR 4378.
* libuv: Avoid posix_spawn on macOS < 10.8Brad King2024-03-251-3/+7
| | | | | | | | | | | | | | Since libuv commit `83efa3dd71` (Reland "macos: use posix_spawn instead of fork", 2022-03-02, v1.44.0~10), `uv_spawn` on macOS < 10.8 has been observed to cause kernel panics and/or resource exhaustion. This became particularly noticeable in CMake since commit 5420639a8d (cmExecuteProcessCommand: Replace cmsysProcess with cmUVProcessChain, 2023-06-01, v3.28.0-rc1~138^2~8). Prefer `fork` over `posix_spawn` in libuv when targeting macOS < 10.8. Fixes: #25414 Fixes: #25818 Inspired-by: Ken Cunningham <kencu@macports.org>
* libuv: win/spawn: optionally run executable paths with no file extensionBrad King2024-02-083-6/+18
| | | | | | | | Backport libuv commit `3f7191e5` (win/spawn: optionally run executable paths with no file extension, 2024-02-05, v1.48.0~8) to add the `UV_PROCESS_WINDOWS_FILE_PATH_EXACT_NAME` option we now use. Issue: #25450
* libuv: Revert "win/spawn: run executables with no file extension"Brad King2024-02-081-6/+2
| | | | | | | | | | | | This reverts commit fc6231bee5 (libuv: win/spawn: run executables with no file extension, 2023-12-04, v3.28.0~9^2) to make room for the corresponding fix from upstream libuv 1.48. Record this as a merge from the last-imported upstream libuv snapshot branch so that future `git blame` points to the upstream for the original code instead of this commit. Issue: #25450
* libuv: win/spawn: run executables with no file extensionKyle Edwards2023-12-041-2/+6
| | | | | | | Backport this commit from libuv PR 4241 to restore `execute_process()` support for running executables on Windows with no file extension. Fixes: #25450
* libuv: Revert "win/spawn: run executables with no file extension"Brad King2023-12-041-12/+25
| | | | | | | | | | | | | | | This reverts commit da9df7425a (libuv: win/spawn: run executables with no file extension, 2023-11-29, v3.28.0-rc6~1^2~1). It incorrectly searched the `PATH` for extension-less command names. Another fix will be needed for the regression motivating it. Record this as a merge from the last-imported upstream libuv snapshot branch so that future `git blame` points to the upstream for the original code instead of this commit. Fixes: #25473 Issue: #25450
* libuv: win: honor NoDefaultCurrentDirectoryInExePath env varKyle Edwards2023-12-011-4/+6
| | | | | Backport commit 5e302730cd (win: honor NoDefaultCurrentDirectoryInExePath env var, 2023-12-01) from libuv PR 4238.
* libuv: win/spawn: run executables with no file extensionKyle Edwards2023-11-301-25/+12
| | | | | | | Backport this commit from libuv PR 4241 to restore `execute_process()` support for running executables on Windows with no file extension. Fixes: #25450
* libuv: win,process: avoid kernel bug with starting Windows Store appsBrad King2023-09-281-12/+29
| | | | | | | | Backport upstream libuv commit `93ca3f15` (win,process: avoid kernel bug with starting Windows Store apps, 2023-09-27) from libuv PR 4152. Fixes: #23029 Patch-by: Jameson Nash <vtjnash@gmail.com>
* libuv: Use SIGCHLD in bootstrap modeKyle Edwards2023-08-211-1/+3
|
* libuv: Compile as C11 on all Solaris versionsBrad King2023-08-181-11/+5
| | | | | Using `_XOPEN_SOURCE=600` on Solaris 5.10, as we do on Solaris 5.11+ already, allows the system headers to be included in C99 and C11 modes.
* libuv: Remove unused compatibility code for CMake < 3.9Brad King2023-08-181-8/+0
| | | | We now require CMake 3.13 or higher anyway.
* libuv: win,spawn: allow %PATH% to be unsetKyle Edwards2023-08-181-16/+13
| | | | | | | Backport libuv commit `c97017dd` (win,spawn: allow `%PATH%` to be unset, 2023-08-14). See https://github.com/libuv/libuv/pull/4116.
* libuv: Precompile common expensive headersClemens Wasser2023-06-221-0/+4
|
* libuv: Suppress clang-analyzer warningsBrad King2023-05-222-0/+10
|
* libuv: Update CMake-internal buildsystem for 1.44.2Brad King2022-09-273-0/+10
|
* Merge branch 'upstream-libuv' into update-libuvBrad King2022-09-2752-1409/+2516
| | | | | * upstream-libuv: libuv 2022-07-12 (0c1fa696)
* Utilities: Suppress warnings in third-party code with IBMClangAaron Liu2022-01-271-1/+1
|
* libuv: add cast to pass sockaddr_storage as sockaddr on windowsBrad King2022-01-131-1/+1
| | | | Tell the compiler the structs are layout-compatible.
* Merge branch 'upstream-libuv' into update-libuvBrad King2022-01-1321-914/+169
| | | | | | # By libuv upstream * upstream-libuv: libuv 2022-01-13 (2fbfa035)
* libuv: Fix clang-analyzer deadcode.DeadStores warning on LinuxBrad King2021-11-171-1/+2
|
* libuv: Convert C++-style comment to C-styleBrad King2021-11-171-1/+1
|
* libuv: Update CMake-internal buildsystemBrad King2021-11-171-0/+1
|
* libuv: Update uv__fs_copy_file_range signature in cmake-bootstrap.cBrad King2021-11-171-2/+2
|
* Merge branch 'upstream-libuv' into update-libuvBrad King2021-11-1758-1256/+2005
| | | | | * upstream-libuv: libuv 2021-11-09 (0f696da5)
* libuv: Build unix tcp support during CMake bootstrapBrad King2021-11-171-17/+0
| | | | | | Using the real `tcp.c` simplifies `cmake-bootstrap.c`, and its implementation doesn't seem to require any of the platform-specific definitions. Also, later it will be needed for `uv_socketpair`.
* LCC: Add dedicated support for MCST LCC compilermakise-homura2021-10-152-2/+2
| | | | | | | | | | | | | | | | | | | | | Divert LCC compiler as a new one, instead of treating it as GNU. Since old times, Elbrus C/C++/Fortran Compiler (LCC) by MCST has been passing checks for GNU compilers, so it has been identified as GNU. Now, with intent of seriously upstreaming its support, it has been added as a separate LCC compiler, and its version displays not a supported GCC version, but LCC version itself (e.g. LCC 1.25.19 instead of GNU 7.3.0). This commit adds its support for detection, and also converts basically every check like 'is this compiler GNU?' to 'is this compiler GNU or LCC?'. The only places where this check is untouched, is where it regards other platforms where LCC is unavailable (primarily non-Linux), and where it REALLY differs from GNU compiler. Note: this transition may break software that are already ported to Elbrus, but hardly relies that LCC will be detected as GNU; still such software is not known.
* libuv: Include BSD sys/cpuset.h only on platforms where we use itBrad King2021-09-291-2/+5
| | | | | | Since commit 43d6e5a71f (libuv: misc: add function to get CPU affinity mask size, 2017-09-06, v3.12.0-rc1~412^2~3) we include `<sys/cpuset.h>` on several BSD platforms but only use it on FreeBSD.
* Merge topic 'libuv-mingw-arm'Brad King2021-07-191-2/+6
|\ | | | | | | | | | | | | 1aba3a8367 libuv: Fix building with mingw toolchains for ARM/AArch64 Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6354
| * libuv: Fix building with mingw toolchains for ARM/AArch64Martin Storsjö2021-07-151-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a backport of f9ad802fa5dd5afe6730f8e00cfdbf98f1d7a969 from the v1.x branch from upstream libuv: mingw: fix building for ARM/AArch64 Don't use x86 inline assembly in these cases, but fall back to __sync_fetch_and_or, similar to _InterlockedOr8 in the MSVC case. This corresponds to what is done in src/unix/atomic-ops.h, where ARM/AArch64 cases end up implementing cmpxchgi with __sync_val_compare_and_swap. PR-URL: https://github.com/libuv/libuv/pull/3236 Reviewed-By: Jameson Nash <vtjnash@gmail.com>
* | libuv: Allow windows UNC path with forward slashesearnal2021-07-121-1/+4
|/ | | | | | | Fix libuv issue 3159 in CMake while integration in upstream libuv is pending. Fixes: #22141
* MSYS: Add support for running under MSYS runtime environmentOrgad Shaneh2021-04-261-1/+1
| | | | Detect MSYS as CYGWIN, with the required adaptations.
* Utilities: Suppress warnings in third-party code with NVHPCBrad King2021-04-201-1/+1
|
* Utilities: Suppress warnings in third-party code when using IntelLLVMBrad King2021-01-281-1/+1
|
* libuv: Add support for building for QNX within CMakeElad Lahav2020-09-251-0/+18
|
* libuv: Suppress conversion warning on WindowsBrad King2020-09-231-1/+1
| | | | | Add a cast to avoid the conversion warning with minimal changes to third-party code.
* libuv: Add fs_copy stub to cmake-bootstrap.cBrad King2020-09-231-0/+8
| | | | | This is now called by `uv__fs_sendfile` in `src/unix/fs.c` but we do not need that feature during CMake bootstrap.
* Merge branch 'upstream-libuv' into update-libuvBrad King2020-09-2348-536/+1594
| | | | | * upstream-libuv: libuv 2020-09-22 (ed5b42d5)
* bootstrap: Fix libuv target platform conditions on macOSBrad King2020-07-221-0/+3
| | | | | | | | | In commit 714ce72882 (bootstrap: Make libuv available during bootstrap, 2017-09-13, v3.10.0-rc1~106^2) we modified libuv to use POSIX interfaces during bootstrap. However, some code still expects `TARGET_OS_IPHONE` to be defined on Apple platforms to either `0` or `1`. In order to offer this, include `<TargetConditionals.h>` on Apple platforms even when bootstrapping.
* libuv: Add proctitle and threadpool cleanup stubs to cmake-bootstrap.cBrad King2020-04-291-0/+6
| | | | | These are now called by `uv_library_shutdown` in `src/uv-common.c` but on UNIX we do not compile those features during CMake bootstrap.
* Merge branch 'upstream-libuv' into update-libuvBrad King2020-04-2931-377/+836
| | | | | * upstream-libuv: libuv 2020-04-29 (e7ebae26)
* libuv: Restore compilation on Apple i386 architectureBrad King2020-04-071-1/+1
| | | | | | | libuv upstream commit `2475296c` (build: make code compilable for iOS on Xcode, 2020-01-18, v1.35.0~47) added a `defined(TARGET_OS_IPHONE)` preprocessor condition, but `TARGET_OS_IPHONE` is always defined on Apple to either 0 or 1.
* libuv: Restore compilation with XLClang 16.1 on AIXBrad King2020-04-071-0/+6
| | | | | | | | | | | | | libuv upstream commit `4a972bf0` (aix: Fix broken cmpxchgi() XL C++ specialization., 2019-09-06, v1.32.0~5) broke compilation with this compiler. According to https://www.ibm.com/support/knowledgecenter/SSGH3R_16.1.0/com.ibm.xlcpp161.aix.doc/migrate/migrate_to_xlclang.html XLClang 16.1 for AIX does not support `__sync_val_compare_and_swap`. The documentation suggests using C++11 atomic operations instead, but this is C code. For now fall back to the non-atomic equivalent used before so we can at least compile. Add a FIXME comment for this.
* Merge branch 'upstream-libuv' into update-libuvBrad King2020-04-0667-1497/+3984
| | | | | * upstream-libuv: libuv 2020-04-06 (d21f5aea)
* libuv: Add support for building on IBM i (OS400)Jesse Gorzinski2020-03-061-0/+19
|
* libuv: Add partial port to HP-UXEarle Lowe2019-09-208-4/+67
| | | | | Port enough of libuv to HP-UX 11.31 ia64 with GCC 4.9.3 to work for CMake.
* 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
|