diff options
author | Steve Langasek <vorlon@debian.org> | 2003-07-13 18:41:04 +0000 |
---|---|---|
committer | Steve Langasek <vorlon@debian.org> | 2003-07-13 18:41:04 +0000 |
commit | 2f36c829822a4b016ba075575c720ad9cb3c6463 (patch) | |
tree | 51b4a20becbd7b9d92b6bc0d73565a438525265d /modules | |
parent | eaffa5288f918a542c5322b79975793efc1b3a10 (diff) | |
download | pam-2f36c829822a4b016ba075575c720ad9cb3c6463.tar.gz pam-2f36c829822a4b016ba075575c720ad9cb3c6463.tar.bz2 pam-2f36c829822a4b016ba075575c720ad9cb3c6463.zip |
Relevant BUGIDs: 643357
Purpose of commit: bugfix
Commit summary:
---------------
Patch from Sam Hartman to fix handling of module linking on Linux:
modules should be linked against libpam if they call any functions from
the library, since not all platforms will correctly resolve symbol
references otherwise. Also, make sure we use gcc, not ld, when linking,
since there's additional linker glue that gcc will pull in for us.
Diffstat (limited to 'modules')
-rw-r--r-- | modules/Simple.Rules | 2 | ||||
-rw-r--r-- | modules/pam_access/Makefile | 3 | ||||
-rw-r--r-- | modules/pam_limits/Makefile | 3 | ||||
-rw-r--r-- | modules/pam_tally/Makefile | 2 | ||||
-rw-r--r-- | modules/pam_unix/Makefile | 2 |
5 files changed, 9 insertions, 3 deletions
diff --git a/modules/Simple.Rules b/modules/Simple.Rules index 2d79b00c..bb16e48d 100644 --- a/modules/Simple.Rules +++ b/modules/Simple.Rules @@ -19,7 +19,7 @@ LIBOBJ = $(addsuffix .o,$(LIBFILES)) LIBOBJD = $(addprefix dynamic/,$(LIBOBJ)) LIBOBJS = $(addprefix static/,$(LIBOBJ)) -LINK_PAMMODUTILS = -L../pammodutil -lpammodutil +LINK_PAMMODUTILS = -L../pammodutil -lpammodutil -L../../libpam -lpam INCLUDE_PAMMODUTILS = -I../pammodutil/include ifdef DYNAMIC diff --git a/modules/pam_access/Makefile b/modules/pam_access/Makefile index d93c9f40..87b2b3e6 100644 --- a/modules/pam_access/Makefile +++ b/modules/pam_access/Makefile @@ -10,6 +10,9 @@ include ../../Make.Rules TITLE=pam_access LOCAL_CONFILE=./access.conf INSTALLED_CONFILE=$(SCONFIGD)/access.conf +ifeq ($(HAVE_LIBNSL),yes) +MODULE_SIMPLE_EXTRALIBS=-lnsl +endif DEFS=-DDEFAULT_CONF_FILE=\"$(INSTALLED_CONFILE)\" CFLAGS += $(DEFS) diff --git a/modules/pam_limits/Makefile b/modules/pam_limits/Makefile index 9473d915..0a481fe8 100644 --- a/modules/pam_limits/Makefile +++ b/modules/pam_limits/Makefile @@ -21,6 +21,9 @@ CFLAGS += $(DEFS) MODULE_SIMPLE_INSTALL=bash -f ../install_conf "$(FAKEROOT)" "$(SCONFIGD)" "$(INSTALLED_CONFILE)" "$(TITLE)" "$(LOCAL_CONFILE)" MODULE_SIMPLE_REMOVE=rm -f $(FAKEROOT)$(INSTALLED_CONFILE) MODULE_SIMPLE_CLEAN=rm -f ./.ignore_age +ifeq ($(HAVE_LIBCAP),yes) +MODULE_SIMPLE_EXTRALIBS=-lcap +endif include ../Simple.Rules diff --git a/modules/pam_tally/Makefile b/modules/pam_tally/Makefile index 1c5106e3..c39970dd 100644 --- a/modules/pam_tally/Makefile +++ b/modules/pam_tally/Makefile @@ -65,7 +65,7 @@ ifdef DYNAMIC $(LIBOBJD): $(LIBSRC) $(LIBSHARED): $(LIBOBJD) - $(LD_D) -o $@ $(LIBOBJD) + $(LD_D) -o $@ $(LIBOBJD) -L../../libpam -lpam $(NEED_LINK_LIB_C) $(APPLICATION): $(APPOBJD) $(TITLE).c $(CC) $(CFLAGS) -o $@ $(APPOBJD) $(LOADLIBES) diff --git a/modules/pam_unix/Makefile b/modules/pam_unix/Makefile index 0cab34bc..61c4beaa 100644 --- a/modules/pam_unix/Makefile +++ b/modules/pam_unix/Makefile @@ -109,7 +109,7 @@ ifdef DYNAMIC $(LIBOBJD): $(LIBSRC) $(LIBSHARED): $(LIBOBJD) - $(LD_D) -o $@ $(LIBOBJD) $(PLUS) $(CRACKLIB) $(LDLIBS) $(LIBNSL) $(LIBCRYPT) + $(LD_D) -o $@ $(LIBOBJD) $(PLUS) $(CRACKLIB) $(LDLIBS) $(LIBNSL) $(LIBCRYPT) $(NEED_LINK_LIB_C) -L../../libpam -lpam endif ifdef STATIC |