jw-pkg/scripts/create-pkg-config.sh

118 lines
1.8 KiB
Bash
Raw Normal View History

#!/bin/bash
try_assign_sec()
{
local file="$1"
local sec="$2"
local val=`_ytools_cat_section "$file" "$sec"`
[ -n "$val" ] && eval $3=\"$val\"
}
usage()
{
cat <<- EOT | sed 's/^ *|//'
|
| $myname [options]
|
| options are
|
| -h: display this help message and exit sucessfully
| -F filename read project description file
| -d "description" use description
|
EOT
goodbye $1
}
project_descr_file="$1"
myname=`basename $0`
set -e
eval set -- `getopt -- hF:d:n:s:p:v:c:l:V:r:R: "$@"`
while [ "$1" != -- ]; do
case $1 in
-h)
usage 0;;
-F)
project_descr_file="$2"
shift
;;
-d)
description="$2"
shift
;;
-n)
name="$2"
shift
;;
-s)
summary="$2"
shift
;;
-p)
prefix="$2"
shift
;;
-v)
version="$2"
shift
;;
-c)
cflags="$2"
shift
;;
-l)
libflags="$2"
shift
;;
-r)
requires_run="$2"
shift
;;
-R)
requires_build="$2"
shift
;;
-V)
variables="$variables$2\n"
shift
;;
*)
usage 1;;
esac
shift
done
shift
set +e
[ -r "$project_descr_file" ] && {
. ytools-functions.sh
try_assign_sec $project_descr_file description descr
try_assign_sec $project_descr_file summary summary
try_assign_sec $project_descr_file requires_run requires_run
try_assign_sec $project_descr_file requires_build requires_build
}
[ "$variables" ] && echo -e "$variables"
cat <<-EOT
prefix=$prefix
exec_prefix=\${prefix}
includedir=\${prefix}/include
libdir=\${exec_prefix}/lib
Name: $name
Description: $summary
Version: $version
EOT
[ "$cflags" ] && echo "Cflags: $cflags"
[ "$libflags" ] && echo "Libs: $libflags"
[ "$requires_run" ] && echo "Requires: $requires_run"
[ "$requires_build" ] && echo "Requires.private: $requires_build"
# [ "$requires_devel" ] && ?? # not sure what to do with this
exit 0