#!/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="1" APR_DOTTED_VERSION="1.7.5" prefix="/opt/cpanel/ea-apr16" exec_prefix="${prefix}" bindir="${exec_prefix}/bin" datarootdir="${prefix}" datadir="${prefix}" includedir="${prefix}/include/apr-${APR_MAJOR_VERSION}" libdir=`pkg-config --variable=libdir ea-apr16-1` installbuilddir="${libdir}/apr-1/build" CC="gcc" CPP="gcc -E" SHELL="/bin/sh" CPPFLAGS=`pkg-config --variable=CPPFLAGS ea-apr16-1` CFLAGS="-g -O2 -pthread" LDFLAGS="" LIBS=" -lpthread -ldl" EXTRA_INCLUDES="" SHLIBPATH_VAR="LD_LIBRARY_PATH" APR_SOURCE_DIR="${libdir}/build" APR_BUILD_DIR="${libdir}/build" APR_SO_EXT="lo" APR_LIB_TARGET="-rpath \$(libdir) \$(OBJECTS)" APR_LIBNAME="apr-${APR_MAJOR_VERSION}" # NOTE: the following line is modified during 'make install': alter with care! location=installed cross_compiling=no if test "$cross_compiling" != "no"; then # Normalize $0 and bindir by removing consecutive '/' as the comparison # and the suffix removal below might fail for semantic equal pathes. # XXX: This is not perfect. On Linux we could use realpath for this purpose # but realpath is not portable. normalized_command=`echo $0 | tr -s /` normalized_bindir=`echo ${bindir} | tr -s /` # Remove trailing '/' normalized_bindir=${normalized_bindir%/} # absolute path, but not installed path - we're cross compiling case "$normalized_command" in "${normalized_bindir}/"*) ;; "/"*) location=crosscompile; APR_TARGET_DIR=${normalized_command%${normalized_bindir}/apr-${APR_MAJOR_VERSION}-config}; ;; *) ;; esac fi 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" elif test "$location" = "crosscompile"; then LA_FILE="$APR_TARGET_DIR/$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" = "crosscompile"; then flags="$APR_TARGET_DIR/$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" = "crosscompile"; then flags="$flags -I$APR_TARGET_DIR/$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" = "crosscompile"; then echo "$APR_TARGET_DIR/${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 if test "$prefix" != "/usr"; then flags="$flags -L$libdir" fi flags="$flags -l${APR_LIBNAME}" elif test "$location" = "crosscompile"; then flags="$flags -L$APR_TARGET_DIR/$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}" elif test "$location" = "crosscompile"; then flags="$flags -L${APR_TARGET_DIR}/$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) if test "$location" = "installed"; then echo "${installbuilddir}/libtool" elif test "$location" = "crosscompile"; then echo "$APR_TARGET_DIR/${installbuilddir}/libtool" else echo "$APR_BUILD_DIR/libtool" fi 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