libbz2: add pkg-config file (bzip2.pc)

Add generation of a bzip2.pc file for use with pkg-config and create
a basic template as bzip2.pc.in.

This allows other software to easily locate and link against libbz2
using standard pkg-config mechanisms instead of manual compiler and
linker flags.

The version number is extracted automatically from bzlib.h to keep
it consistent with the library sources.

Tested:	pkg-config --exists --print-errors "bzip2 >= 1.0.9" (fail, expected)
	pkg-config --exists --print-errors "bzip2 >= 1.0" (succeeded)
	pkg-config --libs bzip2 (-lbz2)
	pkg-config --cflags bzip2 ()

MFC after:	3 days
This commit is contained in:
Xin LI 2025-10-09 22:35:54 -07:00
parent 53825afc5d
commit 5863197933
2 changed files with 24 additions and 0 deletions

View file

@ -13,4 +13,17 @@ CFLAGS+= -I${BZ2DIR}
WARNS?= 3
BZIP2_VERSION!= sed -n '/bzip2\/libbzip2 version /{s/.*version //;s/ of.*//p;q;}' ${BZ2DIR}/bzlib.h
bzip2.pc: bzip2.pc.in
sed -e 's,@prefix@,/usr,g ; \
s,@exec_prefix@,$${prefix},g ; \
s,@libdir@,${LIBDIR},g ; \
s,@sharedlibdir@,${SHLIBDIR},g ; \
s,@includedir@,${INCLUDEDIR},g ; \
s,@VERSION@,${BZIP2_VERSION},g ;' \
${.ALLSRC} > ${.TARGET}
PCFILES= bzip2.pc
.include <bsd.lib.mk>

11
lib/libbz2/bzip2.pc.in Normal file
View file

@ -0,0 +1,11 @@
prefix=@prefix@
exec_prefix=@exec_prefix@
libdir=@libdir@
sharedlibdir=@sharedlibdir@
includedir=@includedir@
Name: bzip2
Description: bzip2 compression library
Version: @VERSION@
Libs: -L${libdir} -lbz2
Cflags: -I${includedir}