diff --git a/configure.ac b/configure.ac index d6446a0..c759d4e 100644 --- a/configure.ac +++ b/configure.ac @@ -309,6 +309,7 @@ AC_CHECK_FUNCS([\ ]) need_arc4random=yes +need_bsd_getopt=yes need_md5=yes need_nlist=yes need_strl=yes @@ -330,6 +331,7 @@ AS_CASE([$host_os], # On macOS these are provided by the system, and libbsd has never built # there, so we can avoid providing these with no ABI breakage. need_arc4random=no + need_bsd_getopt=no need_transparent_libmd=no need_md5=no need_nlist=no @@ -345,6 +347,7 @@ AS_CASE([$host_os], AM_CONDITIONAL([HAVE_GETENTROPY], [test "x$ac_cv_func_getentropy" = "xyes"]) AM_CONDITIONAL([NEED_ARC4RANDOM], [test "x$need_arc4random" = "xyes"]) +AM_CONDITIONAL([NEED_BSD_GETOPT], [test "x$need_bsd_getopt" = "xyes"]) AM_CONDITIONAL([NEED_TRANSPARENT_LIBMD], [test "x$need_transparent_libmd" = "xyes"]) AM_CONDITIONAL([NEED_MD5], [test "x$need_md5" = "xyes"]) AM_CONDITIONAL([NEED_NLIST], [test "x$need_nlist" = "xyes"]) diff --git a/include/bsd/unistd.h b/include/bsd/unistd.h index 20b0993..f246ac5 100644 --- a/include/bsd/unistd.h +++ b/include/bsd/unistd.h @@ -47,6 +47,7 @@ #endif __BEGIN_DECLS +#if !defined(__APPLE__) extern int optreset; #ifdef LIBBSD_OVERLAY @@ -55,6 +56,7 @@ extern int optreset; #endif int bsd_getopt(int argc, char * const argv[], const char *shortopts); +#endif mode_t getmode(const void *set, mode_t mode); void *setmode(const char *mode_str); diff --git a/src/Makefile.am b/src/Makefile.am index c02561e..3e26159 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -75,7 +75,6 @@ EXTRA_libbsd_la_DEPENDENCIES += \ # EOL endif libbsd_la_SOURCES = \ - bsd_getopt.c \ closefrom.c \ dehumanize_number.c \ err.c \ @@ -116,6 +115,12 @@ libbsd_la_SOURCES = \ wcslcpy.c \ # EOL +if NEED_BSD_GETOPT +libbsd_la_SOURCES += \ + bsd_getopt.c \ + # EOL +endif + if NEED_ARC4RANDOM if !HAVE_GETENTROPY libbsd_la_SOURCES += \