diff options
-rw-r--r-- | CHANGES | 2 | ||||
-rw-r--r-- | apr-config.in | 22 |
2 files changed, 24 insertions, 0 deletions
@@ -1,6 +1,8 @@ -*- coding: utf-8 -*- Changes for APR 1.7.1 + *) Add the ability to cross compile APR. [Graham Leggett] + *) While cross-compiling, the tools/gen_test_char could not be executed at build time, use AX_PROG_CC_FOR_BUILD to build native tools/gen_test_char diff --git a/apr-config.in b/apr-config.in index 84b407356..4873fc00e 100644 --- a/apr-config.in +++ b/apr-config.in @@ -48,6 +48,14 @@ APR_LIBNAME="@APR_LIBNAME@" # NOTE: the following line is modified during 'make install': alter with care! location=@APR_CONFIG_LOCATION@ +# absolute path, but not installed path - we're cross compiling +case "$0" in + "${bindir}/"*) ;; + "/"*) location=crosscompile; + APR_TARGET_DIR=${0%${bindir}/apr-${APR_MAJOR_VERSION}-config} ;; + *) ;; +esac + show_usage() { cat << EOF @@ -93,6 +101,8 @@ 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 @@ -122,6 +132,8 @@ while test $# -gt 0; do --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 @@ -154,6 +166,8 @@ while test $# -gt 0; do --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 @@ -168,6 +182,8 @@ while test $# -gt 0; do --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 @@ -184,6 +200,8 @@ while test $# -gt 0; do if test "$location" = "installed"; then ### avoid using -L if libdir is a "standard" location like /usr/lib flags="$flags -L$libdir -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}" @@ -201,6 +219,8 @@ while test $# -gt 0; do # 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 @@ -225,6 +245,8 @@ while test $# -gt 0; do --apr-libtool) if test "$location" = "installed"; then echo "${installbuilddir}/libtool" + elif test "$location" = "crosscompile"; then + echo "$APR_TARGET_DIR/${installbuilddir}/build" else echo "$APR_BUILD_DIR/libtool" fi |