#!/bin/sh

##
##  Copyright 2003-2006  The Apache Software Foundation
##
##  Licensed under the Apache License, Version 2.0 (the "License");
##  you may not use this file except in compliance with the License.
##  You may obtain a copy of the License at
##
##      http://www.apache.org/licenses/LICENSE-2.0
##
##  Unless required by applicable law or agreed to in writing, software
##  distributed under the License is distributed on an "AS IS" BASIS,
##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
##  See the License for the specific language governing permissions and
##  limitations under the License.
##

# apreq2-config- based on apu-config:
# APR-util script designed to allow easy command line access to APR-util
# configuration parameters.

PATH=/bin:/usr/bin:/usr/local/bin

prefix="/usr"
exec_prefix="@exec_prefix@"
bindir="@bindir@"
libdir="@libdir@"
includedir="@includedir@/@APREQ_LIBNAME@"

LIBS="@APR_LIBS@"
LDFLAGS="@APR_LDFLAGS@"
INCLUDES="@APR_INCLUDES@"
SOLARIS=`echo @build_os@ | grep -i solaris`

APREQ_LIBNAME="@APREQ_LIBNAME@"

APREQ_SOURCE_DIR="@abs_srcdir@"
APREQ_BUILD_DIR="@abs_builddir@"

show_usage()
{
    cat << EOF
Usage: apreq2-config [OPTION]

Known values for OPTION are:
  --prefix[=DIR]    change prefix to DIR
  --bindir          print location where binaries are installed
  --includes        print include information
  --includedir      print location where headers are installed
  --ldflags         print linker flags
  --libs            print library information
  --srcdir          print apreq2 source directory
  --link-ld         print link switch(es) for linking to libapreq2
  --link-libtool    print the libtool inputs for linking to libapreq2
  --la-file         print the path to the library's .la file, if available
  --library-version print the API version as a dotted triple
  --libtool-version print the ABI version in a libtool-compatible format
  --package-version print the version number of the distribution
  --help            print this help

When linking with libtool, an application should do something like:
  APREQ_LIBS="\`apreq2-config --link-libtool --libs\`"
or when linking directly:
  APREQ_LIBS="\`apreq2-config --link-ld --ldflags --libs\`"

An application should use the results of --includes, and --ldflags in
their build process.
EOF
}

if test $# -eq 0; then
    show_usage
    exit 1
fi

thisdir="`dirname $0`"
thisdir="`cd $thisdir && pwd`"
if test -d $bindir; then
    tmpbindir="`cd $bindir && pwd`"
else
    tmpbindir=""
fi
# If we have the realpath program, use it to resolve symlinks.
# Otherwise, being in a symlinked dir may result in incorrect output.
if test -x "`which realpath 2>/dev/null`"; then
    thisdir="`realpath $thisdir`"
    if test -d "$APREQ_SOURCE_DIR"; then
        APREQ_SOURCE_DIR="`realpath $APREQ_SOURCE_DIR`"
    fi
    if test -n "$tmpbindir"; then
        tmpbindir="`realpath $tmpbindir`"
    fi
fi
if test "$tmpbindir" = "$thisdir"; then
    location=installed
elif test "$APREQ_SOURCE_DIR" = "$thisdir"; then
    location=source
else
    location=build
fi


if test "$location" = "installed"; then
    LA_FILE="$libdir/lib${APREQ_LIBNAME}.la"
else
    LA_FILE="$thisdir/library/lib${APREQ_LIBNAME}.la"
fi

flags=""

while test $# -gt 0; do
    # Normalize the prefix.
    case "$1" in
    -*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
    *) optarg= ;;
    esac

    case "$1" in
    # It is possible for the user to override our prefix.
    --prefix=*)
    prefix=$optarg
    ;;
    --prefix)
    echo $prefix
    exit 0
    ;;
    --bindir)
    echo $bindir
    exit 0
    ;;
    --libs)
    flags="$flags $LIBS"
    ;;
    --includedir)
    if test "$location" = "installed"; then
        flags="$includedir"
    elif test "$location" = "source"; then
        flags="$APREQ_SOURCE_DIR/include"
    else
        # this is for VPATH builds
        flags="$thisdir/include $APREQ_SOURCE_DIR/include"
    fi
    echo $flags
    exit 0
    ;;
    --includes)
    if test "$location" = "installed"; then
        flags="$flags -I$includedir $INCLUDES"
    elif test "$location" = "source"; then
        flags="$flags -I$APREQ_SOURCE_DIR/include $INCLUDES"
    else
        # this is for VPATH builds
        flags="$flags -I$thisdir/include -I$APREQ_SOURCE_DIR/include $INCLUDES"
    fi
    ;;
    --ldflags)
    flags="$flags $LDFLAGS"
    ;;
    --srcdir)
    echo $APREQ_SOURCE_DIR
    exit 0
    ;;
    --library-version)
    echo @APREQ_DOTTED_VERSION@
    exit 0
    ;;
    --libtool-version)
    echo @APREQ_LIBTOOL_VERSION@
    exit 0
    ;;
    --package-version)
    echo "@VERSION@"
    exit 0
    ;;
    --link-ld)
    if test "$location" = "installed"; then
        ### avoid using -L if libdir is a "standard" location like /usr/lib
        flags="$flags -L$libdir -l$APREQ_LIBNAME"
    else
        flags="$flags -L$thisdir/library/.libs -l$APREQ_LIBNAME"
    fi
    ;;
    --link-libtool)
    # If the LA_FILE exists where we think it should be, use it.  If we're
    # installed and the LA_FILE does not exist, assume to use -L/-l
    # (the LA_FILE may not have been installed).  If we're building ourselves,
    # we'll assume that at some point the .la file be created.
    if test -f "$LA_FILE"; then
        flags="$flags $LA_FILE"
    elif test "$location" = "installed"; then
        ### avoid using -L if libdir is a "standard" location like /usr/lib
        flags="$flags -L$libdir -l$APREQ_LIBNAME $apreq_libs"
    else
        flags="$flags $LA_FILE"
    fi
    ;;
    --la-file)
    if test -f "$LA_FILE"; then
        flags="$flags $LA_FILE"
    fi
    ;;
    --help)
    show_usage
    exit 0
    ;;
    *)
    show_usage
    exit 1
    ;;
    esac

    # Next please.
    shift
done

if test -n "$flags"; then
    if test -n "$SOLARIS"; then
        flags=`echo $flags | sed -e 's/-L\([^ ]*\)/-R\1 -L\1/g'`
    fi
    echo "$flags"
fi

exit 0
