dnl We do this in multiple stages, because unlike Linux all the other operating systems really suck and don't include their own dependencies.
AC_HEADER_STDC
-AC_CHECK_HEADERS([stdbool.h syslog.h sys/file.h sys/ioctl.h sys/mman.h sys/param.h sys/resource.h sys/socket.h sys/time.h sys/uio.h sys/un.h sys/wait.h netdb.h arpa/inet.h dirent.h])
+AC_CHECK_HEADERS([stdbool.h syslog.h sys/file.h sys/ioctl.h sys/mman.h sys/param.h sys/resource.h sys/socket.h sys/time.h sys/uio.h sys/un.h sys/wait.h netdb.h arpa/inet.h dirent.h getopt.h])
AC_CHECK_HEADERS([net/if.h net/if_types.h linux/if_tun.h net/if_tun.h net/tun/if_tun.h net/if_tap.h net/tap/if_tap.h net/ethernet.h net/if_arp.h netinet/in_systm.h netinet/in.h netinet/in6.h time.h netpacket/packet.h],
[], [], [#include "$srcdir/src/have.h"]
)
[], [], [#include "$srcdir/src/have.h"]
)
+AC_CHECK_FUNC(getopt_long, [getopt=true; AC_DEFINE(HAVE_GETOPT_LONG, 1, [getopt_long()])], [getopt=false])
+AM_CONDITIONAL(GETOPT, test "$getopt" = true)
+
dnl Support for SunOS
AC_CHECK_FUNC(socket, [], [
fake-gai-errnos.h \
fake-getaddrinfo.c fake-getaddrinfo.h \
fake-getnameinfo.c fake-getnameinfo.h \
- getopt.c getopt.h \
- getopt1.c \
graph.c graph.h \
hash.c hash.h \
have.h \
$(chacha_poly1305_SOURCES)
## Conditionally compile device drivers
-
+
+if !GETOPT
+tincd_SOURCES += \
+ getopt.c getopt.h \
+ getopt1.c
+tinc_SOURCES += \
+ getopt.c getopt.h \
+ getopt1.cendif
+sptps_test_SOURCES += \
+ getopt.c getopt.h \
+ getopt1.c
+sptps_keypair_SOURCES += \
+ getopt.c getopt.h \
+ getopt1.c
+endif
+
if LINUX
tincd_SOURCES += linux/device.c
endif