Fabian Homborg
82a809e2db
Check for tputs type via cmake
...
Instead of testing for ncurses and netbsd.
Fixes #8087 .
2021-09-23 10:41:54 +02:00
Fabian Homborg
d4f7e25584
Replace strerror/sys_errlist after fork with our own errors ( #8234 )
...
* Remove safe_strerror, safe_perror and safe_append
This no longer works on new glibcs because they removed sys_errlist.
So just hardcode the relevant errno messages (and phrase them better).
Fixes #4183 .
Co-authored-by: Johannes Altmanninger <aclopte@gmail.com>
2021-08-20 17:17:01 +02:00
ridiculousfish
8066428feb
Add fd_event_signaller_t
...
fd_event_signaller_t exists to expose eventfd under Linux. This is a
more lightweight way of signalling events than using a pipe.
2021-02-07 10:59:10 -08:00
Mahmoud Al-Qudsi
b385772a84
fixup! Explicitly annotate intentional switch fallthrough
...
<manual git patch editing failure>
2021-02-06 17:17:30 -06:00
Mahmoud Al-Qudsi
ea1a4b7932
Explicitly annotate intentional switch fallthrough
...
This silences a very useful warning in GCC 10.
2021-02-06 17:03:23 -06:00
ridiculousfish
b79ec0122a
Use pipe2 when creating pipes if avaialble
...
This allows us to avoid marking the pipe as CLOEXEC in some cases,
saving a system call.
2021-02-05 17:58:08 -08:00
Fabian Homborg
8087f603ad
Stub out __has_attribute if not defined
...
Otherwise compilers that don't even have __has_attribute fail.
Fixes #7554
2020-12-16 17:06:48 +01:00
ridiculousfish
364c6001dc
Introduce __warn_unused_type
...
This is like __warn_unused, but it says that any time this type is
returned from a function it must be used. This will help enforce error
handling.
2020-12-13 16:05:54 -08:00
Mahmoud Al-Qudsi
1365379518
Optimize away a str2wcs_internal check
...
str2wcs_internal is one of worst hot paths in the codebase, and this
particular check can be optimized away for non-macOS hosts at compile
time.
2020-09-07 18:05:18 -05:00
ridiculousfish
7ea396ab3f
Remove lrand48 checks and support
...
lrand48 is no longer used.
2020-07-08 11:00:12 -07:00
ridiculousfish
84e0c8d32e
Guard thread_local
...
Mac OS X 10.9 supports __thread but not C++11 thread_local.
Teach CMake to detect support for thread_local and use the proper
define guard.
Fixes #7023
2020-05-22 13:41:05 -07:00
Maya Rashish
934f708ef6
cmake: adjust logic for TPARM_VARARGS
...
- Define it before the headers so they can pick the variadic tparm
prototype.
- We need a TPARM_VARARGS define, add it to config_cmake.h.
- Move & adjust comment - put it near the code, and mentiont that
NetBSD curses doesn't need the kludge.
Now variadic tparm is used on NetBSD instead of the Solaris kludge.
2020-02-20 18:14:54 +01:00
ridiculousfish
87854c81f5
Allow C++ standard to be passed to CHECK_CXX_SOURCE_COMPILES
...
Work around the issue in CMake where C++ standard doesn't get propagated
to CHECK_CXX_SOURCE_COMPILES. Also correctly check for std::make_unique;
the define was missing from the config.h header.
2019-12-22 12:07:46 -08:00
Jason
3cf6ebc0e1
Amend typos and grammar errors
2019-11-25 13:07:15 +01:00
Aaron Gyes
5fa9fb52aa
config_make.h.in: remove __sentinel
...
We haven't used this attribute for a while
2019-10-22 16:27:58 -07:00
ridiculousfish
fd5d8c1949
Remove __packed
...
We can use the new C++11 enum type feature to stop using this non-portable
__packed.
2019-08-10 16:04:05 -07:00
David Adam
665ae3787a
Switch to runtime check for /proc/self/stat
...
Removes a compile-time check that may have affected cross-compilation.
Work on #1067 .
2019-04-30 16:23:28 +08:00
ridiculousfish
b6555a0dc4
Add print-rusage-self to fish
...
This adds an option --print-rusage-self to the fish executable. When set,
this option prints some getrusage stats to the console in a human-readable
way. This will be used by upcoming benchmarking support.
2019-04-10 14:33:45 -07:00
Mahmoud Al-Qudsi
462cb6044c
Use standard __CYGWIN__ define for Cygwin detection
2019-01-21 20:06:16 -06:00
Mahmoud Al-Qudsi
2bb53f7253
Fix locale_t
under macOS 10.10
...
`xlocale.h` is not available on Linux, so we can't just universally
include it.
`HAVE_XLOCALE_H` was already being tested/set in the CMake script as a
possible requirement for `wcstod_l` support, this just adds it to
`config_cmake_h.in` and uses it in `wutil.h` to gate the include.
2019-01-10 20:03:38 -06:00
Mahmoud Al-Qudsi
d1913f0df0
Add workaround for Cygwin process management and job control bugs
...
We cannot wait by pgroup under Cygwin for unknown reasons. Always
wait on jobs by individual processes. See code for more information.
2019-01-02 00:14:07 -06:00
Fabian Homborg
7078aa4642
cmake: Add missing HAVE_WCSTOD_L #cmakedefine
...
Turns out we've been using the fallback everywhere.
See #5453 .
2018-12-31 10:09:47 +01:00
David Adam
d6e315d25d
cmake: define _GNU_SOURCE
...
Fixes the build on Cygwin. Analogous to AC_USE_SYSTEM_EXTENSIONS under Autoconf.
Closes #5423 .
2018-12-20 21:36:01 +08:00
Aaron Gyes
f2a829aa23
Direct people to github to report bugs.
2018-12-11 02:47:34 -08:00
Mahmoud Al-Qudsi
000892e315
Use constexpr for is_windows_subsystem_for_linux()
...
To guarantee that at runtime there will be no branching, using a CMAKE
test/define combined with a constexpr wrapper for code-friendliness.
2018-03-04 21:13:31 -06:00
Mahmoud Al-Qudsi
a95a83b140
[cmake] Add missing HAVE_CURSES_H #cmakedefine
2018-02-04 03:11:22 -06:00
David Adam
ce46c80492
cmake: restore check for fixed-args tparm ("Solaris tparm kludge")
2017-11-22 18:58:27 +08:00
David Adam
64194d02fc
cmake: correct configure check for _nl_msg_cat_cntr
2017-11-17 16:21:56 +08:00
David Adam
32714021f5
cmake: add gettext support
2017-11-17 16:21:56 +08:00
David Adam
2f289ce097
cmake: drop unneeded checks
...
Much cruft brought across from autoconf is removed.
2017-11-17 16:21:56 +08:00
ridiculousfish
9f8ae95b0e
Initial CMake import
...
This adds a basic CMakeLists.txt. It also adds a ConfigureChecks.cmake
and config_cmake.h.in that produces a config.h.
2017-10-14 13:11:41 -07:00