mirror of
git://projects.qi-hardware.com/eda-tools.git
synced 2024-11-17 20:04:05 +02:00
genex: option -D to dump all canonical component names (for missing-in-tree)
This commit is contained in:
parent
1d47668b98
commit
7d97a749f4
24
genex/comp.c
24
genex/comp.c
@ -223,7 +223,7 @@ void set_libs(struct node *node,
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static void dump_level(const struct node *tree, int level)
|
static void dump_tree_level(const struct node *tree, int level)
|
||||||
{
|
{
|
||||||
const struct node *n;
|
const struct node *n;
|
||||||
const struct line *line;
|
const struct line *line;
|
||||||
@ -240,12 +240,30 @@ static void dump_level(const struct node *tree, int level)
|
|||||||
printf("\n");
|
printf("\n");
|
||||||
for (line = n->comment; line; line = line->next)
|
for (line = n->comment; line; line = line->next)
|
||||||
printf("%*s\"%s\"\n", 4*level+2, "", line->s);
|
printf("%*s\"%s\"\n", 4*level+2, "", line->s);
|
||||||
dump_level(n->child, level+1);
|
dump_tree_level(n->child, level+1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void dump_tree(void)
|
void dump_tree(void)
|
||||||
{
|
{
|
||||||
dump_level(tree, 0);
|
dump_tree_level(tree, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static void dump_comp_level(const struct node *tree)
|
||||||
|
{
|
||||||
|
const struct node *n;
|
||||||
|
|
||||||
|
for (n = tree; n; n = n->next) {
|
||||||
|
if (n->lib)
|
||||||
|
printf("%s\n", n->names->s);
|
||||||
|
dump_comp_level(n->child);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void dump_comp(void)
|
||||||
|
{
|
||||||
|
dump_comp_level(tree);
|
||||||
}
|
}
|
||||||
|
@ -43,5 +43,6 @@ void set_libs(struct node *node,
|
|||||||
const char *(*find_lib)(const char *sym, const struct name **names,
|
const char *(*find_lib)(const char *sym, const struct name **names,
|
||||||
int *units));
|
int *units));
|
||||||
void dump_tree(void);
|
void dump_tree(void);
|
||||||
|
void dump_comp(void);
|
||||||
|
|
||||||
#endif /* !COMP_H */
|
#endif /* !COMP_H */
|
||||||
|
@ -23,9 +23,10 @@
|
|||||||
static void usage(const char *name)
|
static void usage(const char *name)
|
||||||
{
|
{
|
||||||
fprintf(stderr,
|
fprintf(stderr,
|
||||||
"usage: %s [-d] [-p] [-P] [-L libdir ...] [-l lib ...] hierarchy\n"
|
"usage: %s [-d|-D] [-p] [-P] [-L libdir ...] [-l lib ...] hierarchy\n"
|
||||||
" %*s [descriptions ...]\n\n"
|
" %*s [descriptions ...]\n\n"
|
||||||
" -d dump the tree instead of generating a PDF\n"
|
" -d dump the tree instead of generating a PDF\n"
|
||||||
|
" -D dump all the canonical component names (without aliases)\n"
|
||||||
" -L libdir search all libraries in the specified directory\n"
|
" -L libdir search all libraries in the specified directory\n"
|
||||||
" -l lib search the specified component library\n"
|
" -l lib search the specified component library\n"
|
||||||
" -p use portrait orientation; default: landscape\n"
|
" -p use portrait orientation; default: landscape\n"
|
||||||
@ -39,13 +40,16 @@ int main(int argc, char **argv)
|
|||||||
{
|
{
|
||||||
FILE *file;
|
FILE *file;
|
||||||
int c;
|
int c;
|
||||||
int dump = 0, postscript = 0, portrait = 0;
|
int opt_dump_tree = 0, opt_dump_comp = 0, postscript = 0, portrait = 0;
|
||||||
char **arg;
|
char **arg;
|
||||||
|
|
||||||
while ((c = getopt(argc, argv, "dL:l:Pp")) != EOF)
|
while ((c = getopt(argc, argv, "dDL:l:Pp")) != EOF)
|
||||||
switch (c) {
|
switch (c) {
|
||||||
case 'd':
|
case 'd':
|
||||||
dump = 1;
|
opt_dump_tree = 1;
|
||||||
|
break;
|
||||||
|
case 'D':
|
||||||
|
opt_dump_comp = 1;
|
||||||
break;
|
break;
|
||||||
case 'L':
|
case 'L':
|
||||||
add_libdir(optarg);
|
add_libdir(optarg);
|
||||||
@ -63,6 +67,9 @@ int main(int argc, char **argv)
|
|||||||
usage(*argv);
|
usage(*argv);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (opt_dump_tree && opt_dump_comp)
|
||||||
|
usage(*argv);
|
||||||
|
|
||||||
switch (argc-optind) {
|
switch (argc-optind) {
|
||||||
case 1:
|
case 1:
|
||||||
case 2:
|
case 2:
|
||||||
@ -89,8 +96,10 @@ int main(int argc, char **argv)
|
|||||||
read_desc(file);
|
read_desc(file);
|
||||||
fclose(file);
|
fclose(file);
|
||||||
}
|
}
|
||||||
if (dump)
|
if (opt_dump_tree)
|
||||||
dump_tree();
|
dump_tree();
|
||||||
|
else if (opt_dump_comp)
|
||||||
|
dump_comp();
|
||||||
else
|
else
|
||||||
make_pdf(!postscript, portrait);
|
make_pdf(!postscript, portrait);
|
||||||
return 0;
|
return 0;
|
||||||
|
Loading…
Reference in New Issue
Block a user