mirror of
https://github.com/tmux/tmux.git
synced 2024-12-04 19:58:48 +00:00
getopt varies too much between platforms, and we already use compat/getopt.c
for Linux so just use it everywhere.
This commit is contained in:
parent
444e9f3c58
commit
b21a9b1c4e
2
compat.h
2
compat.h
@ -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 */
|
||||
|
40
configure.ac
40
configure.ac
@ -125,6 +125,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,
|
||||
@ -424,40 +430,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
|
||||
|
Loading…
Reference in New Issue
Block a user