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