Arthur de Jong

Open Source / Free Software developer

summaryrefslogtreecommitdiffstats
path: root/nss
diff options
context:
space:
mode:
authorArthur de Jong <arthur@arthurdejong.org>2006-12-05 23:26:49 +0100
committerArthur de Jong <arthur@arthurdejong.org>2006-12-05 23:26:49 +0100
commit90d5786c198c66a24d02cd07efebef83d163b87c (patch)
tree0a6a112728b44232e1ca2129d99d8702c441ec94 /nss
parent4a74bff28a8a78bfaa485b6c7d2175bddb37db88 (diff)
clean up build scripts to only link nslcd to OpenSSL and to cleanly create a nss_ldap.so file
git-svn-id: http://arthurdejong.org/svn/nss-pam-ldapd/libnss_ldapd@141 ef36b2f9-881f-0410-afb5-c4e39611909c
Diffstat (limited to 'nss')
-rw-r--r--nss/Makefile.am36
1 files changed, 27 insertions, 9 deletions
diff --git a/nss/Makefile.am b/nss/Makefile.am
index b149a46..c73eccf 100644
--- a/nss/Makefile.am
+++ b/nss/Makefile.am
@@ -1,5 +1,6 @@
# Makefile.am - use automake to generate Makefile.in
#
+# Copyright (C) 2006 Luke Howard
# Copyright (C) 2006 West consulting
# Copyright (C) 2006 Arthur de Jong
#
@@ -18,16 +19,33 @@
# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
# MA 02110-1301 USA
-noinst_LIBRARIES = libnss.a
noinst_PROGRAMS = nss_ldap.so
+AM_CFLAGS = -fPIC
-libnss_a_SOURCES = common.c common.h prototypes.h \
- ../nslcd.h ../nslcd-common.h \
- aliases.c ethers.c group.c hosts.c netgroup.c \
- networks.c passwd.c protocols.c rpc.c services.c \
- shadow.c
+# determin version numbers to use in installed files
+LIBC_VERS = `ls /lib/libc-*.so | tail -n 1 |sed -e 's/\/lib\/libc-\(.*\)\.so/\1/'`
+NSS_VERS = $(shell ls /lib/libnss_files.so.? | tail -n 1 | sed -e 's/\/lib\/libnss_files\.so\.\(.*\)/\1/')
+NSS_LDAP_LIBC_VERSIONED = libnss_ldap-$(LIBC_VERS).so
+NSS_LDAP_NSS_VERSIONED = libnss_ldap.so.$(NSS_VERS)
-nss_ldap_so_SOURCES = ../nslcd.h
-nss_ldap_so_LDADD = libnss.a
-nss_ldap_so_LDFLAGS = @nss_ldap_so_LDFLAGS@
+nss_ldap_so_SOURCES = common.c common.h prototypes.h \
+ ../nslcd.h ../nslcd-common.h \
+ aliases.c ethers.c group.c hosts.c netgroup.c \
+ networks.c passwd.c protocols.c rpc.c services.c \
+ shadow.c
+nss_ldap_so_LDFLAGS = -shared -Wl,-soname,$(NSS_LDAP_NSS_VERSIONED) \
+ -Wl,--version-script,\$(srcdir)/exports.linux
+nss_ldap_so_LDADD = @nss_ldap_so_LIBS@
+EXTRA_DIST = exports.linux
+
+install-exec-local: install-nss_ldap_so
+
+# install /lib/libnss_ldap.so.2 and create
+# /lib/libnss_ldap-2.3.6.so and /usr/lib/libnss_ldap.so symlinks
+# (skip the last one for now and see what breaks)
+install-nss_ldap_so: nss_ldap.so
+ $(INSTALL_PROGRAM) -D nss_ldap.so $(DESTDIR)$(libdir)/$(NSS_LDAP_LIBC_VERSIONED)
+ (cd $(DESTDIR)$(libdir); ln -sf $(NSS_LDAP_LIBC_VERSIONED) $(NSS_LDAP_NSS_VERSIONED))
+# $(mkinstalldirs) $(DESTDIR)/usr$(libdir)
+# (cd $(DESTDIR)/usr$(libdir); ln -sf ../..$(libdir)/$(NSS_LDAP_NSS_VERSIONED) libnss_ldap.so)