[svn-commits] gtjoseph: branch 1.8 r416869 - /branches/1.8/autoconf/ast_ext_tool_check.m4
SVN commits to the Digium repositories
svn-commits at lists.digium.com
Fri Jun 20 16:55:49 CDT 2014
Author: gtjoseph
Date: Fri Jun 20 16:55:41 2014
New Revision: 416869
URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=416869
Log:
build: Allow autoconf/ast_ext_tool_check to handle cross-compiling better.
ast_ext_tool_check.m4 isn't handling cases where a path to a package is
provided (E.G. --with-mysqlclient=/some/sysroot) and the package has a config
tool (E.G. mysql_config) and the package has its own subdirectories in include
or lib. For example, mysql's libraries are in ${MYSQLCLIENT_DIR}/usr/lib/mysql
but ast_ext_tool_check sets MYSQLCLIENT_LIB to ${MYSQLCLIENT_DIR}/usr/lib.
libxml2 has the same problem with its includes. They're in
${LIBXML2_DIR}/usr/include/libxml2 not directly in ${LIBXML2_DIR}/usr/include.
Both cause configure to fail and there are others in the same boat.
The problem is caused by logic in ast_ext_tool_check that overrides the result
of the config tool's --cflags and --libs options if package_DIR is set.
This patch prepends package_DIR (if specified) to the -L and -I results from
the package's config tool instead of overriding them.
Tested by: George Joseph
Tested by: Matt Jordan
Review: https://reviewboard.asterisk.org/r/3550/
Modified:
branches/1.8/autoconf/ast_ext_tool_check.m4
Modified: branches/1.8/autoconf/ast_ext_tool_check.m4
URL: http://svnview.digium.com/svn/asterisk/branches/1.8/autoconf/ast_ext_tool_check.m4?view=diff&rev=416869&r1=416868&r2=416869
==============================================================================
--- branches/1.8/autoconf/ast_ext_tool_check.m4 (original)
+++ branches/1.8/autoconf/ast_ext_tool_check.m4 Fri Jun 20 16:55:41 2014
@@ -5,39 +5,37 @@
# AST_EXT_TOOL_CHECK([package], [tool name], [--cflags], [--libs], [includes], [expression])
AC_DEFUN([AST_EXT_TOOL_CHECK],
[
- if test "x${PBX_$1}" != "x1" -a "${USE_$1}" != "no"; then
- PBX_$1=0
- AC_PATH_TOOL(CONFIG_$1, $2, No, [${$1_DIR}/bin:$PATH])
- if test ! "x${CONFIG_$1}" = xNo; then
- if test x"$3" = x ; then A=--cflags ; else A="$3" ; fi
- $1_INCLUDE=$(${CONFIG_$1} $A)
- if test x"$4" = x ; then A=--libs ; else A="$4" ; fi
- $1_LIB=$(${CONFIG_$1} $A)
- if test x"$5" != x ; then
- saved_cppflags="${CPPFLAGS}"
- if test "x${$1_DIR}" != "x"; then
- $1_INCLUDE="-I${$1_DIR}/include"
+ if test "x${PBX_$1}" != "x1" -a "${USE_$1}" != "no"; then
+ PBX_$1=0
+ AC_PATH_TOOL(CONFIG_$1, $2, No, [${$1_DIR}/bin:$PATH])
+ if test ! "x${CONFIG_$1}" = xNo; then
+ if test x"$3" = x ; then A=--cflags ; else A="$3" ; fi
+ $1_INCLUDE=$(${CONFIG_$1} $A)
+ $1_INCLUDE=$(echo ${$1_INCLUDE} | $SED -e "s|-I|-I${$1_DIR}|g")
+
+ if test x"$4" = x ; then A=--libs ; else A="$4" ; fi
+ $1_LIB=$(${CONFIG_$1} $A)
+ $1_LIB=$(echo ${$1_LIB} | $SED -e "s|-L|-L${$1_DIR}|g")
+
+ if test x"$5" != x ; then
+ saved_cppflags="${CPPFLAGS}"
+ CPPFLAGS="${CPPFLAGS} ${$1_INCLUDE}"
+
+ saved_libs="${LIBS}"
+ LIBS=${$1_LIB}
+
+ AC_LINK_IFELSE(
+ [ AC_LANG_PROGRAM( [ $5 ], [ $6; ])],
+ [ PBX_$1=1 AC_DEFINE([HAVE_$1], 1,
+ [Define if your system has the $1 headers.])],
+ []
+ )
+ CPPFLAGS="${saved_cppflags}"
+ LIBS="${saved_libs}"
+ else
+ PBX_$1=1
+ AC_DEFINE([HAVE_$1], 1, [Define if your system has the $1 libraries.])
+ fi
fi
- CPPFLAGS="${CPPFLAGS} ${$1_INCLUDE}"
-
- saved_libs="${LIBS}"
- LIBS="${$1_LIB}"
-
- AC_LINK_IFELSE(
- [ AC_LANG_PROGRAM( [ $5 ],
- [ $6; ]
- )],
- [ PBX_$1=1
- AC_DEFINE([HAVE_$1], 1, [Define if your system has the $1 headers.])
- ],
- []
- )
- CPPFLAGS="${saved_cppflags}"
- LIBS="${saved_libs}"
- else
- PBX_$1=1
- AC_DEFINE([HAVE_$1], 1, [Define if your system has the $1 libraries.])
- fi
fi
- fi
])
More information about the svn-commits
mailing list