pkgsrc/security/PAM/patches/patch-ad
2010-02-02 17:09:28 +00:00

152 lines
4.2 KiB
Text

$NetBSD: patch-ad,v 1.7 2010/02/02 17:09:28 tnn Exp $
--- libpam/Makefile.orig 2001-12-09 21:44:58.000000000 +0000
+++ libpam/Makefile
@@ -6,7 +6,7 @@
include ../Make.Rules
# need to tell libpam about the default directory for PAMs
-MOREFLAGS=-D"DEFAULT_MODULE_PATH=\"$(SECUREDIR)/\""
+MOREFLAGS=-D"DEFAULT_MODULE_PATH=\"$(PAM_MODULEDIR)/\""
ifeq ($(WITH_LIBDEBUG),yes)
LIBNAME=libpamd
@@ -22,7 +22,7 @@ dummy: ../Make.Rules all
# ---------------------------------------------
-CFLAGS += $(DYNAMIC) $(STATIC) $(MOREFLAGS) \
+CFLAGS += $(DYNAMIC) $(STATIC) $(LTCFLAGS) $(MOREFLAGS) \
-DLIBPAM_VERSION_MAJOR=$(MAJOR_REL) \
-DLIBPAM_VERSION_MINOR=$(MINOR_REL)
@@ -36,6 +36,10 @@ LIBPAMFULL = $(LIBPAMNAME)$(MODIFICATION
LIBPAMSTATIC = $(LIBNAME).a
+# libtool library name
+
+LIBPAMLIBTOOL = $(LIBNAME).la
+
ifdef STATIC
@echo Did you mean to set STATIC\?
MODULES = $(shell cat ../modules/_static_module_objects)
@@ -56,7 +60,7 @@ LIBOBJECTS = pam_item.o pam_strerror.o p
ifeq ($(DYNAMIC_LIBPAM),yes)
# libpam.so needs -ldl, too.
DLIBOBJECTS = $(addprefix dynamic/,$(LIBOBJECTS) $(STATICOBJ))
-ifeq ($(STATICOBJ),yes)
+ifdef STATICOBJ
dynamic/pam_static.o: pam_static.c ../modules/_static_module_objects
$(CC) $(CFLAGS) -c pam_static.c -o $@
endif
@@ -70,10 +74,28 @@ static/pam_static.o: pam_static.c ../mod
endif
endif
+ifeq ($(LIBTOOL_LIBPAM),yes)
+LALIBOBJECTS = $(LIBOBJECTS:.o=.lo) $(STATICOBJ:.o=.lo)
+ifdef STATICOBJ
+pam_static.lo: pam_static.c ../modules/_static_module_objects
+ $(LIBTOOL) --tag=CC --mode=compile $(CC) $(CFLAGS) -c pam_static.c
+endif
+endif
+
# ---------------------------------------------
## rules
-all: dirs $(LIBPAM) $(LIBPAMSTATIC) ../Make.Rules
+ifeq ($(DYNAMIC_LIBPAM),yes)
+LIBS_TO_BUILD+= $(LIBPAM)
+endif
+ifeq ($(STATIC_LIBPAM),yes)
+LIBS_TO_BUILD+= $(LIBPAMSTATIC)
+endif
+ifeq ($(LIBTOOL_LIBPAM),yes)
+LIBS_TO_BUILD+= $(LIBPAMLIBTOOL)
+endif
+
+all: dirs $(LIBS_TO_BUILD) ../Make.Rules
dirs:
ifeq ($(DYNAMIC_LIBPAM),yes)
@@ -89,6 +111,9 @@ dynamic/%.o : %.c
static/%.o : %.c
$(CC) $(CFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -c $< -o $@
+%.lo : %.c
+ $(LIBTOOL) --tag=CC --mode=compile $(CC) $(CFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -c $<
+
$(LIBPAM): $(DLIBOBJECTS)
ifeq ($(DYNAMIC_LIBPAM),yes)
ifeq ($(USESONAME),yes)
@@ -111,7 +136,26 @@ ifeq ($(STATIC_LIBPAM),yes)
$(RANLIB) $@
endif
-install: all
+$(LIBPAMLIBTOOL): $(LALIBOBJECTS)
+ifeq ($(LIBTOOL_LIBPAM),yes)
+ $(LIBTOOL) --tag=CC --mode=link $(CC) $(LDFLAGS) $(LALIBOBJECTS) -o $@ \
+ $(MODULES) $(LINKLIBS) \
+ -rpath $(libdir) -version-info $(MAJOR_REL):$(MINOR_REL)
+endif
+
+install: all install-headers
+
+ifeq ($(DYNAMIC_LIBPAM),yes)
+install: install-dynamic
+endif
+ifeq ($(STATIC_LIBPAM),yes)
+install: install-static
+endif
+ifeq ($(LIBTOOL_LIBPAM),yes)
+install: install-libtool
+endif
+
+install-headers:
$(MKDIR) $(FAKEROOT)$(INCLUDED) $(FAKEROOT)$(libdir)
$(INSTALL) -m 644 include/security/pam_appl.h $(FAKEROOT)$(INCLUDED)
$(INSTALL) -m 644 include/security/pam_modules.h $(FAKEROOT)$(INCLUDED)
@@ -121,6 +165,8 @@ install: all
ifdef MEMORY_DEBUG
$(INSTALL) -m 644 include/security/pam_malloc.h $(FAKEROOT)$(INCLUDED)
endif
+
+install-dynamic:
ifeq ($(DYNAMIC_LIBPAM),yes)
$(INSTALL) -m $(SHLIBMODE) $(LIBPAM) $(FAKEROOT)$(libdir)/$(LIBPAMFULL)
$(LDCONFIG)
@@ -129,10 +175,17 @@ ifeq ($(DYNAMIC_LIBPAM),yes)
ln -sf $(LIBPAMNAME) $(LIBPAM) )
endif
endif
+
+install-static:
ifeq ($(STATIC_LIBPAM),yes)
$(INSTALL) -m 644 $(LIBPAMSTATIC) $(FAKEROOT)$(libdir)
endif
+install-libtool:
+ifeq ($(LIBTOOL_LIBPAM),yes)
+ $(LIBTOOL) --mode=install $(INSTALL) -c $(LIBPAMLIBTOOL) $(FAKEROOT)$(libdir)
+endif
+
remove:
rm -f $(FAKEROOT)$(INCLUDED)/_pam_types.h
rm -f $(FAKEROOT)$(INCLUDED)/_pam_macros.h
@@ -143,9 +196,13 @@ remove:
rm -f $(FAKEROOT)$(libdir)/$(LIBPAM)
$(LDCONFIG)
rm -f $(FAKEROOT)$(libdir)/$(LIBPAMSTATIC)
+ifeq ($(LIBTOOL_LIBPAM),yes)
+ $(LIBTOOL) --mode=uninstall rm $(FAKEROOT)$(libdir)$(LIBPAMLIBTOOL)
+endif
clean:
rm -f a.out core *~ static/*.o dynamic/*.o
- rm -f *.a *.o *.so ./include/security/*~
+ rm -f *.a *.la *.lo *.o *.so .libs/* ./include/security/*~
if [ -d dynamic ]; then rmdir dynamic ; fi
if [ -d static ]; then rmdir static ; fi
+ if [ -d .libs ]; then rmdir .libs ; fi