1#!/bin/sh
2# Licensed to the Apache Software Foundation (ASF) under one or more
3# contributor license agreements.  See the NOTICE file distributed with
4# this work for additional information regarding copyright ownership.
5# The ASF licenses this file to You under the Apache License, Version 2.0
6# (the "License"); you may not use this file except in compliance with
7# the License.  You may obtain a copy of the License at
8#
9#     http://www.apache.org/licenses/LICENSE-2.0
10#
11# Unless required by applicable law or agreed to in writing, software
12# distributed under the License is distributed on an "AS IS" BASIS,
13# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14# See the License for the specific language governing permissions and
15# limitations under the License.
16#
17
18# APR-util script designed to allow easy command line access to APR-util
19# configuration parameters.
20
21APRUTIL_MAJOR_VERSION="@APRUTIL_MAJOR_VERSION@"
22APRUTIL_DOTTED_VERSION="@APRUTIL_DOTTED_VERSION@"
23
24prefix="@prefix@"
25exec_prefix="@exec_prefix@"
26bindir="@bindir@"
27libdir="@libdir@"
28includedir="@includedir@"
29
30LIBS="@APRUTIL_EXPORT_LIBS@"
31INCLUDES="@APRUTIL_INCLUDES@"
32LDFLAGS="@APRUTIL_LDFLAGS@"
33LDAP_LIBS="@LDADD_ldap@"
34DBM_LIBS="@LDADD_dbm_db@ @LDADD_dbm_gdbm@ @LDADD_dbm_ndbm@"
35
36APRUTIL_LIBNAME="@APRUTIL_LIBNAME@"
37
38APU_SOURCE_DIR="@abs_srcdir@"
39APU_BUILD_DIR="@abs_builddir@"
40APR_XML_EXPAT_OLD="@APR_XML_EXPAT_OLD@"
41APU_DB_VERSION="@apu_db_version@"
42
43# NOTE: the following line is modified during 'make install': alter with care!
44location=@APU_CONFIG_LOCATION@
45
46show_usage()
47{
48    cat << EOF
49Usage: apu-$APRUTIL_MAJOR_VERSION-config [OPTION]
50
51Known values for OPTION are:
52  --prefix[=DIR]    change prefix to DIR
53  --bindir          print location where binaries are installed
54  --includes        print include information
55  --includedir      print location where headers are installed
56  --ldflags         print linker flags
57  --libs            print library information
58  --avoid-ldap      do not include ldap library information with --libs
59  --ldap-libs       print library information to link with ldap
60  --avoid-dbm       do not include DBM library information with --libs
61  --dbm-libs        print additional library information to link with DBM
62  --srcdir          print APR-util source directory
63  --link-ld         print link switch(es) for linking to APR-util
64  --link-libtool    print the libtool inputs for linking to APR-util
65  --apu-la-file     print the path to the .la file, if available
66  --old-expat       indicate if APR-util was built against an old expat
67  --db-version      print the DB version
68  --version         print APR-util's version as a dotted triple
69  --help            print this help
70
71When linking with libtool, an application should do something like:
72  APU_LIBS="\`apu-$APRUTIL_MAJOR_VERSION-config --link-libtool --libs\`"
73or when linking directly:
74  APU_LIBS="\`apu-$APRUTIL_MAJOR_VERSION-config --link-ld --libs\`"
75
76An application should use the results of --includes, and --ldflags in
77their build process.
78EOF
79}
80
81if test $# -eq 0; then
82    show_usage
83    exit 1
84fi
85
86if test "$location" = "installed"; then
87    LA_FILE="$libdir/lib${APRUTIL_LIBNAME}.la"
88else
89    LA_FILE="$APU_BUILD_DIR/lib${APRUTIL_LIBNAME}.la"
90fi
91
92flags=""
93
94while test $# -gt 0; do
95    # Normalize the prefix.
96    case "$1" in
97    -*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
98    *) optarg= ;;
99    esac
100
101    case "$1" in
102    # It is possible for the user to override our prefix.
103    --prefix=*)
104    prefix=$optarg
105    ;;
106    --prefix)
107    echo $prefix
108    exit 0
109    ;;
110    --bindir)
111    echo $bindir
112    exit 0
113    ;;
114    --avoid-ldap)
115    LDAP_LIBS=""
116    ;;
117    --avoid-dbm)
118    DBM_LIBS=""
119    ;;
120    --libs)
121    flags="$flags $LDAP_LIBS $DBM_LIBS $LIBS"
122    ;;
123    --ldap-libs)
124    flags="$flags $LDAP_LIBS"
125    ;;
126    --dbm-libs)
127    flags="$flags $DBM_LIBS"
128    ;;
129    --includedir)
130    if test "$location" = "installed"; then
131        flags="$includedir"
132    elif test "$location" = "source"; then
133        flags="$APU_SOURCE_DIR/include"
134    else
135        # this is for VPATH builds
136        flags="$APU_BUILD_DIR/include $APU_SOURCE_DIR/include"
137    fi
138    echo $flags
139    exit 0
140    ;;
141    --includes)
142    if test "$location" = "installed"; then
143        flags="$flags -I$includedir $INCLUDES"
144    elif test "$location" = "source"; then
145        flags="$flags -I$APU_SOURCE_DIR/include $INCLUDES"
146    else
147        # this is for VPATH builds
148        flags="$flags -I$APU_BUILD_DIR/include -I$APU_SOURCE_DIR/include $INCLUDES"
149    fi
150    ;;
151    --ldflags)
152    flags="$flags $LDFLAGS"
153    ;;
154    --srcdir)
155    echo $APU_SOURCE_DIR
156    exit 0
157    ;;
158    --version)
159    echo $APRUTIL_DOTTED_VERSION
160    exit 0
161    ;;
162    --link-ld)
163    if test "$location" = "installed"; then
164        ### avoid using -L if libdir is a "standard" location like /usr/lib
165        flags="$flags -L$libdir -l$APRUTIL_LIBNAME"
166    else
167        flags="$flags -L$APU_BUILD_DIR -l$APRUTIL_LIBNAME"
168    fi
169    ;;
170    --link-libtool)
171    # If the LA_FILE exists where we think it should be, use it.  If we're
172    # installed and the LA_FILE does not exist, assume to use -L/-l
173    # (the LA_FILE may not have been installed).  If we're building ourselves,
174    # we'll assume that at some point the .la file be created.
175    if test -f "$LA_FILE"; then
176        flags="$flags $LA_FILE"
177    elif test "$location" = "installed"; then
178        ### avoid using -L if libdir is a "standard" location like /usr/lib
179        # Since the user is specifying they are linking with libtool, we
180        # *know* that -R will be recognized by libtool.
181        flags="$flags -L$libdir -R$libdir -l$APRUTIL_LIBNAME"
182    else
183        flags="$flags $LA_FILE"
184    fi
185    ;;
186    --apu-la-file)
187    if test -f "$LA_FILE"; then
188        flags="$flags $LA_FILE"
189    fi
190    ;;
191    --old-expat)
192    if test ! -n "$APR_XML_EXPAT_OLD"; then
193        echo "no"
194    else
195        echo "$APR_XML_EXPAT_OLD"
196    fi
197    exit 0
198    ;;
199    --db-version)
200    echo $APU_DB_VERSION
201    exit 0
202    ;;
203    --help)
204    show_usage
205    exit 0
206    ;;
207    *)
208    show_usage
209    exit 1
210    ;;
211    esac
212
213    # Next please.
214    shift
215done
216
217if test -n "$flags"; then
218  echo "$flags"
219fi
220
221exit 0
222