OSDN Git Service

Add in a stub libnsl library to make stupid configure scripts
authorEric Andersen <andersen@codepoet.org>
Thu, 12 Dec 2002 03:10:14 +0000 (03:10 -0000)
committerEric Andersen <andersen@codepoet.org>
Thu, 12 Dec 2002 03:10:14 +0000 (03:10 -0000)
(i.e. openssh) do the right thing when used with uClibc's gcc
wrapper (which does not currently prevent system libraries from
leaking into the link).
 -Erik

Makefile
libnsl/.cvsignore [new file with mode: 0644]
libnsl/Makefile [new file with mode: 0644]
libnsl/nsl.c [new file with mode: 0644]

index e34b39f..df041cb 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -32,7 +32,7 @@ noconfig_targets := menuconfig config oldconfig randconfig \
 TOPDIR=./
 include Rules.mak
 
-DIRS = extra ldso libc libcrypt libresolv libutil libm libpthread
+DIRS = extra ldso libc libcrypt libresolv libnsl libutil libm libpthread
 
 ifdef include_config
 
@@ -47,6 +47,7 @@ ifeq ($(strip $(HAVE_SHARED)),y)
        @$(MAKE) -C ldso shared
        @$(MAKE) -C libcrypt shared
        @$(MAKE) -C libresolv shared
+       @$(MAKE) -C libnsl shared
        @$(MAKE) -C libutil shared
        @$(MAKE) -C libm shared
        @$(MAKE) -C libpthread shared
diff --git a/libnsl/.cvsignore b/libnsl/.cvsignore
new file mode 100644 (file)
index 0000000..aa145ea
--- /dev/null
@@ -0,0 +1 @@
+libnsl.so*
diff --git a/libnsl/Makefile b/libnsl/Makefile
new file mode 100644 (file)
index 0000000..8be0058
--- /dev/null
@@ -0,0 +1,58 @@
+# Makefile for uClibc
+#
+# Copyright (C) 2002 Erik Andersen <andersen@uclibc.org>
+#
+# This program is free software; you can redistribute it and/or modify it under
+# the terms of the GNU Library General Public License as published by the Free
+# Software Foundation; either version 2 of the License, or (at your option) any
+# later version.
+#
+# This program is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+# FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more
+# details.
+#
+# You should have received a copy of the GNU Library General Public License
+# along with this program; if not, write to the Free Software Foundation, Inc.,
+# 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+TOPDIR=../
+include $(TOPDIR)Rules.mak
+
+LIBRESOLV=libnsl.a
+LIBRESOLV_SHARED=libnsl.so
+LIBRESOLV_SHARED_FULLNAME=libnsl-$(MAJOR_VERSION).$(MINOR_VERSION).$(SUBLEVEL).so
+
+CSRC = nsl.c
+OBJS=$(patsubst %.c,%.o, $(CSRC))
+
+all: $(OBJS) $(LIBRESOLV)
+
+$(LIBRESOLV): ar-target
+
+ar-target: $(OBJS)
+       $(AR) $(ARFLAGS) $(LIBRESOLV) $(OBJS)
+       install -d $(TOPDIR)lib
+       rm -f $(TOPDIR)lib/$(LIBRESOLV)
+       install -m 644 $(LIBRESOLV) $(TOPDIR)lib
+
+$(OBJS): %.o : %.c
+       $(CC) $(CFLAGS) -c $< -o $@
+       $(STRIPTOOL) -x -R .note -R .comment $*.o
+
+$(OBJ): Makefile
+
+shared: all
+       $(LD) $(LDFLAGS) -soname=$(LIBRESOLV_SHARED).$(MAJOR_VERSION) \
+               -o $(LIBRESOLV_SHARED_FULLNAME) --whole-archive $(LIBRESOLV) \
+               --no-whole-archive $(TOPDIR)/libc/misc/internals/interp.o \
+               -L$(TOPDIR)/lib -lc;
+       install -d $(TOPDIR)lib
+       rm -f $(TOPDIR)lib/$(LIBRESOLV_SHARED_FULLNAME) $(TOPDIR)lib/$(LIBRESOLV_SHARED).$(MAJOR_VERSION)
+       install -m 644 $(LIBRESOLV_SHARED_FULLNAME) $(TOPDIR)lib;
+       (cd $(TOPDIR)lib && ln -sf $(LIBRESOLV_SHARED_FULLNAME) $(LIBRESOLV_SHARED)); 
+       (cd $(TOPDIR)lib && ln -sf $(LIBRESOLV_SHARED_FULLNAME) $(LIBRESOLV_SHARED).$(MAJOR_VERSION)); 
+
+clean: 
+       rm -f *.[oa] *~ core $(LIBRESOLV_SHARED)* $(LIBRESOLV_SHARED_FULLNAME)*
+
diff --git a/libnsl/nsl.c b/libnsl/nsl.c
new file mode 100644 (file)
index 0000000..318d28d
--- /dev/null
@@ -0,0 +1,30 @@
+/* vi: set sw=4 ts=4: */
+/*
+ * libnsl for uClibc
+ *
+ * Copyright (C) 2002 by Erik Andersen <andersen@uclibc.org>
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Library General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Library General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ *
+ */
+
+#include <features.h>
+
+void __stub2(void)
+{
+       return;
+}
+link_warning (__stub2, "the `libnsl' library is a stub.  Do you really need it?")
+