openssl: install pc files

most programs in ports are looking for .pc files in order to get the
necessary information on how to compile and link against openssl.

The ports now also has a way to hide or force a path for pkgconf.

Providing .pc files along with openssl in base will allow (once all
the supported version of FreeBSD has it) so improve the framework to
deal with openssl in base vs openssl in ports (and libressl)

This will also greatly reduce the number of patches necessary to
workaround the build systems which only knows how to detect where
openssl is installed via pkgconf.

PR:		266051
MFC After:	3 weeks
Reviewed by:	jkim, delphij
Exp-run by:	antoine
Differential Revision:	https://reviews.freebsd.org/D36360
This commit is contained in:
Baptiste Daroussin 2022-08-26 16:02:09 +02:00
parent 203f2c14c4
commit b323fa85f1
6 changed files with 41 additions and 0 deletions

View File

@ -12,6 +12,7 @@ SHLIB_MAJOR= 111
VERSION_MAP= ${.CURDIR}/Version.map
NO_LINT=
PCFILES= libcrypto.pc
.include "Makefile.man"
.include "Makefile.inc"

View File

@ -113,3 +113,9 @@ CFLAGS+= -DENGINESDIR="\"${LIBDIR}/engines\""
CFLAGS+= -DNDEBUG
MANDIR= ${SHAREDIR}/openssl/man/man
.for pcfile in ${PCFILES}
${pcfile}: ${pcfile}.in
sed -e 's,@openssl_ver@,${OPENSSL_VER},g' ${.ALLSRC} > ${.TARGET}
.endfor
CLEANFILES+= ${PCFILES}

View File

@ -0,0 +1,12 @@
prefix=/usr
exec_prefix=${prefix}
libdir=${exec_prefix}/lib
includedir=${prefix}/include
enginesdir=${libdir}/engines
Name: OpenSSL-libcrypto
Description: OpenSSL cryptography library
Version: @openssl_ver@
Libs: -L${libdir} -lcrypto
Libs.private: -pthread
Cflags: -I${includedir}

View File

@ -9,6 +9,8 @@ PACKAGE= openssl
NO_LINT=
PCFILES= libssl.pc openssl.pc
.include "../libcrypto/Makefile.inc"
SRCS= bio_ssl.c d1_lib.c d1_msg.c d1_srtp.c methods.c packet.c pqueue.c

View File

@ -0,0 +1,11 @@
prefix=/usr/
exec_prefix=${prefix}
libdir=${exec_prefix}/lib
includedir=${prefix}/include
Name: OpenSSL-libssl
Description: Secure Sockets Layer and cryptography libraries
Version: @openssl_ver@
Requires.private: libcrypto
Libs: -L${libdir} -lssl
Cflags: -I${includedir}

View File

@ -0,0 +1,9 @@
prefix=/usr/
exec_prefix=${prefix}
libdir=${exec_prefix}/lib
includedir=${prefix}/include
Name: OpenSSL
Description: Secure Sockets Layer and cryptography libraries and tools
Version: @openssl_ver@
Requires: libssl libcrypto