mirror of https://gitee.com/openkylin/apr.git
248 lines
6.7 KiB
Bash
248 lines
6.7 KiB
Bash
#!/bin/sh
|
|
# Licensed to the Apache Software Foundation (ASF) under one or more
|
|
# contributor license agreements. See the NOTICE file distributed with
|
|
# this work for additional information regarding copyright ownership.
|
|
# The ASF licenses this file to You 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.
|
|
#
|
|
|
|
# APR script designed to allow easy command line access to APR configuration
|
|
# parameters.
|
|
|
|
APR_MAJOR_VERSION="@APR_MAJOR_VERSION@"
|
|
APR_DOTTED_VERSION="@APR_DOTTED_VERSION@"
|
|
|
|
prefix="@prefix@"
|
|
exec_prefix="@exec_prefix@"
|
|
bindir="@bindir@"
|
|
libdir="@libdir@"
|
|
datarootdir="@datadir@"
|
|
datadir="@datadir@"
|
|
installbuilddir="@installbuilddir@"
|
|
includedir="@includedir@"
|
|
|
|
CC="@CC@"
|
|
CPP="@CPP@"
|
|
SHELL="@SHELL@"
|
|
CPPFLAGS="@EXTRA_CPPFLAGS@"
|
|
CFLAGS="@EXTRA_CFLAGS@"
|
|
LDFLAGS="@EXTRA_LDFLAGS@"
|
|
LIBS=""
|
|
EXTRA_INCLUDES="@EXTRA_INCLUDES@"
|
|
SHLIBPATH_VAR="@shlibpath_var@"
|
|
APR_SOURCE_DIR="$(cd @installbuilddir@/.. ; pwd)"
|
|
APR_BUILD_DIR="@apr_builddir@"
|
|
APR_SO_EXT="@so_ext@"
|
|
APR_LIB_TARGET="@export_lib_target@"
|
|
APR_LIBNAME="@APR_LIBNAME@"
|
|
|
|
# NOTE: the following line is modified during 'make install': alter with care!
|
|
location=@APR_CONFIG_LOCATION@
|
|
|
|
show_usage()
|
|
{
|
|
cat << EOF
|
|
Usage: apr-$APR_MAJOR_VERSION-config [OPTION]
|
|
|
|
Known values for OPTION are:
|
|
--prefix[=DIR] change prefix to DIR
|
|
--bindir print location where binaries are installed
|
|
--includedir print location where headers are installed
|
|
--cc print C compiler name
|
|
--cpp print C preprocessor name and any required options
|
|
--cflags print C compiler flags
|
|
--cppflags print C preprocessor flags
|
|
--includes print include information
|
|
--ldflags print linker flags
|
|
--libs print additional libraries to link against
|
|
--srcdir print APR source directory
|
|
--installbuilddir print APR build helper directory
|
|
--link-ld print link switch(es) for linking to APR
|
|
--link-libtool print the libtool inputs for linking to APR
|
|
--shlib-path-var print the name of the shared library path env var
|
|
--apr-la-file print the path to the .la file, if available
|
|
--apr-so-ext print the extensions of shared objects on this platform
|
|
--apr-lib-target print the libtool target information
|
|
--apr-libtool print the path to APR's libtool
|
|
--version print the APR's version as a dotted triple
|
|
--help print this help
|
|
|
|
When linking with libtool, an application should do something like:
|
|
APR_LIBS="\`apr-$APR_MAJOR_VERSION-config --link-libtool --libs\`"
|
|
or when linking directly:
|
|
APR_LIBS="\`apr-$APR_MAJOR_VERSION-config --link-ld --libs\`"
|
|
|
|
An application should use the results of --cflags, --cppflags, --includes,
|
|
and --ldflags in their build process.
|
|
EOF
|
|
}
|
|
|
|
if test $# -eq 0; then
|
|
show_usage
|
|
exit 1
|
|
fi
|
|
|
|
if test "$location" = "installed"; then
|
|
LA_FILE="$libdir/lib${APR_LIBNAME}.la"
|
|
else
|
|
LA_FILE="$APR_BUILD_DIR/lib${APR_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
|
|
;;
|
|
--includedir)
|
|
if test "$location" = "installed"; then
|
|
flags="$includedir"
|
|
elif test "$location" = "source"; then
|
|
flags="$APR_SOURCE_DIR/include"
|
|
else
|
|
# this is for VPATH builds
|
|
flags="$APR_BUILD_DIR/include $APR_SOURCE_DIR/include"
|
|
fi
|
|
echo $flags
|
|
exit 0
|
|
;;
|
|
--cc)
|
|
echo $CC
|
|
exit 0
|
|
;;
|
|
--cpp)
|
|
echo $CPP
|
|
exit 0
|
|
;;
|
|
--cflags)
|
|
flags="$flags $CFLAGS"
|
|
;;
|
|
--cppflags)
|
|
flags="$flags $CPPFLAGS"
|
|
;;
|
|
--libs)
|
|
flags="$flags $LIBS"
|
|
;;
|
|
--ldflags)
|
|
flags="$flags $LDFLAGS"
|
|
;;
|
|
--includes)
|
|
if test "$location" = "installed"; then
|
|
flags="$flags -I$includedir $EXTRA_INCLUDES"
|
|
elif test "$location" = "source"; then
|
|
flags="$flags -I$APR_SOURCE_DIR/include $EXTRA_INCLUDES"
|
|
else
|
|
# this is for VPATH builds
|
|
flags="$flags -I$APR_BUILD_DIR/include -I$APR_SOURCE_DIR/include $EXTRA_INCLUDES"
|
|
fi
|
|
;;
|
|
--srcdir)
|
|
echo $APR_SOURCE_DIR
|
|
exit 0
|
|
;;
|
|
--installbuilddir)
|
|
if test "$location" = "installed"; then
|
|
echo "${installbuilddir}"
|
|
elif test "$location" = "source"; then
|
|
echo "$APR_SOURCE_DIR/build"
|
|
else
|
|
# this is for VPATH builds
|
|
echo "$APR_BUILD_DIR/build"
|
|
fi
|
|
exit 0
|
|
;;
|
|
--version)
|
|
echo $APR_DOTTED_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${APR_LIBNAME}"
|
|
else
|
|
### this surely can't work since the library is in .libs?
|
|
flags="$flags -L$APR_BUILD_DIR -l${APR_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
|
|
# Since the user is specifying they are linking with libtool, we
|
|
# *know* that -R will be recognized by libtool.
|
|
flags="$flags -L$libdir -R$libdir -l${APR_LIBNAME}"
|
|
else
|
|
flags="$flags $LA_FILE"
|
|
fi
|
|
;;
|
|
--shlib-path-var)
|
|
echo "$SHLIBPATH_VAR"
|
|
exit 0
|
|
;;
|
|
--apr-la-file)
|
|
if test -f "$LA_FILE"; then
|
|
flags="$flags $LA_FILE"
|
|
fi
|
|
;;
|
|
--apr-so-ext)
|
|
echo "$APR_SO_EXT"
|
|
exit 0
|
|
;;
|
|
--apr-lib-target)
|
|
echo "$APR_LIB_TARGET"
|
|
exit 0
|
|
;;
|
|
--apr-libtool)
|
|
echo "$installbuilddir/libtool"
|
|
exit 0
|
|
;;
|
|
--help)
|
|
show_usage
|
|
exit 0
|
|
;;
|
|
*)
|
|
show_usage
|
|
exit 1
|
|
;;
|
|
esac
|
|
|
|
# Next please.
|
|
shift
|
|
done
|
|
|
|
if test -n "$flags"; then
|
|
echo "$flags"
|
|
fi
|
|
|
|
exit 0
|