xref: /openbsd-src/lib/libelf/generate_pkgconfig.sh (revision a1b5ec256a03e12d667837fca8bf42f20675916f)
1*a1b5ec25Sjsg#!/bin/sh
2*a1b5ec25Sjsg#
3*a1b5ec25Sjsg# $OpenBSD: generate_pkgconfig.sh,v 1.1 2019/02/01 05:27:38 jsg Exp $
4*a1b5ec25Sjsg#
5*a1b5ec25Sjsg# Copyright (c) 2010,2011 Jasper Lievisse Adriaanse <jasper@openbsd.org>
6*a1b5ec25Sjsg#
7*a1b5ec25Sjsg# Permission to use, copy, modify, and distribute this software for any
8*a1b5ec25Sjsg# purpose with or without fee is hereby granted, provided that the above
9*a1b5ec25Sjsg# copyright notice and this permission notice appear in all copies.
10*a1b5ec25Sjsg#
11*a1b5ec25Sjsg# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
12*a1b5ec25Sjsg# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
13*a1b5ec25Sjsg# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
14*a1b5ec25Sjsg# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
15*a1b5ec25Sjsg# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
16*a1b5ec25Sjsg# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
17*a1b5ec25Sjsg# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
18*a1b5ec25Sjsg#
19*a1b5ec25Sjsg# Generate pkg-config file for libelf
20*a1b5ec25Sjsg
21*a1b5ec25Sjsgusage() {
22*a1b5ec25Sjsg	echo "usage: ${0##*/} -c current_directory -o obj_directory"
23*a1b5ec25Sjsg	exit 1
24*a1b5ec25Sjsg}
25*a1b5ec25Sjsg
26*a1b5ec25Sjsgcurdir=
27*a1b5ec25Sjsgobjdir=
28*a1b5ec25Sjsgwhile getopts "c:o:" flag; do
29*a1b5ec25Sjsg	case "$flag" in
30*a1b5ec25Sjsg		c)
31*a1b5ec25Sjsg			curdir=$OPTARG
32*a1b5ec25Sjsg			;;
33*a1b5ec25Sjsg		o)
34*a1b5ec25Sjsg			objdir=$OPTARG
35*a1b5ec25Sjsg			;;
36*a1b5ec25Sjsg		*)
37*a1b5ec25Sjsg			usage
38*a1b5ec25Sjsg			;;
39*a1b5ec25Sjsg	esac
40*a1b5ec25Sjsgdone
41*a1b5ec25Sjsg
42*a1b5ec25Sjsg[ -n "${curdir}" ] || usage
43*a1b5ec25Sjsgif [ ! -d "${curdir}" ]; then
44*a1b5ec25Sjsg	echo "${0##*/}: ${curdir}: not found"
45*a1b5ec25Sjsg	exit 1
46*a1b5ec25Sjsgfi
47*a1b5ec25Sjsg[ -n "${objdir}" ] || usage
48*a1b5ec25Sjsgif [ ! -w "${objdir}" ]; then
49*a1b5ec25Sjsg	echo "${0##*/}: ${objdir}: not found or not writable"
50*a1b5ec25Sjsg	exit 1
51*a1b5ec25Sjsgfi
52*a1b5ec25Sjsg
53*a1b5ec25Sjsglib_version=0.8.12
54*a1b5ec25Sjsg
55*a1b5ec25Sjsgpc_file="${objdir}/libelf.pc"
56*a1b5ec25Sjsgcat > ${pc_file} << __EOF__
57*a1b5ec25Sjsgprefix=/usr
58*a1b5ec25Sjsgexec_prefix=\${prefix}
59*a1b5ec25Sjsglibdir=\${exec_prefix}/lib
60*a1b5ec25Sjsgincludedir=\${prefix}/include
61*a1b5ec25Sjsg
62*a1b5ec25SjsgName: libelf
63*a1b5ec25SjsgDescription: ELF library
64*a1b5ec25SjsgVersion: ${lib_version}
65*a1b5ec25SjsgRequires:
66*a1b5ec25SjsgLibs: -L\${libdir} -lelf
67*a1b5ec25SjsgCflags: -I\${includedir}
68*a1b5ec25Sjsg__EOF__
69