diff --git a/configure.ac b/configure.ac
index cc2eac231df61b6f8936890b48bf843ed726c29a..b1c89b84d6dffdda26158815205fd96018a16607 100644
--- a/configure.ac
+++ b/configure.ac
@@ -35,4 +35,4 @@ AC_RUN_IFELSE([AC_LANG_PROGRAM([#include <libelf.h>],
               [AC_MSG_ERROR([ELF_C_READ_MMAP missing: libelfg vs libelf0?])])
 
 AC_SEARCH_LIBS([dlmopen], [dl])
-AC_OUTPUT([Makefile])
+AC_OUTPUT([Makefile data/capsule.pc data/dirconf.txt])
diff --git a/data/capsule.pc.in b/data/capsule.pc.in
new file mode 100644
index 0000000000000000000000000000000000000000..878e459aa7af3791b541f66b7ed44422ac0ce0b6
--- /dev/null
+++ b/data/capsule.pc.in
@@ -0,0 +1,14 @@
+prefix=@prefix@
+libdir=@libdir@
+includedir=@includedir@
+libexecdir=@libexecdir@
+datadir=@datadir@
+makeinc=@datadir@/libcapsule
+
+Name: capsule
+Description: segregated dynamic linking library
+Version: @VERSION@
+
+Requires:
+Libs: -L${libdir} -lcapsule
+Cflags: -I${includedir}
diff --git a/data/dirconf.txt.in b/data/dirconf.txt.in
new file mode 100644
index 0000000000000000000000000000000000000000..98686750dbb240e6ec111d6341e965803c8d77f9
--- /dev/null
+++ b/data/dirconf.txt.in
@@ -0,0 +1,22 @@
+datarootdir   : @datarootdir@
+bindir        : @bindir@
+datadir       : @datadir@
+datarootdir   : @datarootdir@
+docdir        : @docdir@
+dvidir        : @dvidir@
+exec_prefix   : @exec_prefix@
+htmldir       : @htmldir@
+includedir    : @includedir@
+infodir       : @infodir@
+libdir        : @libdir@
+libexecdir    : @libexecdir@
+localedir     : @localedir@
+localstatedir : @localstatedir@
+mandir        : @mandir@
+oldincludedir : @oldincludedir@
+pdfdir        : @pdfdir@
+prefix        : @prefix@
+psdir         : @psdir@
+sbindir       : @sbindir@
+sharedstatedir: @sharedstatedir@
+sysconfdir    : @sysconfdir@