summaryrefslogtreecommitdiffstats
path: root/m4/os.m4
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-15 18:02:34 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-15 18:02:34 +0000
commitfadeddfbb2aa38a980dd959b5ec1ffba7afd43cb (patch)
treea7bde6111c84ea64619656a38fba50909fa0bf60 /m4/os.m4
parentInitial commit. (diff)
downloadlldpd-fadeddfbb2aa38a980dd959b5ec1ffba7afd43cb.tar.xz
lldpd-fadeddfbb2aa38a980dd959b5ec1ffba7afd43cb.zip
Adding upstream version 1.0.18.upstream/1.0.18upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'm4/os.m4')
-rw-r--r--m4/os.m453
1 files changed, 53 insertions, 0 deletions
diff --git a/m4/os.m4 b/m4/os.m4
new file mode 100644
index 0000000..21be3d8
--- /dev/null
+++ b/m4/os.m4
@@ -0,0 +1,53 @@
+#
+# lldp_CHECK_OS
+#
+# List of supported OS.
+#
+AC_DEFUN([lldp_DEFINE_OS], [dnl
+ case $host_os in
+ $1)
+ os="$2"
+ AC_DEFINE_UNQUOTED(HOST_OS_$3, 1, [Host operating system is $2])
+ ;;
+ esac
+ AM_CONDITIONAL(HOST_OS_$3, test x"$os" = x"$2")dnl
+])
+
+AC_DEFUN([lldp_CHECK_OS], [
+ AC_CANONICAL_HOST
+ AC_MSG_CHECKING([if host OS is supported])
+
+ lldp_DEFINE_OS(linux*, Linux, LINUX)
+ lldp_DEFINE_OS(freebsd*|kfreebsd*, FreeBSD, FREEBSD)
+ lldp_DEFINE_OS(dragonfly*, [DragonFly BSD], DRAGONFLY)
+ lldp_DEFINE_OS(openbsd*, OpenBSD, OPENBSD)
+ lldp_DEFINE_OS(netbsd*, NetBSD, NETBSD)
+ lldp_DEFINE_OS(darwin*, macOS, OSX)
+ lldp_DEFINE_OS(solaris*, Solaris, SOLARIS)
+
+ if test x"$os" = x; then
+ AC_MSG_RESULT(no)
+ AC_MSG_ERROR([*** unsupported OS $host_os])
+ fi
+ AC_MSG_RESULT([yes ($os)])
+])
+
+# Enable some additional CFLAGS depending on the OS
+AC_DEFUN([lldp_CFLAGS_OS], [
+ # Most of what we want can be enabled nowadays with _GNU_SOURCE
+ AX_CFLAGS_GCC_OPTION([-D_GNU_SOURCE], [LLDP_CPPFLAGS]) dnl GNU systems (asprintf, ...)
+
+ case $host_os in
+ solaris*)
+ AX_CFLAGS_GCC_OPTION([-D__EXTENSIONS__], [LLDP_CPPFLAGS]) dnl (CMSG_*)
+ AX_CFLAGS_GCC_OPTION([-D_XPG4_2], [LLDP_CPPFLAGS]) dnl (CMSG_*)
+ ;;
+ hpux*)
+ AX_CFLAGS_GCC_OPTION([-D_XOPEN_SOURCE=500], [LLDP_CPPFLAGS]) dnl HP-UX
+ AX_CFLAGS_GCC_OPTION([-D_XOPEN_SOURCE_EXTENDED], [LLDP_CPPFLAGS]) dnl HP-UX
+ ;;
+ netbsd*)
+ AX_CFLAGS_GCC_OPTION([-D_OPENBSD_SOURCE], [LLDP_CPPFLAGS]) dnl strtonum
+ ;;
+ esac
+])