Murray Cumming had a lot of helpful things to say about automake and libraries. Drawing from that, I found the right way to package our inhouse libraries for reuse was to add this to the library's Makefile.am:
pkgconfigdir = $(libdir)/pkgconfig pkgconfig_DATA = name_of_library_project.pc
And drop a name_of_library_project.pc.in into the top-level library project directory:
prefix=@prefix@
exec_prefix=@exec_prefix@
libdir=@libdir@
includedir=@includedir@
Name: Name of library project
Description: Some description here.
Requires:
Version: @VERSION@
Libs: -L${libdir} -lname_of_library link list of libraries for this project
Cflags: The rest was magic, and "just worked". To other projects wanting to use the library, add this to their configure.in (or configure.ac; different names, same files):
PKG_CHECK_MODULES(DEPS, name_of_library_project) AC_SUBST(DEPS_CFLAGS) AC_SUBST(DEPS_LIBS)
No comments:
Post a Comment