generate_pkgconfig.sh revision 1.6
1#!/bin/sh
2#
3# $OpenBSD: generate_pkgconfig.sh,v 1.6 2011/05/03 17:28:25 jasper Exp $
4#
5# Generate pkg-config files for OpenSSL.
6
7usage() {
8	echo "usage: ${0##*/} [-k] -c current_directory -o obj_directory"
9	exit 1
10}
11
12curdir=
13objdir=
14while getopts "c:ko:" flag; do
15	case "$flag" in
16		c)
17			curdir=$OPTARG
18			;;
19		o)
20			objdir=$OPTARG
21			;;
22		*)
23			usage
24			;;
25	esac
26done
27
28[ -n "${curdir}" ] || usage
29if [ ! -d "${curdir}" ]; then
30	echo "${0##*/}: ${curdir}: not found"
31	exit 1
32fi
33[ -n "${objdir}" ] || usage
34if [ ! -w "${objdir}" ]; then
35	echo "${0##*/}: ${objdir}: not found or not writable"
36	exit 1
37fi
38
39ssl_version=$(sed -nE 's/^#define[[:blank:]]+SHLIB_VERSION_NUMBER[[:blank:]]+"(.*)".*/\1/p' \
40	${curdir}/src/crypto/opensslv.h)
41
42# Put -I${includedir} into Cflags so configure script tests like
43#   test -n "`pkg-config --cflags openssl`"
44# don't assume that OpenSSL isn't available.
45
46pc_file="${objdir}/libcrypto.pc"
47cat > ${pc_file} << __EOF__
48prefix=/usr
49exec_prefix=\${prefix}
50libdir=\${exec_prefix}/lib
51includedir=\${prefix}/include
52
53Name: OpenSSL-libcrypto
54Description: OpenSSL cryptography library
55Version: ${ssl_version}
56Requires: 
57Libs: -L\${libdir} -lcrypto
58Cflags: -I\${includedir}
59__EOF__
60
61
62pc_file="${objdir}/libssl.pc"
63cat > ${pc_file} << __EOF__
64prefix=/usr
65exec_prefix=\${prefix}
66libdir=\${exec_prefix}/lib
67includedir=\${prefix}/include
68
69Name: OpenSSL
70Description: Secure Sockets Layer and cryptography libraries
71Version: ${ssl_version}
72Requires: 
73Libs: -L\${libdir} -lssl -lcrypto
74Cflags: -I\${includedir}
75__EOF__
76
77
78pc_file="${objdir}/openssl.pc"
79cat > ${pc_file} << __EOF__
80prefix=/usr
81exec_prefix=\${prefix}
82libdir=\${exec_prefix}/lib
83includedir=\${prefix}/include
84
85Name: OpenSSL
86Description: Secure Sockets Layer and cryptography libraries and tools
87Version: ${ssl_version}
88Requires: 
89Libs: -L\${libdir} -lssl -lcrypto
90Cflags: -I\${includedir}
91__EOF__
92