1998-04-04  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* resolv/Makefile: Include ../Makeconfig - needed for building
	static NSS module.

1998-04-04  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* hesiod/Makefile (libnss_hesiod-inhibit-o): Remove condition for
	static-nss since we don't want hesiod in the static NSS.

	* nss/Makefile: Build only nss_files as static.

	* nss/function.def: Remove support for service db.

1998-04-04 09:44  H.J. Lu  <hjl@gnu.org>

	* Makeconfig (CPPFLAGS-.oS): Add -DPIC.

1998-04-04 18:29  Tim Waugh  <tim@cyberelk.demon.co.uk>

	* posix/wordexp-test.c: Make IFS per test-case.
This commit is contained in:
Ulrich Drepper 1998-04-07 16:19:36 +00:00
parent 6916c5e1fa
commit 6ca96fe202
9 changed files with 158 additions and 120 deletions

View File

@ -1,3 +1,25 @@
1998-04-04 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* resolv/Makefile: Include ../Makeconfig - needed for building
static NSS module.
1998-04-04 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* hesiod/Makefile (libnss_hesiod-inhibit-o): Remove condition for
static-nss since we don't want hesiod in the static NSS.
* nss/Makefile: Build only nss_files as static.
* nss/function.def: Remove support for service db.
1998-04-04 09:44 H.J. Lu <hjl@gnu.org>
* Makeconfig (CPPFLAGS-.oS): Add -DPIC.
1998-04-04 18:29 Tim Waugh <tim@cyberelk.demon.co.uk>
* posix/wordexp-test.c: Make IFS per test-case.
1998-04-07 17:50 Zack Weinberg <zack@rabi.phys.columbia.edu>
* glibcbug.in: Report version of gcc in use. Remove unused variable

27
FAQ.in
View File

@ -625,6 +625,33 @@ If you're upgrading from glibc 2.0.x to 2.1 you have to recompile
libstdc++ since the library compiled for 2.0 is not compatible due to the new
Large File Support (LFS) in version 2.1.
?? Even statically linked programs need some shared libraries
which is not acceptable for me. What can I do?
{AJ} NSS (for details just type `info libc "Name Service Switch"')
won't work properly without shared libraries. NSS allows using
different services (e.g. NIS, files, db, hesiod) by just changing one
configuration file (/etc/nsswitch.conf) without relinking any
programs. The only disadvantage is that now static libraries need to
access shared libraries. This is handled transparently by the GNU C
library.
A solution is to configure glibc with --enable-static-nss. In this
case you can create a static binary that will use only the services
dns and files (change /etc/nsswitch.conf for this). You need
to link explicitly against all these services. For example:
gcc -static test-netdb.c -o test-netdb.c \
-lc -lnss_files -lnss_dns -lresolv
The problem with this approach is that you've got to link every static
program that uses NSS routines with all those libraries.
{UD} In fact, one cannot say anymore that a libc compiled with this
option is using NSS. There is no switch anymore. Therefore it is
*highly* recommended *not* to use --enable-static-nss since this makes
the behaviour of the programs on the system inconsistent.
? Source and binary incompatibilities, and what to do about them
?? I expect GNU libc to be 100% source code compatible with

View File

@ -628,7 +628,7 @@ object-suffixes-for-libc += .oS
# shared objects. We don't want to use CFLAGS-os because users may, for
# example, make that processor-specific.
CFLAGS-.oS = $(CFLAGS-.o) $(pic-ccflag)
CPPFLAGS-.oS = $(CPPFLAGS-.o)
CPPFLAGS-.oS = $(CPPFLAGS-.o) -DPIC
libtype.oS = lib%_nonshared.a
endif

View File

@ -38,7 +38,6 @@ if test $? -ne 0; then
fi
BUGADDR=${1-$BUGGLIBC}
ENVIRONMENT=`uname -a`
: ${EDITOR=emacs}

View File

@ -1,4 +1,4 @@
# Copyright (C) 1997 Free Software Foundation, Inc.
# Copyright (C) 1997, 1998 Free Software Foundation, Inc.
# This file is part of the GNU C Library.
# The GNU C Library is free software; you can redistribute it and/or
@ -31,9 +31,8 @@ vpath %.c nss_hesiod
libnss_hesiod-routines := hesiod hesiod-grp hesiod-pwd hesiod-service
libnss_hesiod-map := libnss_hesiod.map
ifneq ($(build-static-nss),yes)
# Build only shared library
libnss_hesiod-inhibit-o = $(filter-out .os,$(object-suffixes))
endif
include ../Rules

View File

@ -68,11 +68,12 @@ libnss_ldap-routines := $(addprefix ldap-,proto) util ldap-nss
libnss_ldap-map := libnss_ldap.map
# Build static module if requested
ifneq ($(build-static-nss),yes)
libnss_files-inhibit-o = $(filter-out .os,$(object-suffixes))
endif
libnss_db-inhibit-o = $(filter-out .os,$(object-suffixes))
libnss_ldap-inhibit-o = $(filter-out .os,$(object-suffixes))
endif
# If we compile the LDAP module we need the headers from the LDAP library.
ifneq ($(LDAP),)

View File

@ -1,5 +1,5 @@
/* List of all functions defined for the NSS in GNU C Library.
Copyright (C) 1996, 1997 Free Software Foundation, Inc.
/* List of functions defined for static NSS in GNU C Library.
Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@ -17,23 +17,21 @@
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
/*
This is a minimal config. Only services `files' and `dns' are supported.
*/
/* aliases */
DEFINE_ENT (files, alias)
DEFINE_GETBY (files, alias, name)
DEFINE_ENT (db, alias)
DEFINE_GETBY (db, alias, name)
/* ethers */
DEFINE_ENT (files, ether)
DEFINE_ENT (db, ether)
/* group */
DEFINE_ENT (files, gr)
DEFINE_GET (files, grgid)
DEFINE_GET (files, grnam)
DEFINE_ENT (db, gr)
DEFINE_GET (db, grgid)
DEFINE_GET (db, grnam)
/* hosts */
DEFINE_ENT (files, host)
@ -47,7 +45,6 @@ DEFINE_GETBY (dns, host, name2)
/* netgroup */
DEFINE_ENT (files, netgr)
DEFINE_ENT (db, netgr)
/* networks */
DEFINE_ENT (files, net)
@ -60,36 +57,22 @@ DEFINE_GETBY (dns, net, addr)
DEFINE_ENT (files, proto)
DEFINE_GETBY (files, proto, name)
DEFINE_GETBY (files, proto, number)
DEFINE_ENT (db, proto)
DEFINE_GETBY (db, proto, name)
DEFINE_GETBY (db, proto, number)
/* passwd */
DEFINE_ENT (files, pw)
DEFINE_GET (files, pwnam)
DEFINE_GET (files, pwuid)
DEFINE_ENT (db, pw)
DEFINE_GET (db, pwnam)
DEFINE_GET (db, pwuid)
/* rpc */
DEFINE_ENT (files, rpc)
DEFINE_GETBY (files, rpc, name)
DEFINE_GETBY (files, rpc, number)
DEFINE_ENT (db, rpc)
DEFINE_GETBY (db, rpc, name)
DEFINE_GETBY (db, rpc, number)
/* services */
DEFINE_ENT (files, serv)
DEFINE_GETBY (files, serv, name)
DEFINE_GETBY (files, serv, port)
DEFINE_ENT (db, serv)
DEFINE_GETBY (db, serv, name)
DEFINE_GETBY (db, serv, port)
/* shadow */
DEFINE_ENT (files, sp)
DEFINE_GET (files, spnam)
DEFINE_ENT (db, sp)
DEFINE_GET (db, spnam)

View File

@ -25,7 +25,7 @@
#include <stdlib.h>
#include <wordexp.h>
#define IFS ", \n\t"
#define IFS " \n\t"
struct test_case_struct
{
@ -35,117 +35,118 @@ struct test_case_struct
int flags;
int wordc;
const char *wordv[10];
const char *ifs;
} test_case[] =
{
/* Simple field-splitting */
{ 0, NULL, "one", 0, 1, { "one", } },
{ 0, NULL, "one two", 0, 2, { "one", "two", } },
{ 0, NULL, "one two three", 0, 3, { "one", "two", "three", } },
{ 0, NULL, " \tfoo\t\tbar ", 0, 2, { "foo", "bar", } },
{ 0, NULL, " red , white blue", 0, 3, { "red", "white", "blue", } },
{ 0, NULL, "one", 0, 1, { "one", }, IFS },
{ 0, NULL, "one two", 0, 2, { "one", "two", }, IFS },
{ 0, NULL, "one two three", 0, 3, { "one", "two", "three", }, IFS },
{ 0, NULL, " \tfoo\t\tbar ", 0, 2, { "foo", "bar", }, IFS },
{ 0, NULL, " red , white blue", 0, 3, { "red", "white", "blue", }, ", \n\t" },
/* Simple parameter expansion */
{ 0, "foo", "${var}", 0, 1, { "foo", } },
{ 0, "foo", "$var", 0, 1, { "foo", } },
{ 0, "foo", "\\\"$var\\\"", 0, 1, { "\"foo\"", } },
{ 0, "foo", "%$var%", 0, 1, { "%foo%", } },
{ 0, "foo", "-$var-", 0, 1, { "-foo-", } },
{ 0, "foo", "${var}", 0, 1, { "foo", }, IFS },
{ 0, "foo", "$var", 0, 1, { "foo", }, IFS },
{ 0, "foo", "\\\"$var\\\"", 0, 1, { "\"foo\"", }, IFS },
{ 0, "foo", "%$var%", 0, 1, { "%foo%", }, IFS },
{ 0, "foo", "-$var-", 0, 1, { "-foo-", }, IFS },
/* Simple quote removal */
{ 0, NULL, "\"quoted\"", 0, 1, { "quoted", } },
{ 0, "foo", "\"$var\"\"$var\"", 0, 1, { "foofoo", } },
{ 0, NULL, "'singly-quoted'", 0, 1, { "singly-quoted", } },
{ 0, NULL, "\"quoted\"", 0, 1, { "quoted", }, IFS },
{ 0, "foo", "\"$var\"\"$var\"", 0, 1, { "foofoo", }, IFS },
{ 0, NULL, "'singly-quoted'", 0, 1, { "singly-quoted", }, IFS },
/* Simple command substitution */
{ 0, NULL, "$(echo hello)", 0, 1, { "hello", } },
{ 0, NULL, "$( (echo hello) )", 0, 1, { "hello", } },
{ 0, NULL, "$((echo hello);(echo there))", 0, 2, { "hello", "there", } },
{ 0, NULL, "`echo one two`", 0, 2, { "one", "two", } },
{ 0, NULL, "$(echo ')')", 0, 1, { ")" } },
{ 0, NULL, "$(echo hello; echo)", 0, 1, { "hello", } },
{ 0, NULL, "$(echo hello)", 0, 1, { "hello", }, IFS },
{ 0, NULL, "$( (echo hello) )", 0, 1, { "hello", }, IFS },
{ 0, NULL, "$((echo hello);(echo there))", 0, 2, { "hello", "there", }, IFS },
{ 0, NULL, "`echo one two`", 0, 2, { "one", "two", }, IFS },
{ 0, NULL, "$(echo ')')", 0, 1, { ")" }, IFS },
{ 0, NULL, "$(echo hello; echo)", 0, 1, { "hello", }, IFS },
/* Simple arithmetic expansion */
{ 0, NULL, "$((1 + 1))", 0, 1, { "2", } },
{ 0, NULL, "$((2-3))", 0, 1, { "-1", } },
{ 0, NULL, "$((-1))", 0, 1, { "-1", } },
{ 0, NULL, "$[50+20]", 0, 1, { "70", } },
{ 0, NULL, "$(((2+3)*(4+5)))", 0, 1, { "45", } },
{ 0, NULL, "$((1 + 1))", 0, 1, { "2", }, IFS },
{ 0, NULL, "$((2-3))", 0, 1, { "-1", }, IFS },
{ 0, NULL, "$((-1))", 0, 1, { "-1", }, IFS },
{ 0, NULL, "$[50+20]", 0, 1, { "70", }, IFS },
{ 0, NULL, "$(((2+3)*(4+5)))", 0, 1, { "45", }, IFS },
/* Advanced parameter expansion */
{ 0, NULL, "${var:-bar}", 0, 1, { "bar", } },
{ 0, NULL, "${var-bar}", 0, 1, { "bar", } },
{ 0, "", "${var:-bar}", 0, 1, { "bar", } },
{ 0, "foo", "${var:-bar}", 0, 1, { "foo", } },
{ 0, "", "${var-bar}", 0, 0, { NULL, } },
{ 0, NULL, "${var:=bar}", 0, 1, { "bar", } },
{ 0, NULL, "${var=bar}", 0, 1, { "bar", } },
{ 0, "", "${var:=bar}", 0, 1, { "bar", } },
{ 0, "foo", "${var:=bar}", 0, 1, { "foo", } },
{ 0, "", "${var=bar}", 0, 0, { NULL, } },
{ 0, "foo", "${var:?bar}", 0, 1, { "foo", } },
{ 0, NULL, "${var:+bar}", 0, 0, { NULL, } },
{ 0, NULL, "${var+bar}", 0, 0, { NULL, } },
{ 0, "", "${var:+bar}", 0, 0, { NULL, } },
{ 0, "foo", "${var:+bar}", 0, 1, { "bar", } },
{ 0, "", "${var+bar}", 0, 1, { "bar", } },
{ 0, "12345", "${#var}", 0, 1, { "5", } },
{ 0, NULL, "${var:-'}'}", 0, 1, { "}", } },
{ 0, NULL, "${var-}", 0, 0, { NULL } },
{ 0, NULL, "${var:-bar}", 0, 1, { "bar", }, IFS },
{ 0, NULL, "${var-bar}", 0, 1, { "bar", }, IFS },
{ 0, "", "${var:-bar}", 0, 1, { "bar", }, IFS },
{ 0, "foo", "${var:-bar}", 0, 1, { "foo", }, IFS },
{ 0, "", "${var-bar}", 0, 0, { NULL, }, IFS },
{ 0, NULL, "${var:=bar}", 0, 1, { "bar", }, IFS },
{ 0, NULL, "${var=bar}", 0, 1, { "bar", }, IFS },
{ 0, "", "${var:=bar}", 0, 1, { "bar", }, IFS },
{ 0, "foo", "${var:=bar}", 0, 1, { "foo", }, IFS },
{ 0, "", "${var=bar}", 0, 0, { NULL, }, IFS },
{ 0, "foo", "${var:?bar}", 0, 1, { "foo", }, IFS },
{ 0, NULL, "${var:+bar}", 0, 0, { NULL, }, IFS },
{ 0, NULL, "${var+bar}", 0, 0, { NULL, }, IFS },
{ 0, "", "${var:+bar}", 0, 0, { NULL, }, IFS },
{ 0, "foo", "${var:+bar}", 0, 1, { "bar", }, IFS },
{ 0, "", "${var+bar}", 0, 1, { "bar", }, IFS },
{ 0, "12345", "${#var}", 0, 1, { "5", }, IFS },
{ 0, NULL, "${var:-'}'}", 0, 1, { "}", }, IFS },
{ 0, NULL, "${var-}", 0, 0, { NULL }, IFS },
{ 0, "banana", "${var%na*}", 0, 1, { "bana", } },
{ 0, "banana", "${var%%na*}", 0, 1, { "ba", } },
{ 0, "borabora-island", "${var#*bora}", 0, 1, { "bora-island", } },
{ 0, "borabora-island", "${var##*bora}", 0, 1, {"-island", } },
{ 0, "100%", "${var%0%}", 0, 1, { "10" } },
{ 0, "banana", "${var%na*}", 0, 1, { "bana", }, IFS },
{ 0, "banana", "${var%%na*}", 0, 1, { "ba", }, IFS },
{ 0, "borabora-island", "${var#*bora}", 0, 1, { "bora-island", }, IFS },
{ 0, "borabora-island", "${var##*bora}", 0, 1, {"-island", }, IFS },
{ 0, "100%", "${var%0%}", 0, 1, { "10" }, IFS },
/* Pathname expansion */
{ 0, NULL, "???", 0, 2, { "one", "two", } },
{ 0, NULL, "[ot]??", 0, 2, { "one", "two", } },
{ 0, NULL, "t*", 0, 2, { "three", "two", } },
{ 0, NULL, "\"t\"*", 0, 2, { "three", "two", } },
{ 0, NULL, "???", 0, 2, { "one", "two", }, IFS },
{ 0, NULL, "[ot]??", 0, 2, { "one", "two", }, IFS },
{ 0, NULL, "t*", 0, 2, { "three", "two", }, IFS },
{ 0, NULL, "\"t\"*", 0, 2, { "three", "two", }, IFS },
/* Nested constructs */
{ 0, "one two", "$var", 0, 2, { "one", "two", } },
{ 0, "one two three", "$var", 0, 3, { "one", "two", "three", } },
{ 0, " \tfoo\t\tbar ", "$var", 0, 2, { "foo", "bar", } },
{ 0, " red , white blue", "$var", 0, 3, { "red", "white", "blue", } },
{ 0, " red , white blue", "\"$var\"", 0, 1, { " red , white blue", } },
{ 0, NULL, "\"$(echo hello there)\"", 0, 1, { "hello there", } },
{ 0, NULL, "\"$(echo \"hello there\")\"", 0, 1, { "hello there", } },
{ 0, NULL, "${var=one two} \"$var\"", 0, 3, { "one", "two", "one two", } },
{ 0, "1", "$(( $(echo 3)+$var ))", 0, 1, { "4", } },
{ 0, NULL, "\"$(echo \"*\")\"", 0, 1, { "*", } },
{ 0, "foo", "*$var*", 0, 1, { "*foo*", } },
{ 0, "o thr", "*$var*", 0, 2, { "two", "three" } },
{ 0, "one two", "$var", 0, 2, { "one", "two", }, IFS },
{ 0, "one two three", "$var", 0, 3, { "one", "two", "three", }, IFS },
{ 0, " \tfoo\t\tbar ", "$var", 0, 2, { "foo", "bar", }, IFS },
{ 0, " red , white blue", "$var", 0, 3, { "red", "white", "blue", }, ", \n\t" },
{ 0, " red , white blue", "\"$var\"", 0, 1, { " red , white blue", }, ", \n\t" },
{ 0, NULL, "\"$(echo hello there)\"", 0, 1, { "hello there", }, IFS },
{ 0, NULL, "\"$(echo \"hello there\")\"", 0, 1, { "hello there", }, IFS },
{ 0, NULL, "${var=one two} \"$var\"", 0, 3, { "one", "two", "one two", }, IFS },
{ 0, "1", "$(( $(echo 3)+$var ))", 0, 1, { "4", }, IFS },
{ 0, NULL, "\"$(echo \"*\")\"", 0, 1, { "*", }, IFS },
{ 0, "foo", "*$var*", 0, 1, { "*foo*", }, IFS },
{ 0, "o thr", "*$var*", 0, 2, { "two", "three" }, IFS },
/* Other things that should succeed */
{ 0, NULL, "\\*\"|&;<>\"\\(\\)\\{\\}", 0, 1, { "*|&;<>(){}", } },
{ 0, "???", "$var", 0, 1, { "???", } },
{ 0, NULL, "$var", 0, 0, { NULL, } },
{ 0, NULL, "\"\\n\"", 0, 1, { "\\n", } },
{ 0, NULL, "", 0, 0, { NULL, } },
{ 0, NULL, "\\*\"|&;<>\"\\(\\)\\{\\}", 0, 1, { "*|&;<>(){}", }, IFS },
{ 0, "???", "$var", 0, 1, { "???", }, IFS },
{ 0, NULL, "$var", 0, 0, { NULL, }, IFS },
{ 0, NULL, "\"\\n\"", 0, 1, { "\\n", }, IFS },
{ 0, NULL, "", 0, 0, { NULL, }, IFS },
/* Things that should fail */
{ WRDE_BADCHAR, NULL, "new\nline", 0, 0, { NULL, } },
{ WRDE_BADCHAR, NULL, "pipe|symbol", 0, 0, { NULL, } },
{ WRDE_BADCHAR, NULL, "&ampersand", 0, 0, { NULL, } },
{ WRDE_BADCHAR, NULL, "semi;colon", 0, 0, { NULL, } },
{ WRDE_BADCHAR, NULL, "<greater", 0, 0, { NULL, } },
{ WRDE_BADCHAR, NULL, "less>", 0, 0, { NULL, } },
{ WRDE_BADCHAR, NULL, "(open-paren", 0, 0, { NULL, } },
{ WRDE_BADCHAR, NULL, "close-paren)", 0, 0, { NULL, } },
{ WRDE_BADCHAR, NULL, "{open-brace", 0, 0, { NULL, } },
{ WRDE_BADCHAR, NULL, "close-brace}", 0, 0, { NULL, } },
{ WRDE_CMDSUB, NULL, "$(ls)", WRDE_NOCMD, 0, { NULL, } },
{ WRDE_BADVAL, NULL, "$var", WRDE_UNDEF, 0, { NULL, } },
{ WRDE_BADVAL, NULL, "$9", WRDE_UNDEF, 0, { NULL, } },
{ WRDE_SYNTAX, NULL, "$[50+20))", 0, 0, { NULL, } },
{ WRDE_SYNTAX, NULL, "${%%noparam}", 0, 0, { NULL, } },
{ WRDE_SYNTAX, NULL, "${missing-brace", 0, 0, { NULL, } },
{ WRDE_SYNTAX, NULL, "$((2+))", 0, 0, { NULL, } },
{ WRDE_SYNTAX, NULL, "`", 0, 0, { NULL, } },
{ WRDE_BADCHAR, NULL, "new\nline", 0, 0, { NULL, }, IFS },
{ WRDE_BADCHAR, NULL, "pipe|symbol", 0, 0, { NULL, }, IFS },
{ WRDE_BADCHAR, NULL, "&ampersand", 0, 0, { NULL, }, IFS },
{ WRDE_BADCHAR, NULL, "semi;colon", 0, 0, { NULL, }, IFS },
{ WRDE_BADCHAR, NULL, "<greater", 0, 0, { NULL, }, IFS },
{ WRDE_BADCHAR, NULL, "less>", 0, 0, { NULL, }, IFS },
{ WRDE_BADCHAR, NULL, "(open-paren", 0, 0, { NULL, }, IFS },
{ WRDE_BADCHAR, NULL, "close-paren)", 0, 0, { NULL, }, IFS },
{ WRDE_BADCHAR, NULL, "{open-brace", 0, 0, { NULL, }, IFS },
{ WRDE_BADCHAR, NULL, "close-brace}", 0, 0, { NULL, }, IFS },
{ WRDE_CMDSUB, NULL, "$(ls)", WRDE_NOCMD, 0, { NULL, }, IFS },
{ WRDE_BADVAL, NULL, "$var", WRDE_UNDEF, 0, { NULL, }, IFS },
{ WRDE_BADVAL, NULL, "$9", WRDE_UNDEF, 0, { NULL, }, IFS },
{ WRDE_SYNTAX, NULL, "$[50+20))", 0, 0, { NULL, }, IFS },
{ WRDE_SYNTAX, NULL, "${%%noparam}", 0, 0, { NULL, }, IFS },
{ WRDE_SYNTAX, NULL, "${missing-brace", 0, 0, { NULL, }, IFS },
{ WRDE_SYNTAX, NULL, "$((2+))", 0, 0, { NULL, }, IFS },
{ WRDE_SYNTAX, NULL, "`", 0, 0, { NULL, }, IFS },
{ -1, NULL, NULL, 0, 0, { NULL, } },
{ -1, NULL, NULL, 0, 0, { NULL, }, IFS },
};
static int testit (struct test_case_struct *tc);
@ -179,7 +180,6 @@ main (int argc, char *argv[])
}
cwd = getcwd (NULL, 0);
setenv ("IFS", IFS, 1);
/* Set up arena for pathname expansion */
tmpnam (tmpdir);
@ -243,6 +243,11 @@ testit (struct test_case_struct *tc)
else
unsetenv ("var");
if (tc->ifs)
setenv ("IFS", tc->ifs, 1);
else
unsetenv ("IFS");
printf ("Test %d: ", ++test);
retval = wordexp (tc->words, &we, tc->flags);

View File

@ -1,4 +1,4 @@
# Copyright (C) 1994, 1995, 1996, 1997 Free Software Foundation, Inc.
# Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
# This file is part of the GNU C Library.
# The GNU C Library is free software; you can redistribute it and/or
@ -27,6 +27,8 @@ distribute := ../conf/portability.h mapv4v6addr.h mapv4v6hostent.h \
routines := herror inet_addr inet_ntop inet_pton nsap_addr res_init
include ../Makeconfig
extra-libs := libresolv libnss_dns
extra-libs-others = $(extra-libs)
libresolv-routines := gethnamaddr res_comp res_debug \