menuselect: Add libxml2 support (Patch 3)

This is the final patch in adding menuselect to Asterisk.
 - The first patch (r418832) added menuselect along with mxml
 - The second patch (r418833) removed mxml from menuselect

This patch adds support for libxml2 to menuselect, and makes libxml2 a
required library for Asterisk.

Note that the libxml2 portion of this patch was written by Sean Bright,
and was made available on a team branch:
  http://svn.digium.com/svn/menuselect/team/seanbright/libxml2/

Review: https://reviewboard.asterisk.org/r/3773/

ASTERISK-20703 #close
patches:
  some_mysterious_team_branch uploaded by seanbright (License 5060)



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@418834 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Matthew Jordan
2014-07-17 19:02:22 +00:00
parent 62f5e26d35
commit 26c7e684ea
15 changed files with 2248 additions and 3476 deletions

View File

@@ -53,6 +53,8 @@ enum failure_types {
HARD_FAILURE = 2,
};
AST_LIST_HEAD_NOLOCK(reference_list, reference);
struct member {
/*! What will be sent to the makeopts file */
const char *name;
@@ -87,11 +89,11 @@ struct member {
* be passed over for many of the usual purposes associated with members. */
unsigned int is_separator:1;
/*! dependencies of this module */
AST_LIST_HEAD_NOLOCK(, reference) deps;
struct reference_list deps;
/*! conflicts of this module */
AST_LIST_HEAD_NOLOCK(, reference) conflicts;
struct reference_list conflicts;
/*! optional packages used by this module */
AST_LIST_HEAD_NOLOCK(, reference) uses;
struct reference_list uses;
/*! for making a list of modules */
AST_LIST_ENTRY(member) list;
};
@@ -104,8 +106,11 @@ enum support_level_values {
SUPPORT_COUNT = 4, /* Keep this item at the end of the list. Tracks total number of support levels. */
};
AST_LIST_HEAD_NOLOCK(support_level_bucket, member);
struct category {
struct member *separators[SUPPORT_COUNT];
/*! Workspace for building support levels */
struct support_level_bucket buckets[SUPPORT_COUNT];
/*! the Makefile variable */
const char *name;
/*! the name displayed in the menu */