source: mainline/tools/xcw/bin/helenos-pkg-config@ aaae6d9

lfn serial ticket/834-toolchain-update topic/msim-upgrade topic/simplify-dev-export
Last change on this file since aaae6d9 was f98434b8, checked in by Jiri Svoboda <jiri@…>, 8 years ago

Add support for libhound and libpcm to helenos-pkg-config.

  • Property mode set to 100755
File size: 2.9 KB
Line 
1#!/bin/bash
2#
3# Copyright (c) 2015 Jiri Svoboda
4# All rights reserved.
5#
6# Redistribution and use in source and binary forms, with or without
7# modification, are permitted provided that the following conditions
8# are met:
9#
10# - Redistributions of source code must retain the above copyright
11# notice, this list of conditions and the following disclaimer.
12# - Redistributions in binary form must reproduce the above copyright
13# notice, this list of conditions and the following disclaimer in the
14# documentation and/or other materials provided with the distribution.
15# - The name of the author may not be used to endorse or promote products
16# derived from this software without specific prior written permission.
17#
18# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
19# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
20# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
21# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
22# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
23# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
24# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
25# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
27# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28#
29# pkg-config-like tool for HelenOS libraries
30# HelenOS Cross Compiler Wrapper (XCW)
31# Facilitate cross-compiling external software to HelenOS
32#
33
34XCW="$(dirname "$0")"
35SRC_ROOT="$XCW/../../.."
36UARCH="$("$XCW"/helenos-bld-config --uarch)"
37
38libmath_cflags="-I$SRC_ROOT/uspace/lib/math/include\
39 -I$SRC_ROOT/uspace/lib/math/arch/$UARCH/include"
40libmath_libs="$SRC_ROOT/uspace/lib/math/libmath.a"
41
42libgui_cflags="-I$SRC_ROOT/uspace/lib/gui"
43libgui_libs="$SRC_ROOT/uspace/lib/gui/libgui.a"
44
45libdraw_cflags="-I$SRC_ROOT/uspace/lib/draw"
46libdraw_libs="$SRC_ROOT/uspace/lib/draw/libdraw.a \
47 $SRC_ROOT/uspace/lib/softrend/libsoftrend.a"
48
49libhound_cflags="-I$SRC_ROOT/uspace/lib/hound/include"
50libhound_libs="$SRC_ROOT/uspace/lib/hound/libhound.a"
51
52libpcm_cflags="-I$SRC_ROOT/uspace/lib/pcm/include"
53libpcm_libs="$SRC_ROOT/uspace/lib/pcm/libpcm.a"
54
55action=none
56pkg=
57
58while [ ".$1" != . ] ; do
59 case ".$1" in
60 (.--cflags) action=cflags;;
61 (.--libs) action=libs;;
62 (.-*) echo "Uknwown option $1" >&2; exit 1;;
63 (.*)
64 case "$1" in
65 (libgui) ;;
66 (libdraw) ;;
67 (libmath) ;;
68 (libhound) ;;
69 (libpcm) ;;
70 (*) echo "Unknown package $1" >&2; exit 1;;
71 esac
72
73 echo "$pkg" | grep -w "$1" >/dev/null 2>&1
74 if [ $? -ne 0 ] ; then
75 pkg="$pkg $1"
76 fi;;
77 esac
78 shift 1
79done
80
81if [ ."$pkg" = . ]; then
82 echo "Package name(s) required." >&2
83 exit 1
84fi
85
86for p in $pkg ; do
87 case "$action" in
88 (cflags) eval "printf ' %s' \$${p}_cflags";;
89 (libs) eval "printf ' %s' \$${p}_libs";;
90 esac
91done
92
93echo
Note: See TracBrowser for help on using the repository browser.