bootstrap: Remove strtoll()

This pulls in entirely too much stuff we don't need.  Instead grab
just the gnulib source file, then include it in src/misc.c.

* bootstrap.conf: Add just the lib/strtol.c source file.
* configure.ac: Check for strtoll.
* src/misc.c: Include strtol.c, with QUAD set, if needed.
This commit is contained in:
Paul Smith 2022-06-26 16:33:30 -04:00
parent d63925d863
commit 0cbee1b475
3 changed files with 15 additions and 3 deletions

View file

@ -46,6 +46,11 @@ automake 1.16.1
gnulib_name=libgnu
gnulib_files=doc/make-stds.texi
# Using the full strtoll module pulls in a lot of stuff. But, it's pretty
# simple to use just the base source file, so pull that. We'll use it in
# src/misc.c if strtoll() is not found.
gnulib_files="$gnulib_files lib/strtol.c"
gnulib_modules="\
alloca
fdl
@ -53,5 +58,4 @@ findprog-in
getloadavg
host-cpu-c-abi
strerror
strtoll
make-glob"

View file

@ -133,8 +133,8 @@ AS_IF([test "$ac_cv_func_gettimeofday" = yes],
[Define to 1 if you have a standard gettimeofday function])
])
AC_CHECK_FUNCS([strdup strndup memrchr mempcpy umask mkstemp mktemp fdopen \
dup dup2 getcwd realpath sigsetmask sigaction \
AC_CHECK_FUNCS([strtoll strdup strndup memrchr mempcpy umask mkstemp mktemp \
fdopen dup dup2 getcwd realpath sigsetmask sigaction \
getgroups seteuid setegid setlinebuf setreuid setregid \
getrlimit setrlimit setvbuf pipe strsignal \
lstat readlink atexit isatty ttyname pselect posix_spawn \

View file

@ -883,3 +883,11 @@ mempcpy (void *dest, const void *src, size_t n)
return (char *) memcpy (dest, src, n) + n;
}
#endif
#if !HAVE_STRTOLL
# undef UNSIGNED
# undef USE_NUMBER_GROUPING
# undef USE_WIDE_CHAR
# define QUAD 1
# include <strtol.c>
#endif