diff options
author | Andrew G. Morgan <morgan@kernel.org> | 2000-11-19 23:54:01 +0000 |
---|---|---|
committer | Andrew G. Morgan <morgan@kernel.org> | 2000-11-19 23:54:01 +0000 |
commit | 73346dba777b023e46830a973148eb0ddbf8f8b4 (patch) | |
tree | 3ac12799a597cb2004f8ebf5b18a4469ccee9a44 /modules/pam_userdb | |
parent | 47575925596c2af2a78c009fcdd14de72fc82d3e (diff) | |
download | pam-73346dba777b023e46830a973148eb0ddbf8f8b4.tar.gz pam-73346dba777b023e46830a973148eb0ddbf8f8b4.tar.bz2 pam-73346dba777b023e46830a973148eb0ddbf8f8b4.zip |
Relevant BUGIDs: task 15788, bugs 108297, 117476, 117474
Purpose of commit: autoconf support for Linux-PAM
Commit summary:
---------------
This is a merge of the autoconf support that was developed against
a 0-72 branch.
[Note, because CVS has some issues, this is actually only 95% of
the actual commit. The other files were actually committed when
the preparation branch Linux-PAM-0-73pre-autoconf was updated.
Hopefully, this will complete the merge.]
Diffstat (limited to 'modules/pam_userdb')
-rw-r--r-- | modules/pam_userdb/Makefile | 76 | ||||
-rw-r--r-- | modules/pam_userdb/pam_userdb.c | 16 |
2 files changed, 23 insertions, 69 deletions
diff --git a/modules/pam_userdb/Makefile b/modules/pam_userdb/Makefile index 39226242..8951fd91 100644 --- a/modules/pam_userdb/Makefile +++ b/modules/pam_userdb/Makefile @@ -6,76 +6,28 @@ # $Id$ # Created by Cristian Gafton <gafton@redhat.com> -WHICH_DB=$(shell ./libdbfound.sh) -ifeq ($(WHICH_DB),none) - -include ../dont_makefile - -else +include ../../Make.Rules TITLE=pam_userdb -LIBSRC = $(TITLE).c conv.c -LIBOBJ = $(TITLE).o conv.o -LIBOBJD = $(addprefix dynamic/,$(LIBOBJ)) -#LIBOBJS = $(addprefix static/,$(LIBOBJ)) - -EXTRALS += -ldb -CFLAGS += $(WHICH_DB) - -dynamic/%.o : %.c - $(CC) $(CFLAGS) $(DYNAMIC) $(CPPFLAGS) $(TARGET_ARCH) -c $< -o $@ - -#static/%.o : %.c -# $(CC) $(CFLAGS) $(STATIC) $(CPPFLAGS) $(TARGET_ARCH) -c $< -o $@ - - -ifdef DYNAMIC -LIBSHARED = $(TITLE).so -endif - -####################### don't edit below ####################### - -dummy: - - @echo "**** This is not a top-level Makefile " - exit - -all: dirs $(LIBSHARED) $(LIBSTATIC) register - -dirs: -ifdef DYNAMIC - $(MKDIR) ./dynamic +ifeq ($(HAVE_LIBDB),yes) + WHICH_DB=db + MODULE_SIMPLE_EXTRALIBS = -ldb +else +ifeq ($(HAVE_LIBNDBM),yes) + WHICH_DB=ndbm + MODULE_SIMPLE_EXTRALIBS = -lndbm +else + WHICH_DB=none endif - -ifdef DYNAMIC -$(LIBOBJD): $(LIBSRC) - -$(LIBSHARED): $(LIBOBJD) - $(LD_D) -o $@ $(LIBOBJD) $(EXTRALS) endif -install: all - $(MKDIR) $(FAKEROOT)$(SECUREDIR) -ifdef DYNAMIC - $(INSTALL) -m $(SHLIBMODE) $(LIBSHARED) $(FAKEROOT)$(SECUREDIR) -endif - -remove: - rm -f $(FAKEROOT)$(SECUREDIR)/$(TITLE).so - -clean: - rm -f $(LIBOBJD) $(LIBOBJS) core *~ *.so - -extraclean: clean - rm -f *.a *.o *.so *.bak dynamic/* static/* +ifeq ($(WHICH_DB),none) -.c.o: - $(CC) $(CFLAGS) -c $< +include ../dont_makefile -.PHONY: register +else -test: - install -m 755 $(TITLE).so /tmp +include ../Simple.Rules endif diff --git a/modules/pam_userdb/pam_userdb.c b/modules/pam_userdb/pam_userdb.c index 20ca5d10..7af5d384 100644 --- a/modules/pam_userdb/pam_userdb.c +++ b/modules/pam_userdb/pam_userdb.c @@ -6,10 +6,8 @@ * See the end of the file for Copyright Information */ -#define _GNU_SOURCE -#define _BSD_SOURCE +#include <security/_pam_aconf.h> -#include <features.h> #include <stdlib.h> #include <unistd.h> #include <string.h> @@ -22,12 +20,16 @@ #include "pam_userdb.h" -#ifdef USE_NDBM_H -# include <ndbm.h> -#else /* USE_NDBM_H */ +#ifdef HAVE_LIBDB # define DB_DBM_HSEARCH 1 /* use the dbm interface */ # include <db.h> -#endif /* USE_NDBM_H */ +#else +# ifdef HAVE_LIBNDBM +# include <ndbm.h> +# else +# error "failed to find a libdb or equivalent" +# endif +#endif /* * here, we make a definition for the externally accessible function |