summaryrefslogtreecommitdiff
path: root/gnulib/m4/getdomainname.m4
diff options
context:
space:
mode:
Diffstat (limited to 'gnulib/m4/getdomainname.m4')
m---------gnulib0
-rw-r--r--gnulib/m4/getdomainname.m4104
2 files changed, 104 insertions, 0 deletions
diff --git a/gnulib b/gnulib
deleted file mode 160000
-Subproject 443bc5ffcf7429e557f4a371b0661abe98ddbc1
diff --git a/gnulib/m4/getdomainname.m4 b/gnulib/m4/getdomainname.m4
new file mode 100644
index 0000000..07b60a6
--- /dev/null
+++ b/gnulib/m4/getdomainname.m4
@@ -0,0 +1,104 @@
+# getdomainname.m4 serial 9
+dnl Copyright (C) 2002-2003, 2008-2011 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+AC_DEFUN([gl_FUNC_GETDOMAINNAME],
+[
+ AC_REQUIRE([gl_UNISTD_H_DEFAULTS])
+ AC_REQUIRE([gl_HEADER_SYS_SOCKET])dnl for HAVE_SYS_SOCKET_H
+ AC_REQUIRE([gl_HEADER_NETDB])dnl for HAVE_NETDB_H
+
+ dnl Persuade glibc <unistd.h> to declare getdomainname().
+ AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])
+
+ dnl Where is getdomainname() defined?
+ dnl - On Solaris, it is in libnsl. But this function is not declared and
+ dnl is discouraged, see
+ dnl <http://www.sun.com/software/solaris/programs/abi/appcert_faq.xml#q18>.
+ dnl We need to avoid a collision with this function.
+ dnl - Otherwise it is in libc.
+ AC_CHECK_FUNCS([getdomainname], , [
+ AC_CACHE_CHECK([for getdomainname in -lnsl],
+ [gl_cv_func_getdomainname_in_libnsl],
+ [gl_cv_func_getdomainname_in_libnsl=no
+ gl_save_LIBS="$LIBS"
+ LIBS="$LIBS -lnsl"
+ AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[#include <stddef.h>
+ extern
+ #ifdef __cplusplus
+ "C"
+ #endif
+ int getdomainname (char *, size_t);
+ ]],
+ [[getdomainname(NULL, 0);]])],
+ [gl_cv_func_getdomainname_in_libnsl=yes])
+ LIBS="$gl_save_LIBS"
+ ])
+ ])
+
+ dnl What about the declaration?
+ dnl - It's int getdomainname(char *, size_t) on glibc, NetBSD, OpenBSD.
+ dnl - It's int getdomainname(char *, int) on MacOS X, FreeBSD, AIX, IRIX,
+ dnl OSF/1.
+ AC_CHECK_DECLS([getdomainname], , ,
+ [[#include <sys/types.h>
+ #ifdef HAVE_SYS_SOCKET_H
+ #include <sys/socket.h>
+ #endif
+ #ifdef HAVE_NETDB_H
+ #include <netdb.h>
+ #endif
+ #include <unistd.h>
+ ]])
+ AC_CACHE_CHECK([for getdomainname's second argument type],
+ [gl_cv_decl_getdomainname_argtype2],
+ [if test $ac_cv_have_decl_getdomainname; then
+ AC_COMPILE_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[#include <sys/types.h>
+ #ifdef HAVE_SYS_SOCKET_H
+ #include <sys/socket.h>
+ #endif
+ #ifdef HAVE_NETDB_H
+ #include <netdb.h>
+ #endif
+ #include <unistd.h>
+ extern
+ #ifdef __cplusplus
+ "C"
+ #endif
+ int getdomainname (char *, int);
+ ]],
+ [[]])],
+ [gl_cv_decl_getdomainname_argtype2='int'],
+ [gl_cv_decl_getdomainname_argtype2='size_t'])
+ else
+ gl_cv_decl_getdomainname_argtype2='int'
+ fi
+ ])
+
+ if test $ac_cv_have_decl_getdomainname = no; then
+ HAVE_DECL_GETDOMAINNAME=0
+ fi
+
+ if { test $ac_cv_func_getdomainname = yes \
+ && test $gl_cv_decl_getdomainname_argtype2 != size_t; \
+ } \
+ || test "$gl_cv_func_getdomainname_in_libnsl" = yes; then
+ REPLACE_GETDOMAINNAME=1
+ fi
+])
+
+# Prerequisites of lib/getdomainname.c.
+AC_DEFUN([gl_PREREQ_GETDOMAINNAME], [
+ if test $ac_cv_func_getdomainname = yes; then
+ AC_DEFINE([HAVE_GETDOMAINNAME], [1],
+ [Define if the getdomainname() function is present and can be used.])
+ fi
+ AC_CHECK_HEADERS([sys/systeminfo.h])
+ AC_CHECK_FUNCS([sysinfo])
+])