krb5 commit: Install pkg-config data files

Greg Hudson ghudson at MIT.EDU
Fri Jan 4 01:38:15 EST 2013


https://github.com/krb5/krb5/commit/c5e826e6071bc1ba5208f4ea6997d1952114e27a
commit c5e826e6071bc1ba5208f4ea6997d1952114e27a
Author: Greg Hudson <ghudson at mit.edu>
Date:   Thu Jan 3 13:47:01 2013 -0500

    Install pkg-config data files
    
    Add seven data files for pkg-config, corresponding to the five modules
    supported by krb5-config.  For krb5 and krb5-gssapi, we also provide
    mit- versions for callers desiring to distinguish between our
    implementation and Heimdal's.
    
    Based on a patch from Stef Walter <stefw at gnome.org>.
    
    ticket: 7529 (new)

 .gitignore                            |    1 +
 src/Makefile.in                       |    3 ++-
 src/build-tools/Makefile.in           |   32 ++++++++++++++++++++++++++++++--
 src/build-tools/kadm-client.pc.in     |   12 ++++++++++++
 src/build-tools/kadm-server.pc.in     |   11 +++++++++++
 src/build-tools/kdb.pc.in             |   14 ++++++++++++++
 src/build-tools/krb5-gssapi.pc.in     |   10 ++++++++++
 src/build-tools/krb5.pc.in            |   14 ++++++++++++++
 src/build-tools/mit-krb5-gssapi.pc.in |   11 +++++++++++
 src/build-tools/mit-krb5.pc.in        |   15 +++++++++++++++
 src/config/pre.in                     |    1 +
 src/configure.in                      |   10 +++++++++-
 12 files changed, 130 insertions(+), 4 deletions(-)

diff --git a/.gitignore b/.gitignore
index f8c7c9d..bbc8440 100644
--- a/.gitignore
+++ b/.gitignore
@@ -2,6 +2,7 @@
 *.a
 *.dylib
 *.o
+*.pc
 *.pyc
 *.so
 binutils.versions
diff --git a/src/Makefile.in b/src/Makefile.in
index da2cfe5..0d07b71 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -60,7 +60,8 @@ INSTALLMKDIRS = $(KRB5ROOT) $(KRB5MANROOT) $(KRB5OTHERMKDIRS) \
 		$(KRB5_AD_MODULE_DIR) \
 		$(KRB5_LIBKRB5_MODULE_DIR) \
 		@localstatedir@ @localstatedir@/krb5kdc \
-		$(KRB5_INCSUBDIRS) $(datadir) $(EXAMPLEDIR)
+		$(KRB5_INCSUBDIRS) $(datadir) $(EXAMPLEDIR) \
+		$(PKGCONFIG_DIR)
 
 install-strip:
 	$(MAKE) install INSTALL_STRIP=-s
diff --git a/src/build-tools/Makefile.in b/src/build-tools/Makefile.in
index fa56900..885c992 100644
--- a/src/build-tools/Makefile.in
+++ b/src/build-tools/Makefile.in
@@ -1,13 +1,41 @@
 mydir=build-tools
 BUILDTOP=$(REL)..
 
-all-unix:: krb5-config
+PKGCONFIG_FILES = \
+	kadm-client.pc \
+	kadm-server.pc \
+	kdb.pc \
+	mit-krb5.pc \
+	krb5.pc \
+	mit-krb5-gssapi.pc \
+	krb5-gssapi.pc
 
-krb5-config: $(srcdir)/krb5-config.in $(BUILDTOP)/config.status
+all-unix:: krb5-config $(PKGCONFIG_FILES)
+
+krb5-config $(PKGCONFIG_FILES): $(BUILDTOP)/config.status
 	cd $(BUILDTOP) && $(SHELL) config.status $(mydir)/$@
+krb5-config: $(srcdir)/krb5-config.in
+kadm-client.pc: $(srcdir)/kadm-client.pc.in
+kadm-server.pc: $(srcdir)/kadm-server.pc.in
+kdb.pc: $(srcdir)/kdb.pc.in
+mit-krb5.pc: $(srcdir)/mit-krb5.pc.in
+krb5.pc: $(srcdir)/krb5.pc.in
+mit-krb5-gssapi.pc: $(srcdir)/mit-krb5-gssapi.pc.in
+krb5-gssapi.pc: $(srcdir)/krb5-gssapi.pc.in
 
 install-unix::
 	$(INSTALL_SCRIPT) krb5-config $(DESTDIR)$(CLIENT_BINDIR)/krb5-config
+	$(INSTALL_DATA) kadm-client.pc \
+		$(DESTDIR)$(PKGCONFIG_DIR)/kadm-client.pc
+	$(INSTALL_DATA) kadm-server.pc \
+		$(DESTDIR)$(PKGCONFIG_DIR)/kadm-server.pc
+	$(INSTALL_DATA) kdb.pc $(DESTDIR)$(PKGCONFIG_DIR)/kdb.pc
+	$(INSTALL_DATA) mit-krb5.pc $(DESTDIR)$(PKGCONFIG_DIR)/mit-krb5.pc
+	$(INSTALL_DATA) krb5.pc $(DESTDIR)$(PKGCONFIG_DIR)/krb5.pc
+	$(INSTALL_DATA) mit-krb5-gssapi.pc \
+		$(DESTDIR)$(PKGCONFIG_DIR)/mit-krb5-gssapi.pc
+	$(INSTALL_DATA) krb5-gssapi.pc \
+		$(DESTDIR)$(PKGCONFIG_DIR)/krb5-gssapi.pc
 
 # Test to ensure that krb5-config does not spit out things like
 # $(PURE) or $(LDFLAGS) in case someone changes config/shlib.conf
diff --git a/src/build-tools/kadm-client.pc.in b/src/build-tools/kadm-client.pc.in
new file mode 100644
index 0000000..4562b8f
--- /dev/null
+++ b/src/build-tools/kadm-client.pc.in
@@ -0,0 +1,12 @@
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+libdir=@libdir@
+includedir=@includedir@
+
+Name: kadm-client
+Description: Kerberos administration client library
+Version: @KRB5_VERSION@
+Requires.private: mit-krb5-gssapi
+Cflags: -I${includedir}
+Libs: -L${libdir} -lkadm5clnt_mit
+Libs.private: -lgssrpc
diff --git a/src/build-tools/kadm-server.pc.in b/src/build-tools/kadm-server.pc.in
new file mode 100644
index 0000000..cd2f86c
--- /dev/null
+++ b/src/build-tools/kadm-server.pc.in
@@ -0,0 +1,11 @@
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+libdir=@libdir@
+includedir=@includedir@
+
+Name: kadm-server
+Description: Kerberos administration server library
+Version: @KRB5_VERSION@
+Requires.private: kdb mit-krb5-gssapi
+Cflags: -I${includedir}
+Libs: -L${libdir} -lkadm5srv_mit
diff --git a/src/build-tools/kdb.pc.in b/src/build-tools/kdb.pc.in
new file mode 100644
index 0000000..29506b8
--- /dev/null
+++ b/src/build-tools/kdb.pc.in
@@ -0,0 +1,14 @@
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+libdir=@libdir@
+includedir=@includedir@
+
+KDB5_DB_LIB=@KDB5_DB_LIB@
+
+Name: kdb
+Description: Kerberos database access libraries
+Version: @KRB5_VERSION@
+Requires.private: mit-krb5-gssapi mit-krb5
+Cflags: -I${includedir}
+Libs: -L${libdir} -lkdb5
+Libs.private: -lgssrpc ${KDB5_DB_LIB}
diff --git a/src/build-tools/krb5-gssapi.pc.in b/src/build-tools/krb5-gssapi.pc.in
new file mode 100644
index 0000000..4e2d832
--- /dev/null
+++ b/src/build-tools/krb5-gssapi.pc.in
@@ -0,0 +1,10 @@
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+libdir=@libdir@
+includedir=@includedir@
+vendor=MIT
+
+Name: krb5-gssapi
+Description: Kerberos implementation of the GSSAPI
+Version: @KRB5_VERSION@
+Requires: mit-krb5-gssapi
diff --git a/src/build-tools/krb5.pc.in b/src/build-tools/krb5.pc.in
new file mode 100644
index 0000000..5f81049
--- /dev/null
+++ b/src/build-tools/krb5.pc.in
@@ -0,0 +1,14 @@
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+libdir=@libdir@
+includedir=@includedir@
+vendor=MIT
+
+defccname=@DEFCCNAME@
+defktname=@DEFKTNAME@
+defcktname=@DEFCKTNAME@
+
+Name: krb5
+Description: An implementation of Kerberos network authentication
+Version: @KRB5_VERSION@
+Requires: mit-krb5
diff --git a/src/build-tools/mit-krb5-gssapi.pc.in b/src/build-tools/mit-krb5-gssapi.pc.in
new file mode 100644
index 0000000..7b91b19
--- /dev/null
+++ b/src/build-tools/mit-krb5-gssapi.pc.in
@@ -0,0 +1,11 @@
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+libdir=@libdir@
+includedir=@includedir@
+
+Name: mit-krb5-gssapi
+Description: Kerberos implementation of the GSSAPI
+Version: @KRB5_VERSION@
+Requires.private: mit-krb5
+Cflags: -I${includedir}
+Libs: -L${libdir} -lgssapi_krb5
diff --git a/src/build-tools/mit-krb5.pc.in b/src/build-tools/mit-krb5.pc.in
new file mode 100644
index 0000000..0308815
--- /dev/null
+++ b/src/build-tools/mit-krb5.pc.in
@@ -0,0 +1,15 @@
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+libdir=@libdir@
+includedir=@includedir@
+
+defccname=@DEFCCNAME@
+defktname=@DEFKTNAME@
+defcktname=@DEFCKTNAME@
+
+Name: mit-krb5
+Description: An implementation of Kerberos network authentication
+Version: @KRB5_VERSION@
+Cflags: -I${includedir}
+Libs: -L${libdir} -lkrb5 -lk5crypto -lcom_err
+Libs.private: -lkrb5support
diff --git a/src/config/pre.in b/src/config/pre.in
index 1ba26d8..e57019f 100644
--- a/src/config/pre.in
+++ b/src/config/pre.in
@@ -202,6 +202,7 @@ KRB5MANROOT = @mandir@
 ADMIN_BINDIR = @sbindir@
 SERVER_BINDIR = @sbindir@
 CLIENT_BINDIR =@bindir@
+PKGCONFIG_DIR = @libdir@/pkgconfig
 ADMIN_MANDIR = $(KRB5MANROOT)/man8
 SERVER_MANDIR = $(KRB5MANROOT)/man8
 CLIENT_MANDIR = $(KRB5MANROOT)/man1
diff --git a/src/configure.in b/src/configure.in
index 69863d2..c5c599b 100644
--- a/src/configure.in
+++ b/src/configure.in
@@ -1290,7 +1290,15 @@ AC_DEFINE_UNQUOTED(DEFKTNAME, ["$DEFKTNAME"], [Define to default keytab name])
 AC_DEFINE_UNQUOTED(DEFCKTNAME, ["$DEFCKTNAME"],
                    [Define to default client keytab name])
 
-AC_CONFIG_FILES(build-tools/krb5-config, [chmod +x build-tools/krb5-config])
+AC_CONFIG_FILES([build-tools/krb5-config], [chmod +x build-tools/krb5-config])
+AC_CONFIG_FILES([build-tools/kadm-server.pc
+	build-tools/kadm-client.pc
+	build-tools/kdb.pc
+	build-tools/krb5.pc
+	build-tools/krb5-gssapi.pc
+	build-tools/mit-krb5.pc
+	build-tools/mit-krb5-gssapi.pc
+])
 V5_AC_OUTPUT_MAKEFILE(.
 
 	util util/support util/profile util/profile/testmod util/send-pr


More information about the cvs-krb5 mailing list