David Adam
e59d164658
Drop unused configure checks
...
All of these checks are handled in external crates now.
2024-01-13 21:15:24 +08:00
Johannes Altmanninger
55fd43d86c
Port reader
2024-01-07 00:54:22 +01:00
Johannes Altmanninger
f3dd8d306f
Port make_autoclose_pipes, fd_event_signaller_t
...
This allows to get rid of the C++ autoclose_fd_t.
2023-12-10 14:35:43 +01:00
David Adam
f2f41c6eec
drop unused functions and configure checks
...
Remove the following C++ functions/methods, which have no callers:
common.cpp:
- read_loop
- narrow_string_safe
- escape_string_for_double_quotes
- read_unquoted_escape
- format_size
- format_size_safe
- valid_func_name
- get_executable_path
env.cpp:
- env_stack_t::set_empty
- env_stack_t::set_argv
fallback.cpp:
- fish_mkstemp_cloexec
- flock
proc_util.cpp:
- parse_util_slice_length
- parse_util_argument_is_help
path.cpp:
- path_get_path
- path_as_implicit_cd
- path_apply_working_directory
- path_emit_config_directory_messages
- path_get_data_remoteness
- path_get_config_remoteness
- path_is_valid
- paths_are_same_file
wcstringutil.cpp:
- split_string_tok
wutil.cpp:
- wgetcwd
- wunlink
- wrealpath
- wrename
- file_id_for_path
- fish_wcstoull
Also drop unused configure checks/defines:
- HAVE_FLOCK
2023-11-26 22:35:51 +08:00
David Adam
861da91bf1
drop unused functions and configure checks
...
Remove the following C++ functions/methods, which have no callers:
fallback.cpp:
- wcstod_l
proc.cpp:
- job_t::get_processes
wutil.cpp:
- fish_wcstoll
- fish_wcstoull
Also drop unused configure checks/defines:
- HAVE_WCSTOD_L
- HAVE_USELOCALE
2023-07-14 20:48:56 +08:00
Fabian Boehm
5e0f5eff37
Remove wcsdup fallback
...
2a0e0d6721
removed the last use of it,
and in most cases we'd probably prefer to use a wcstring instead
2022-08-27 11:36:15 +02:00
Fabian Boehm
bcd84c6908
Check for waitstatus orientation via cmake
...
Yeah we need the long way around because old glibc versions have weird WEXITSTATUS.
2022-07-24 16:40:33 +02:00
Fabian Homborg
d751b00504
Remove getifaddrs check
...
Not used anymore
2022-03-17 18:15:11 +01:00
Fabian Homborg
03c188086c
Remove wcsndup and wcslcpy
...
We no longer use these anywhere.
2022-03-17 18:15:11 +01:00
Fabian Homborg
8dc3982408
Always use LC_NUMERIC=C internally ( #8204 )
...
In most cases, like math, we want C-semantics for floating point
numbers. In particular "." needs to be the decimal separator.
Instead, we pay the price in printf, which is currently the sole place
to output in locale-specific numbers and attempt to read them and
C-style ones.
2021-10-13 21:09:40 +02:00
Aaron Gyes
f9def20180
Update ConfigureChecks, only do the mtime hack for Linux.. on Linux
...
- Only check for HAVE_CLOCK_GETTIME and HAVE_FUTIMENS on Linux, since
they are only used to implement a Linux-specific workaround related
to mtime precision.
- Make sure that hack is limited to Linux builds
- HAVE_SYS_SYSCTL_H was unused, but we should have been using it
- HAVE_TERMIOS_H was unused, remove it
The only functional change is that unix machines with clock_gettime
and futimens will not bother with a Linux-specific hack, and won't
waste time checking for either during cmake configuration either.
2021-10-02 17:02:53 -07:00
Aaron Gyes
3fd2da951e
remove unused futimes check
2021-09-28 22:02:14 -07:00
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