diff options
-rw-r--r-- | compat.h | 2 | ||||
-rw-r--r-- | configure.ac | 40 |
2 files changed, 6 insertions, 36 deletions
@@ -370,7 +370,6 @@ int utf8proc_mbtowc(wchar_t *, const char *, size_t); int utf8proc_wctomb(char *, wchar_t); #endif -#ifndef HAVE_GETOPT /* getopt.c */ extern int BSDopterr; extern int BSDoptind; @@ -384,6 +383,5 @@ int BSDgetopt(int, char *const *, const char *); #define optopt BSDoptopt #define optreset BSDoptreset #define optarg BSDoptarg -#endif #endif /* COMPAT_H */ diff --git a/configure.ac b/configure.ac index 74600233..e29ebdc7 100644 --- a/configure.ac +++ b/configure.ac @@ -128,6 +128,12 @@ AC_FUNC_STRNLEN # Look for clock_gettime. Must come before event_init. AC_SEARCH_LIBS(clock_gettime, rt) +# Always use our getopt because 1) glibc's doesn't enforce argument order 2) +# musl does not set optarg to NULL for flags without arguments (although it is +# not required to, but it is helpful) 3) there are probably other weird +# implementations. +AC_LIBOBJ(getopt) + # Look for libevent. PKG_CHECK_MODULES( LIBEVENT, @@ -427,40 +433,6 @@ else AC_LIBOBJ(unvis) fi -# Look for getopt. glibc's getopt does not enforce argument order and the ways -# of making it do so are stupid, so just use our own instead. -AC_CHECK_FUNC(getopt, found_getopt=yes, found_getopt=no) -if test "x$found_getopt" != xno; then - AC_MSG_CHECKING(if getopt is suitable) - AC_EGREP_CPP( - yes, - [ - #include <features.h> - #ifdef __GLIBC__ - yes - #endif - ], - [ - found_getopt=no - AC_MSG_RESULT(no) - ], - AC_MSG_RESULT(yes)) -fi -if test "x$found_getopt" != xno; then - AC_CHECK_DECLS( - [optarg, optind, optreset], - , - found_getopt=no, - [ - #include <unistd.h> - ]) -fi -if test "x$found_getopt" != xno; then - AC_DEFINE(HAVE_GETOPT) -else - AC_LIBOBJ(getopt) -fi - # Look for fdforkpty and forkpty in libutil. AC_SEARCH_LIBS(fdforkpty, util, found_fdforkpty=yes, found_fdforkpty=no) if test "x$found_fdforkpty" = xyes; then |