Replace the old and somewhat buggy pwd_grp stuff with the shiny
new stuff mjn3 wrote for uClibc
diff --git a/libpwdgrp/Makefile.in b/libpwdgrp/Makefile.in
index cb7cbde..a798202 100644
--- a/libpwdgrp/Makefile.in
+++ b/libpwdgrp/Makefile.in
@@ -22,14 +22,31 @@
LIBPWDGRP_DIR:=$(TOPDIR)libpwdgrp/
endif
-LIBPWDGRP-y:=
-LIBPWDGRP-$(CONFIG_USE_BB_PWD_GRP) += __getgrent.o __getgrent.o __getpwent.o\
- fgetgrent.o fgetpwent.o getgrgid.o getgrnam.o getpw.o getpwnam.o \
- getpwuid.o grent.o initgroups.o putpwent.o pwent.o setgroups.o
-LIBPWDGRP-$(CONFIG_USE_BB_SHADOW) += shadow.o
+
+LIBPWDGRP_MSRC0:=$(LIBPWDGRP_DIR)pwd_grp.c
+LIBPWDGRP_MOBJ0-$(CONFIG_USE_BB_PWD_GRP):= fgetpwent_r.o fgetgrent_r.o \
+ fgetpwent.o fgetgrent.o getpwnam_r.o getgrnam_r.o getpwuid_r.o \
+ getgrgid_r.o getpwuid.o getgrgid.o getpwnam.o getgrnam.o getpw.o \
+ getpwent_r.o getgrent_r.o getpwent.o getgrent.o \
+ initgroups.o putpwent.o putgrent.o
+LIBPWDGRP_MOBJS0=$(patsubst %,$(LIBPWDGRP_DIR)%, $(LIBPWDGRP_MOBJ0-y))
+
+LIBPWDGRP_MSRC1:=$(LIBPWDGRP_DIR)pwd_grp.c
+LIBPWDGRP_MOBJ1-$(CONFIG_USE_BB_PWD_GRP):= __parsepwent.o __parsegrent.o \
+ __pgsreader.o fgetspent_r.o fgetspent.o sgetspent_r.o getspnam_r.o \
+ getspnam.o getspent_r.o getspent.o sgetspent.o \
+ putspent.o __parsespent.o # getspuid_r.o getspuid.o
+LIBPWDGRP_MOBJS1=$(patsubst %,$(LIBPWDGRP_DIR)%, $(LIBPWDGRP_MOBJ1-y))
libraries-y+=$(LIBPWDGRP_DIR)$(LIBPWDGRP_AR)
-$(LIBPWDGRP_DIR)$(LIBPWDGRP_AR): $(patsubst %,$(LIBPWDGRP_DIR)%, $(LIBPWDGRP-y))
- $(AR) -ro $@ $(patsubst %,$(LIBPWDGRP_DIR)%, $(LIBPWDGRP-y))
+$(LIBPWDGRP_DIR)$(LIBPWDGRP_AR): $(LIBPWDGRP_MOBJS0) $(LIBPWDGRP_MOBJS1)
+ $(AR) -ro $@ $(LIBPWDGRP_MOBJS0) $(LIBPWDGRP_MOBJS1)
+
+$(LIBPWDGRP_MOBJS0): $(LIBPWDGRP_MSRC0)
+ $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -DL_$(notdir $*) -c $< -o $@
+
+$(LIBPWDGRP_MOBJS1): $(LIBPWDGRP_MSRC1)
+ $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -DL_$(notdir $*) -c $< -o $@
+