From 0cbee1b475710a247c20d772699f10cf9d2badc9 Mon Sep 17 00:00:00 2001 From: Paul Smith Date: Sun, 26 Jun 2022 16:33:30 -0400 Subject: [PATCH] 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. --- bootstrap.conf | 6 +++++- configure.ac | 4 ++-- src/misc.c | 8 ++++++++ 3 files changed, 15 insertions(+), 3 deletions(-) diff --git a/bootstrap.conf b/bootstrap.conf index f55ad6a6..2543748b 100644 --- a/bootstrap.conf +++ b/bootstrap.conf @@ -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" diff --git a/configure.ac b/configure.ac index da6d6a5f..bb2eb331 100644 --- a/configure.ac +++ b/configure.ac @@ -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 \ diff --git a/src/misc.c b/src/misc.c index 624cd058..ae9fae68 100644 --- a/src/misc.c +++ b/src/misc.c @@ -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 +#endif