[svn-commits] trunk r31443 - /trunk/build_tools/
svn-commits at lists.digium.com
svn-commits at lists.digium.com
Thu Jun 1 10:40:50 MST 2006
Author: russell
Date: Thu Jun 1 12:40:50 2006
New Revision: 31443
URL: http://svn.digium.com/view/asterisk?rev=31443&view=rev
Log:
allow menuselect to display dependencies and conflicts for modules
Modified:
trunk/build_tools/menuselect.c
trunk/build_tools/menuselect.h
trunk/build_tools/menuselect_curses.c
Modified: trunk/build_tools/menuselect.c
URL: http://svn.digium.com/view/asterisk/trunk/build_tools/menuselect.c?rev=31443&r1=31442&r2=31443&view=diff
==============================================================================
--- trunk/build_tools/menuselect.c (original)
+++ trunk/build_tools/menuselect.c Thu Jun 1 12:40:50 2006
@@ -39,20 +39,6 @@
#include "asterisk/linkedlists.h"
#undef MENUSELECT_DEBUG
-
-struct depend {
- /*! the name of the dependency */
- const char *name;
- /*! for linking */
- AST_LIST_ENTRY(depend) list;
-};
-
-struct conflict {
- /*! the name of the conflict */
- const char *name;
- /*! for linking */
- AST_LIST_ENTRY(conflict) list;
-};
/*! The list of categories */
struct categories categories = AST_LIST_HEAD_NOLOCK_INIT_VALUE;
Modified: trunk/build_tools/menuselect.h
URL: http://svn.digium.com/view/asterisk/trunk/build_tools/menuselect.h?rev=31443&r1=31442&r2=31443&view=diff
==============================================================================
--- trunk/build_tools/menuselect.h (original)
+++ trunk/build_tools/menuselect.h Thu Jun 1 12:40:50 2006
@@ -31,8 +31,19 @@
#define OUTPUT_MAKEOPTS_DEFAULT "menuselect.makeopts"
#define MENUSELECT_DEPS "build_tools/menuselect-deps"
-struct depend;
-struct conflict;
+struct depend {
+ /*! the name of the dependency */
+ const char *name;
+ /*! for linking */
+ AST_LIST_ENTRY(depend) list;
+};
+
+struct conflict {
+ /*! the name of the conflict */
+ const char *name;
+ /*! for linking */
+ AST_LIST_ENTRY(conflict) list;
+};
struct member {
/*! What will be sent to the makeopts file */
Modified: trunk/build_tools/menuselect_curses.c
URL: http://svn.digium.com/view/asterisk/trunk/build_tools/menuselect_curses.c?rev=31443&r1=31442&r2=31443&view=diff
==============================================================================
--- trunk/build_tools/menuselect_curses.c (original)
+++ trunk/build_tools/menuselect_curses.c Thu Jun 1 12:40:50 2006
@@ -126,7 +126,9 @@
{
int i = 0;
int j = 0;
- struct member *mem;
+ struct member *mem, *curmem = NULL;
+ struct depend *dep;
+ struct conflict *con;
char buf[64];
const char *desc = NULL;
@@ -146,15 +148,35 @@
waddstr(menu, buf);
if (curopt + 1 == i)
- desc = mem->displayname;
+ curmem = mem;
if (i == end)
break;
}
- if (desc) {
+ if (curmem->displayname) {
wmove(menu, end - start + 2, max_x / 2 - 16);
- waddstr(menu, desc);
+ waddstr(menu, curmem->displayname);
+ }
+ if (!AST_LIST_EMPTY(&curmem->deps)) {
+ wmove(menu, end - start + 3, max_x / 2 - 16);
+ snprintf(buf, sizeof(buf), "Depends on: ");
+ AST_LIST_TRAVERSE(&curmem->deps, dep, list) {
+ strncat(buf, dep->name, sizeof(buf) - strlen(buf) - 1);
+ if (AST_LIST_NEXT(dep, list))
+ strncat(buf, ", ", sizeof(buf) - strlen(buf) - 1);
+ }
+ waddstr(menu, buf);
+ }
+ if (!AST_LIST_EMPTY(&curmem->conflicts)) {
+ wmove(menu, end - start + 4, max_x / 2 - 16);
+ snprintf(buf, sizeof(buf), "Conflicts with: ");
+ AST_LIST_TRAVERSE(&curmem->conflicts, con, list) {
+ strncat(buf, con->name, sizeof(buf) - strlen(buf) - 1);
+ if (AST_LIST_NEXT(con, list))
+ strncat(buf, ", ", sizeof(buf) - strlen(buf) - 1);
+ }
+ waddstr(menu, buf);
}
wmove(menu, curopt - start, max_x / 2 - 9);
More information about the svn-commits
mailing list