1c2532eacSjasper#!/bin/sh 2c2532eacSjasper# 3*4802b73fSjasper# $OpenBSD: generate_pkgconfig.sh,v 1.2 2012/07/07 08:25:21 jasper Exp $ 4c2532eacSjasper# 5c2532eacSjasper# Copyright (c) 2010-2012 Jasper Lievisse Adriaanse <jasper@openbsd.org> 6c2532eacSjasper# 7c2532eacSjasper# Permission to use, copy, modify, and distribute this software for any 8c2532eacSjasper# purpose with or without fee is hereby granted, provided that the above 9c2532eacSjasper# copyright notice and this permission notice appear in all copies. 10c2532eacSjasper# 11c2532eacSjasper# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 12c2532eacSjasper# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 13c2532eacSjasper# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 14c2532eacSjasper# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 15c2532eacSjasper# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 16c2532eacSjasper# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 17c2532eacSjasper# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 18c2532eacSjasper# 19c2532eacSjasper# Generate pkg-config file for expat. 20c2532eacSjasper 21c2532eacSjasperusage() { 22c2532eacSjasper echo "usage: ${0##*/} -c current_directory -o obj_directory" 23c2532eacSjasper exit 1 24c2532eacSjasper} 25c2532eacSjasper 26c2532eacSjaspercurdir= 27c2532eacSjasperobjdir= 28c2532eacSjasperwhile getopts "c:o:" flag; do 29c2532eacSjasper case "$flag" in 30c2532eacSjasper c) 31c2532eacSjasper curdir=$OPTARG 32c2532eacSjasper ;; 33c2532eacSjasper o) 34c2532eacSjasper objdir=$OPTARG 35c2532eacSjasper ;; 36c2532eacSjasper *) 37c2532eacSjasper usage 38c2532eacSjasper ;; 39c2532eacSjasper esac 40c2532eacSjasperdone 41c2532eacSjasper 42c2532eacSjasper[ -n "${curdir}" ] || usage 43c2532eacSjasperif [ ! -d "${curdir}" ]; then 44c2532eacSjasper echo "${0##*/}: ${curdir}: not found" 45c2532eacSjasper exit 1 46c2532eacSjasperfi 47c2532eacSjasper[ -n "${objdir}" ] || usage 48c2532eacSjasperif [ ! -w "${objdir}" ]; then 49c2532eacSjasper echo "${0##*/}: ${objdir}: not found or not writable" 50c2532eacSjasper exit 1 51c2532eacSjasperfi 52c2532eacSjasper 53c2532eacSjasperversion_major_re="s/#define[[:blank:]]XML_MAJOR_VERSION[[:blank:]](.*)/\1/p" 54c2532eacSjasperversion_minor_re="s/#define[[:blank:]]XML_MINOR_VERSION[[:blank:]](.*)/\1/p" 55c2532eacSjasperversion_micro_re="s/#define[[:blank:]]XML_MICRO_VERSION[[:blank:]](.*)/\1/p" 56c2532eacSjasperversion_file=${curdir}/lib/expat.h 57c2532eacSjasperlib_version=$(sed -nE ${version_major_re} ${version_file}).$(sed -nE ${version_minor_re} ${version_file}).$(sed -nE ${version_micro_re} ${version_file}) 58c2532eacSjasper 59c2532eacSjasperpc_file="${objdir}/expat.pc" 60c2532eacSjaspercat > ${pc_file} << __EOF__ 61c2532eacSjasperprefix=/usr 62c2532eacSjasperexec_prefix=\${prefix} 63c2532eacSjasperlibdir=\${exec_prefix}/lib 64c2532eacSjasperincludedir=\${prefix}/include 65c2532eacSjasper 66c2532eacSjasperName: expat 67c2532eacSjasperDescription: expat XML parser 68*4802b73fSjasperURL: http://www.libexpat.org 69c2532eacSjasperVersion: ${lib_version} 70c2532eacSjasperLibs: -L\${libdir} -lexpat 71c2532eacSjasperCflags: -I\${includedir} 72c2532eacSjasper__EOF__ 73