]>
Commit | Line | Data |
---|---|---|
2b778ceb | 1 | # Copyright (C) 1991-2021 Free Software Foundation, Inc. |
28f540f4 RM |
2 | # This file is part of the GNU C Library. |
3 | ||
4 | # The GNU C Library is free software; you can redistribute it and/or | |
41bdb6e2 AJ |
5 | # modify it under the terms of the GNU Lesser General Public |
6 | # License as published by the Free Software Foundation; either | |
7 | # version 2.1 of the License, or (at your option) any later version. | |
28f540f4 RM |
8 | |
9 | # The GNU C Library is distributed in the hope that it will be useful, | |
10 | # but WITHOUT ANY WARRANTY; without even the implied warranty of | |
11 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
41bdb6e2 | 12 | # Lesser General Public License for more details. |
28f540f4 | 13 | |
41bdb6e2 | 14 | # You should have received a copy of the GNU Lesser General Public |
59ba27a6 | 15 | # License along with the GNU C Library; if not, see |
5a82c748 | 16 | # <https://www.gnu.org/licenses/>. |
28f540f4 RM |
17 | |
18 | # | |
19 | # Sub-makefile for inet portion of the library. | |
20 | # | |
21 | subdir := inet | |
22 | ||
a5f891ac JM |
23 | include ../Makeconfig |
24 | ||
e196b7dd | 25 | headers := netinet/ether.h netinet/in.h netinet/in_systm.h \ |
d9997a45 | 26 | netinet/if_ether.h netinet/igmp.h \ |
df4ef2ab | 27 | netinet/tcp.h netinet/ip.h $(wildcard arpa/*.h protocols/*.h) \ |
76b8442d FW |
28 | aliases.h ifaddrs.h netinet/ip6.h netinet/icmp6.h bits/in.h \ |
29 | rpc/netdb.h | |
28f540f4 | 30 | |
60c96635 | 31 | routines := htonl htons \ |
3d61b63c | 32 | inet_lnaof inet_mkadr \ |
270d9d47 | 33 | inet_netof inet_ntoa inet_net herrno herrno-loc \ |
5f0e6fc7 RM |
34 | gethstbyad gethstbyad_r gethstbynm gethstbynm2 gethstbynm2_r \ |
35 | gethstbynm_r gethstent gethstent_r \ | |
7cbc6984 | 36 | getnetbyad getnetbyad_r getnetbynm getnetent getnetent_r \ |
5f0e6fc7 RM |
37 | getnetbynm_r \ |
38 | getproto getproto_r getprtent getprtent_r getprtname getprtname_r \ | |
39 | getsrvbynm getsrvbynm_r getsrvbypt getsrvbypt_r getservent \ | |
acb52792 FW |
40 | getservent_r getrpcent getrpcbyname getrpcbynumber \ |
41 | getrpcent_r getrpcbyname_r getrpcbynumber_r \ | |
6dbe2837 RM |
42 | ether_aton ether_aton_r ether_hton ether_line \ |
43 | ether_ntoa ether_ntoa_r ether_ntoh \ | |
acb52792 | 44 | rcmd rexec ruserpass bindresvport \ |
26761c28 | 45 | getnetgrent_r getnetgrent \ |
1fb05e3d | 46 | getaliasent_r getaliasent getaliasname getaliasname_r \ |
f89d6892 UD |
47 | in6_addr getnameinfo if_index ifaddrs inet6_option \ |
48 | getipv4sourcefilter setipv4sourcefilter \ | |
80d8cb91 | 49 | getsourcefilter setsourcefilter inet6_opt inet6_rth \ |
7f9f1ecb | 50 | inet6_scopeid_pton deadline idna idna_name_classify |
28f540f4 | 51 | |
acb52792 FW |
52 | install-others = $(inst_sysconfdir)/rpc |
53 | ||
773e79b3 | 54 | aux := check_pf check_native ifreq |
1dc869d1 | 55 | |
11a9c0ce | 56 | tests := htontest test_ifindex tst-ntoa tst-ether_aton tst-network \ |
d4f0720b | 57 | tst-gethnm test-ifaddrs bug-if1 test-inet6_opt tst-ether_line \ |
0abbe7cd | 58 | tst-getni1 tst-getni2 tst-inet6_rth tst-checks tst-checks-posix \ |
899478c2 | 59 | tst-sockaddr test-hnto-types tst-if_index-long |
cf0bd2f7 FW |
60 | |
61 | # tst-deadline must be linked statically so that we can access | |
62 | # internal functions. | |
63 | tests-static += tst-deadline | |
b07367bc | 64 | tests-internal += tst-deadline |
7c3018f9 | 65 | |
7f9f1ecb FW |
66 | # tst-idna_name_classify must be linked statically because it tests |
67 | # internal functionality. | |
68 | tests-static += tst-idna_name_classify | |
69 | tests-internal += tst-idna_name_classify | |
70 | ||
7c3018f9 ZW |
71 | # tst-inet6_scopeid_pton also needs internal functions but does not |
72 | # need to be linked statically. | |
b07367bc | 73 | tests-internal += tst-inet6_scopeid_pton |
1522c368 | 74 | |
28f540f4 | 75 | include ../Rules |
67479a70 | 76 | |
7f9f1ecb FW |
77 | LOCALES := en_US.UTF-8 en_US.ISO-8859-1 |
78 | include ../gen-locales.mk | |
79 | ||
67479a70 UD |
80 | ifeq ($(have-thread-library),yes) |
81 | ||
36975e8e L |
82 | CFLAGS-gethstbyad_r.c += -fexceptions |
83 | CFLAGS-gethstbyad.c += -fexceptions | |
84 | CFLAGS-gethstbynm_r.c += -fexceptions | |
85 | CFLAGS-gethstbynm.c += -fexceptions | |
86 | CFLAGS-gethstbynm2_r.c += -fexceptions | |
87 | CFLAGS-gethstbynm2.c += -fexceptions | |
88 | CFLAGS-gethstent_r.c += -fexceptions | |
89 | CFLAGS-gethstent.c += -fexceptions | |
90 | CFLAGS-rcmd.c += -fexceptions | |
91 | CFLAGS-getnetbynm_r.c += -fexceptions | |
92 | CFLAGS-getnetbynm.c += -fexceptions | |
93 | CFLAGS-getnetbyad_r.c += -fexceptions | |
94 | CFLAGS-getnetbyad.c += -fexceptions | |
95 | CFLAGS-getnetent_r.c += -fexceptions | |
96 | CFLAGS-getnetent.c += -fexceptions | |
97 | CFLAGS-getaliasent_r.c += -fexceptions | |
98 | CFLAGS-getaliasent.c += -fexceptions | |
99 | CFLAGS-getrpcent_r.c += -fexceptions | |
100 | CFLAGS-getrpcent.c += -fexceptions | |
101 | CFLAGS-getservent_r.c += -fexceptions | |
102 | CFLAGS-getservent.c += -fexceptions | |
103 | CFLAGS-getprtent_r.c += -fexceptions | |
104 | CFLAGS-getprtent.c += -fexceptions | |
105 | CFLAGS-either_ntoh.c += -fexceptions | |
106 | CFLAGS-either_hton.c += -fexceptions | |
107 | CFLAGS-getnetgrent.c += -fexceptions | |
108 | CFLAGS-getnetgrent_r.c += -fexceptions | |
109 | ||
110 | CFLAGS-tst-checks-posix.c += -std=c99 | |
111 | CFLAGS-tst-sockaddr.c += -fno-strict-aliasing | |
3375cfaf | 112 | |
67479a70 | 113 | endif |
ce85d65b | 114 | |
acb52792 FW |
115 | # Install the rpc database file. |
116 | $(inst_sysconfdir)/rpc: etc.rpc $(+force) | |
117 | $(do-install) | |
118 | ||
ce85d65b UD |
119 | ifeq ($(build-static-nss),yes) |
120 | CFLAGS += -DSTATIC_NSS | |
121 | endif | |
7f9f1ecb | 122 | |
8dddf0bd FW |
123 | # The test uses dlopen indirectly and would otherwise load system |
124 | # objects. | |
125 | tst-idna_name_classify-ENV = \ | |
3dbbd2ff | 126 | LD_LIBRARY_PATH=$(ld-library-path):$(common-objpfx):$(common-objpfx)elf |
7f9f1ecb | 127 | $(objpfx)tst-idna_name_classify.out: $(gen-locales) |