xref: /aosp_15_r20/external/libcups/config-scripts/cups-network.m4 (revision 5e7646d21f1134fb0638875d812ef646c12ab91e)
1*5e7646d2SAndroid Build Coastguard Workerdnl
2*5e7646d2SAndroid Build Coastguard Workerdnl Networking stuff for CUPS.
3*5e7646d2SAndroid Build Coastguard Workerdnl
4*5e7646d2SAndroid Build Coastguard Workerdnl Copyright 2007-2016 by Apple Inc.
5*5e7646d2SAndroid Build Coastguard Workerdnl Copyright 1997-2005 by Easy Software Products, all rights reserved.
6*5e7646d2SAndroid Build Coastguard Workerdnl
7*5e7646d2SAndroid Build Coastguard Workerdnl Licensed under Apache License v2.0.  See the file "LICENSE" for more information.
8*5e7646d2SAndroid Build Coastguard Workerdnl
9*5e7646d2SAndroid Build Coastguard Worker
10*5e7646d2SAndroid Build Coastguard WorkerAC_CHECK_HEADER(resolv.h,AC_DEFINE(HAVE_RESOLV_H),,[
11*5e7646d2SAndroid Build Coastguard Worker#include <sys/socket.h>
12*5e7646d2SAndroid Build Coastguard Worker#include <netinet/in.h>
13*5e7646d2SAndroid Build Coastguard Worker#include <arpa/inet.h>
14*5e7646d2SAndroid Build Coastguard Worker#include <netinet/in_systm.h>
15*5e7646d2SAndroid Build Coastguard Worker#include <netinet/ip.h>])
16*5e7646d2SAndroid Build Coastguard WorkerAC_SEARCH_LIBS(socket, socket)
17*5e7646d2SAndroid Build Coastguard WorkerAC_SEARCH_LIBS(gethostbyaddr, nsl)
18*5e7646d2SAndroid Build Coastguard WorkerAC_SEARCH_LIBS(getifaddrs, nsl, AC_DEFINE(HAVE_GETIFADDRS))
19*5e7646d2SAndroid Build Coastguard WorkerAC_SEARCH_LIBS(hstrerror, nsl socket resolv, AC_DEFINE(HAVE_HSTRERROR))
20*5e7646d2SAndroid Build Coastguard WorkerAC_SEARCH_LIBS(rresvport_af, nsl, AC_DEFINE(HAVE_RRESVPORT_AF))
21*5e7646d2SAndroid Build Coastguard WorkerAC_SEARCH_LIBS(__res_init, resolv bind, AC_DEFINE(HAVE_RES_INIT),
22*5e7646d2SAndroid Build Coastguard Worker	AC_SEARCH_LIBS(res_9_init, resolv bind, AC_DEFINE(HAVE_RES_INIT),
23*5e7646d2SAndroid Build Coastguard Worker	AC_SEARCH_LIBS(res_init, resolv bind, AC_DEFINE(HAVE_RES_INIT))))
24*5e7646d2SAndroid Build Coastguard Worker
25*5e7646d2SAndroid Build Coastguard Worker# Tru64 5.1b leaks file descriptors with these functions; disable until
26*5e7646d2SAndroid Build Coastguard Worker# we can come up with a test for this...
27*5e7646d2SAndroid Build Coastguard Workerif test "$host_os_name" != "osf1"; then
28*5e7646d2SAndroid Build Coastguard Worker	AC_SEARCH_LIBS(getaddrinfo, nsl, AC_DEFINE(HAVE_GETADDRINFO))
29*5e7646d2SAndroid Build Coastguard Worker	AC_SEARCH_LIBS(getnameinfo, nsl, AC_DEFINE(HAVE_GETNAMEINFO))
30*5e7646d2SAndroid Build Coastguard Workerfi
31*5e7646d2SAndroid Build Coastguard Worker
32*5e7646d2SAndroid Build Coastguard WorkerAC_CHECK_MEMBER(struct sockaddr.sa_len,,, [#include <sys/socket.h>])
33*5e7646d2SAndroid Build Coastguard WorkerAC_CHECK_HEADER(sys/sockio.h, AC_DEFINE(HAVE_SYS_SOCKIO_H))
34*5e7646d2SAndroid Build Coastguard Worker
35*5e7646d2SAndroid Build Coastguard WorkerCUPS_DEFAULT_DOMAINSOCKET=""
36*5e7646d2SAndroid Build Coastguard Worker
37*5e7646d2SAndroid Build Coastguard Workerdnl Domain socket support...
38*5e7646d2SAndroid Build Coastguard WorkerAC_ARG_WITH(domainsocket, [  --with-domainsocket     set unix domain socket name],
39*5e7646d2SAndroid Build Coastguard Worker	default_domainsocket="$withval",
40*5e7646d2SAndroid Build Coastguard Worker	default_domainsocket="")
41*5e7646d2SAndroid Build Coastguard Worker
42*5e7646d2SAndroid Build Coastguard Workerif test x$enable_domainsocket != xno -a x$default_domainsocket != xno; then
43*5e7646d2SAndroid Build Coastguard Worker	if test "x$default_domainsocket" = x; then
44*5e7646d2SAndroid Build Coastguard Worker		case "$host_os_name" in
45*5e7646d2SAndroid Build Coastguard Worker			darwin*)
46*5e7646d2SAndroid Build Coastguard Worker				# Darwin and macOS do their own thing...
47*5e7646d2SAndroid Build Coastguard Worker				CUPS_DEFAULT_DOMAINSOCKET="$localstatedir/run/cupsd"
48*5e7646d2SAndroid Build Coastguard Worker				;;
49*5e7646d2SAndroid Build Coastguard Worker			*)
50*5e7646d2SAndroid Build Coastguard Worker				# All others use FHS standard...
51*5e7646d2SAndroid Build Coastguard Worker				CUPS_DEFAULT_DOMAINSOCKET="$CUPS_STATEDIR/cups.sock"
52*5e7646d2SAndroid Build Coastguard Worker				;;
53*5e7646d2SAndroid Build Coastguard Worker		esac
54*5e7646d2SAndroid Build Coastguard Worker	else
55*5e7646d2SAndroid Build Coastguard Worker		CUPS_DEFAULT_DOMAINSOCKET="$default_domainsocket"
56*5e7646d2SAndroid Build Coastguard Worker	fi
57*5e7646d2SAndroid Build Coastguard Worker
58*5e7646d2SAndroid Build Coastguard Worker	CUPS_LISTEN_DOMAINSOCKET="Listen $CUPS_DEFAULT_DOMAINSOCKET"
59*5e7646d2SAndroid Build Coastguard Worker
60*5e7646d2SAndroid Build Coastguard Worker	AC_DEFINE_UNQUOTED(CUPS_DEFAULT_DOMAINSOCKET, "$CUPS_DEFAULT_DOMAINSOCKET")
61*5e7646d2SAndroid Build Coastguard Workerelse
62*5e7646d2SAndroid Build Coastguard Worker	CUPS_LISTEN_DOMAINSOCKET=""
63*5e7646d2SAndroid Build Coastguard Workerfi
64*5e7646d2SAndroid Build Coastguard Worker
65*5e7646d2SAndroid Build Coastguard WorkerAC_SUBST(CUPS_DEFAULT_DOMAINSOCKET)
66*5e7646d2SAndroid Build Coastguard WorkerAC_SUBST(CUPS_LISTEN_DOMAINSOCKET)
67