
1: # Copyright (C) 1994,1995,1996,1997,1998,1999,2000,2001,2003,2004,2007 2: # Free Software Foundation, Inc. 3: # This file is part of the GNU C Library. 4: 5: # The GNU C Library is free software; you can redistribute it and/or 6: # modify it under the terms of the GNU Lesser General Public 7: # License as published by the Free Software Foundation; either 8: # version 2.1 of the License, or (at your option) any later version. 9: 10: # The GNU C Library is distributed in the hope that it will be useful, 11: # but WITHOUT ANY WARRANTY; without even the implied warranty of 12: # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13: # Lesser General Public License for more details. 14: 15: # You should have received a copy of the GNU Lesser General Public 16: # License along with the GNU C Library; if not, write to the Free 17: # Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 18: # 02111-1307 USA. 19: 20: # 21: # Sub-makefile for resolv portion of the library. 22: # 23: subdir := resolv 24: 25: headers := resolv.h \ 26: netdb.h bits/netdb.h \ 27: arpa/nameser.h arpa/nameser_compat.h \ 28: sys/bitypes.h 29: distribute := ../conf/portability.h mapv4v6addr.h mapv4v6hostent.h \ 30: Banner res_hconf.h res_debug.h README gai_misc.h ga_test.c 31: 32: routines := herror inet_addr inet_ntop inet_pton nsap_addr res_init \ 33: res_hconf res_libc res-state 34: 35: tests = tst-aton tst-leaks tst-inet_ntop 36: xtests = tst-leaks2 37: 38: generate := mtrace-tst-leaks tst-leaks.mtrace tst-leaks2.mtrace 39: 40: include ../Makeconfig 41: 42: extra-libs := libresolv libnss_dns 43: ifeq ($(have-thread-library),yes) 44: extra-libs += libanl 45: routines += gai_sigqueue 46: endif 47: extra-libs-others = $(extra-libs) 48: libresolv-routines := gethnamaddr res_comp res_debug \ 49: res_data res_mkquery res_query res_send \ 50: inet_net_ntop inet_net_pton inet_neta base64 \ 51: ns_parse ns_name ns_netint ns_ttl ns_print \ 52: ns_samedomain 53: 54: libanl-routines := gai_cancel gai_error gai_misc gai_notify gai_suspend \ 55: getaddrinfo_a 56: 57: subdir-dirs = nss_dns 58: vpath %.c nss_dns 59: 60: libnss_dns-routines := dns-host dns-network dns-canon 61: ifneq ($(build-static-nss),yes) 62: libnss_dns-inhibit-o = $(filter-out .os,$(object-suffixes)) 63: endif 64: 65: ifeq (yesyes,$(build-shared)$(have-thread-library)) 66: tests: $(objpfx)ga_test 67: endif 68: 69: generated := mtrace-tst-leaks tst-leaks.mtrace \ 70: mtrace-tst-leaks2 tst-leaks2.mtrace 71: 72: include ../Rules 73: 74: CPPFLAGS += -Dgethostbyname=res_gethostbyname \ 75: -Dgethostbyname2=res_gethostbyname2 \ 76: -Dgethostbyaddr=res_gethostbyaddr \ 77: -Dgetnetbyname=res_getnetbyname \ 78: -Dgetnetbyaddr=res_getnetbyaddr 79: 80: CFLAGS-res_hconf.c = -fexceptions 81: 82: # The BIND code elicits some harmless warnings. 83: +cflags += -Wno-strict-prototypes -Wno-write-strings 84: 85: # Depend on libc.so so a DT_NEEDED is generated in the shared objects. 86: # This ensures they will load libc.so for needed symbols if loaded by 87: # a statically-linked program that hasn't already loaded it. 88: $(objpfx)libresolv.so: $(common-objpfx)libc.so $(common-objpfx)libc_nonshared.a 89: 90: # The DNS NSS modules needs the resolver. 91: $(objpfx)libnss_dns.so: $(objpfx)libresolv.so $(common-objpfx)libc.so \ 92: $(common-objpfx)libc_nonshared.a 93: 94: # The asynchronous name lookup code needs the thread library. 95: $(objpfx)libanl.so: $(common-objpfx)libc.so $(common-objpfx)libc_nonshared.a \ 96: $(shared-thread-library) 97: 98: $(objpfx)ga_test: $(objpfx)libanl.so $(shared-thread-library) 99: 100: $(objpfx)tst-leaks: $(objpfx)libresolv.so 101: tst-leaks-ENV = MALLOC_TRACE=$(objpfx)tst-leaks.mtrace 102: $(objpfx)mtrace-tst-leaks: $(objpfx)tst-leaks.out 103: $(common-objpfx)malloc/mtrace $(objpfx)tst-leaks.mtrace > $@ 104: ifeq (no,$(cross-compiling)) 105: ifneq (no,$(PERL)) 106: tests: $(objpfx)mtrace-tst-leaks 107: endif 108: endif 109: 110: tst-leaks2-ENV = MALLOC_TRACE=$(objpfx)tst-leaks2.mtrace 111: $(objpfx)mtrace-tst-leaks2: $(objpfx)tst-leaks2.out 112: $(common-objpfx)malloc/mtrace $(objpfx)tst-leaks2.mtrace > $@ 113: ifeq (no,$(cross-compiling)) 114: ifneq (no,$(PERL)) 115: xtests: $(objpfx)mtrace-tst-leaks2 116: endif 117: endif