configure: Fix libxml2 development library dependency checking

The commit that added libxml2 support didn't fully check for the libxml2
development script in the Asterisk configure file. As a result, Asterisk could
be configured, then fail on menuselect. This patch fixes it so that Asterisk
should detect the libxml2 dependency failure first.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@418850 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Matthew Jordan 2014-07-17 19:31:05 +00:00
parent 26c7e684ea
commit 3f64ca0c04
5 changed files with 168 additions and 165 deletions

View File

@ -24,7 +24,8 @@
From 12 to 13:
- The menuselect utility has been pulled into the Asterisk repository. As a
result, the libxml2 library is now a required dependency for Asterisk.
result, the libxml2 development library is now a required dependency for
Asterisk.
- The asterisk command line -I option and the asterisk.conf internal_timing
option are removed and always enabled if any timing module is loaded.

309
configure vendored
View File

@ -1,5 +1,5 @@
#! /bin/sh
# From configure.ac Revision: 418035 .
# From configure.ac Revision: 418834 .
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.68 for asterisk trunk.
#
@ -12646,9 +12646,160 @@ if test "x$JANSSON_LIB" == "x"; then
as_fn_error $? "*** JSON support not found (this typically means the libjansson development package is missing)" "$LINENO" 5
fi
if test "x$PBX_LIBXML2" == "x"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: *** Asterisk requires the 'libxml2' development package." >&5
$as_echo "$as_me: *** Asterisk requires the 'libxml2' development package." >&6;}
if test "x${PBX_LIBXML2}" != "x1" -a "${USE_LIBXML2}" != "no"; then
PBX_LIBXML2=0
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}xml2-config", so it can be a program name with args.
set dummy ${ac_tool_prefix}xml2-config; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_path_CONFIG_LIBXML2+:} false; then :
$as_echo_n "(cached) " >&6
else
case $CONFIG_LIBXML2 in
[\\/]* | ?:[\\/]*)
ac_cv_path_CONFIG_LIBXML2="$CONFIG_LIBXML2" # Let the user override the test with a path.
;;
*)
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
as_dummy="${LIBXML2_DIR}/bin:$PATH"
for as_dir in $as_dummy
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_path_CONFIG_LIBXML2="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
;;
esac
fi
CONFIG_LIBXML2=$ac_cv_path_CONFIG_LIBXML2
if test -n "$CONFIG_LIBXML2"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CONFIG_LIBXML2" >&5
$as_echo "$CONFIG_LIBXML2" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
fi
if test -z "$ac_cv_path_CONFIG_LIBXML2"; then
ac_pt_CONFIG_LIBXML2=$CONFIG_LIBXML2
# Extract the first word of "xml2-config", so it can be a program name with args.
set dummy xml2-config; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_path_ac_pt_CONFIG_LIBXML2+:} false; then :
$as_echo_n "(cached) " >&6
else
case $ac_pt_CONFIG_LIBXML2 in
[\\/]* | ?:[\\/]*)
ac_cv_path_ac_pt_CONFIG_LIBXML2="$ac_pt_CONFIG_LIBXML2" # Let the user override the test with a path.
;;
*)
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
as_dummy="${LIBXML2_DIR}/bin:$PATH"
for as_dir in $as_dummy
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_path_ac_pt_CONFIG_LIBXML2="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
;;
esac
fi
ac_pt_CONFIG_LIBXML2=$ac_cv_path_ac_pt_CONFIG_LIBXML2
if test -n "$ac_pt_CONFIG_LIBXML2"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_CONFIG_LIBXML2" >&5
$as_echo "$ac_pt_CONFIG_LIBXML2" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
if test "x$ac_pt_CONFIG_LIBXML2" = x; then
CONFIG_LIBXML2="No"
else
case $cross_compiling:$ac_tool_warned in
yes:)
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
CONFIG_LIBXML2=$ac_pt_CONFIG_LIBXML2
fi
else
CONFIG_LIBXML2="$ac_cv_path_CONFIG_LIBXML2"
fi
if test ! "x${CONFIG_LIBXML2}" = xNo; then
if test x"" = x ; then A=--cflags ; else A="" ; fi
LIBXML2_INCLUDE=$(${CONFIG_LIBXML2} $A)
LIBXML2_INCLUDE=$(echo ${LIBXML2_INCLUDE} | $SED -e "s|-I|-I${LIBXML2_DIR}|g")
if test x"" = x ; then A=--libs ; else A="" ; fi
LIBXML2_LIB=$(${CONFIG_LIBXML2} $A)
LIBXML2_LIB=$(echo ${LIBXML2_LIB} | $SED -e "s|-L|-L${LIBXML2_DIR}|g")
if test x"#include <libxml/tree.h>
#include <libxml/parser.h>" != x ; then
saved_cppflags="${CPPFLAGS}"
CPPFLAGS="${CPPFLAGS} ${LIBXML2_INCLUDE}"
saved_libs="${LIBS}"
LIBS=${LIBXML2_LIB}
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <libxml/tree.h>
#include <libxml/parser.h>
int
main ()
{
LIBXML_TEST_VERSION;
;
return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
PBX_LIBXML2=1
$as_echo "#define HAVE_LIBXML2 1" >>confdefs.h
fi
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
CPPFLAGS="${saved_cppflags}"
LIBS="${saved_libs}"
else
PBX_LIBXML2=1
$as_echo "#define HAVE_LIBXML2 1" >>confdefs.h
fi
fi
fi
if test "${PBX_LIBXML2}" != 1; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: *** The Asterisk menuselect tool requires the 'libxml2' development package." >&5
$as_echo "$as_me: *** The Asterisk menuselect tool requires the 'libxml2' development package." >&6;}
{ $as_echo "$as_me:${as_lineno-$LINENO}: *** Please install the 'libxml2' development package." >&5
$as_echo "$as_me: *** Please install the 'libxml2' development package." >&6;}
exit 1
@ -12774,156 +12925,6 @@ fi
if test "${disable_xmldoc}" != "yes"; then
if test "x${PBX_LIBXML2}" != "x1" -a "${USE_LIBXML2}" != "no"; then
PBX_LIBXML2=0
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}xml2-config", so it can be a program name with args.
set dummy ${ac_tool_prefix}xml2-config; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_path_CONFIG_LIBXML2+:} false; then :
$as_echo_n "(cached) " >&6
else
case $CONFIG_LIBXML2 in
[\\/]* | ?:[\\/]*)
ac_cv_path_CONFIG_LIBXML2="$CONFIG_LIBXML2" # Let the user override the test with a path.
;;
*)
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
as_dummy="${LIBXML2_DIR}/bin:$PATH"
for as_dir in $as_dummy
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_path_CONFIG_LIBXML2="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
;;
esac
fi
CONFIG_LIBXML2=$ac_cv_path_CONFIG_LIBXML2
if test -n "$CONFIG_LIBXML2"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CONFIG_LIBXML2" >&5
$as_echo "$CONFIG_LIBXML2" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
fi
if test -z "$ac_cv_path_CONFIG_LIBXML2"; then
ac_pt_CONFIG_LIBXML2=$CONFIG_LIBXML2
# Extract the first word of "xml2-config", so it can be a program name with args.
set dummy xml2-config; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_path_ac_pt_CONFIG_LIBXML2+:} false; then :
$as_echo_n "(cached) " >&6
else
case $ac_pt_CONFIG_LIBXML2 in
[\\/]* | ?:[\\/]*)
ac_cv_path_ac_pt_CONFIG_LIBXML2="$ac_pt_CONFIG_LIBXML2" # Let the user override the test with a path.
;;
*)
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
as_dummy="${LIBXML2_DIR}/bin:$PATH"
for as_dir in $as_dummy
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_path_ac_pt_CONFIG_LIBXML2="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
;;
esac
fi
ac_pt_CONFIG_LIBXML2=$ac_cv_path_ac_pt_CONFIG_LIBXML2
if test -n "$ac_pt_CONFIG_LIBXML2"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_CONFIG_LIBXML2" >&5
$as_echo "$ac_pt_CONFIG_LIBXML2" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
if test "x$ac_pt_CONFIG_LIBXML2" = x; then
CONFIG_LIBXML2="No"
else
case $cross_compiling:$ac_tool_warned in
yes:)
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
CONFIG_LIBXML2=$ac_pt_CONFIG_LIBXML2
fi
else
CONFIG_LIBXML2="$ac_cv_path_CONFIG_LIBXML2"
fi
if test ! "x${CONFIG_LIBXML2}" = xNo; then
if test x"" = x ; then A=--cflags ; else A="" ; fi
LIBXML2_INCLUDE=$(${CONFIG_LIBXML2} $A)
LIBXML2_INCLUDE=$(echo ${LIBXML2_INCLUDE} | $SED -e "s|-I|-I${LIBXML2_DIR}|g")
if test x"" = x ; then A=--libs ; else A="" ; fi
LIBXML2_LIB=$(${CONFIG_LIBXML2} $A)
LIBXML2_LIB=$(echo ${LIBXML2_LIB} | $SED -e "s|-L|-L${LIBXML2_DIR}|g")
if test x"#include <libxml/tree.h>
#include <libxml/parser.h>" != x ; then
saved_cppflags="${CPPFLAGS}"
CPPFLAGS="${CPPFLAGS} ${LIBXML2_INCLUDE}"
saved_libs="${LIBS}"
LIBS=${LIBXML2_LIB}
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <libxml/tree.h>
#include <libxml/parser.h>
int
main ()
{
LIBXML_TEST_VERSION;
;
return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
PBX_LIBXML2=1
$as_echo "#define HAVE_LIBXML2 1" >>confdefs.h
fi
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
CPPFLAGS="${saved_cppflags}"
LIBS="${saved_libs}"
else
PBX_LIBXML2=1
$as_echo "#define HAVE_LIBXML2 1" >>confdefs.h
fi
fi
fi
if test "x${PBX_LIBXSLT}" != "x1" -a "${USE_LIBXSLT}" != "no"; then
pbxlibdir=""
# if --with-LIBXSLT=DIR has been specified, use it.

View File

@ -550,9 +550,14 @@ if test "x$JANSSON_LIB" == "x"; then
AC_MSG_ERROR([*** JSON support not found (this typically means the libjansson development package is missing)])
fi
if test "x$PBX_LIBXML2" == "x"; then
AC_MSG_NOTICE(*** The Asterisk menuselect tool requires the 'libxml2' package.)
AC_MSG_NOTICE(*** Please install the 'libxml2' package.)
AST_EXT_TOOL_CHECK([LIBXML2], [xml2-config], , ,
[#include <libxml/tree.h>
#include <libxml/parser.h>],
[LIBXML_TEST_VERSION])
if test "${PBX_LIBXML2}" != 1; then
AC_MSG_NOTICE(*** The Asterisk menuselect tool requires the 'libxml2' development package.)
AC_MSG_NOTICE(*** Please install the 'libxml2' development package.)
exit 1
fi
@ -569,10 +574,6 @@ AC_ARG_ENABLE([xmldoc],
esac], [disable_xmldoc=no])
if test "${disable_xmldoc}" != "yes"; then
AST_EXT_TOOL_CHECK([LIBXML2], [xml2-config], , ,
[#include <libxml/tree.h>
#include <libxml/parser.h>],
[LIBXML_TEST_VERSION])
AST_EXT_LIB_CHECK([LIBXSLT], [xslt], [xsltLoadStylesheetPI], [libxslt/xsltInternals.h], [${LIBXML2_LIB}], [${LIBXML2_INCLUDE}])
AST_EXT_LIB_CHECK([LIBXSLT_CLEANUP], [xslt], [xsltCleanupGlobals], [libxslt/xsltInternals.h], [${LIBXML2_LIB}], [${LIBXML2_INCLUDE}])

View File

@ -1,5 +1,5 @@
#! /bin/sh
# From configure.ac Revision: 418832 .
# From configure.ac Revision: 418834 .
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.68.
#
@ -4685,7 +4685,7 @@ $as_echo "#define HAVE_LIBXML2 1" >>confdefs.h
if test "${PBX_LIBXML2}" != 1; then
as_fn_error $? "coult not find required 'Libxml2' development package" "$LINENO" 5
as_fn_error $? "Could not find required 'Libxml2' development package" "$LINENO" 5
fi
PBX_GTK2=0

View File

@ -131,7 +131,7 @@ AST_EXT_TOOL_CHECK([LIBXML2], [xml2-config], , ,
[LIBXML_TEST_VERSION])
if test "${PBX_LIBXML2}" != 1; then
AC_MSG_ERROR([coult not find required 'Libxml2' development package])
AC_MSG_ERROR([Could not find required 'Libxml2' development package])
fi
PBX_GTK2=0