> > I am working to build a Kconfig based configuration menu and I need to
> > include a prefix variable
> > to source command. How do I do this? Kconfig-language.txt doesn't
> > explain this. Your 
> > response will be highly appreciated...
> Not supported today.
> I recall I did this some time ago but that patch is long gone.
> It is trivially to add.
Found my old patch...
It is one year old or more so may not apply cleanly.

        Sam

diff --git a/scripts/kconfig/confdata.c b/scripts/kconfig/confdata.c
index ccd4513..4be63d9 100644
--- a/scripts/kconfig/confdata.c
+++ b/scripts/kconfig/confdata.c
@@ -44,7 +44,7 @@ static void conf_warning(const char *fmt
        conf_warnings++;
 }
 
-static char *conf_expand_value(const char *in)
+char *conf_expand_value(const char *in)
 {
        struct symbol *sym;
        const char *src;
diff --git a/scripts/kconfig/lkc.h b/scripts/kconfig/lkc.h
index 527f60c..95b7f44 100644
--- a/scripts/kconfig/lkc.h
+++ b/scripts/kconfig/lkc.h
@@ -61,7 +61,7 @@ char *zconf_curname(void);
 
 /* confdata.c */
 extern const char conf_def_filename[];
-
+char *conf_expand_value(const char*);
 char *conf_get_default_confname(void);
 
 /* kconfig_load.c */
diff --git a/scripts/kconfig/zconf.l b/scripts/kconfig/zconf.l
index cfa4607..ba55e87 100644
--- a/scripts/kconfig/zconf.l
+++ b/scripts/kconfig/zconf.l
@@ -293,14 +293,14 @@ void zconf_initscan(const char *name)
 
 void zconf_nextfile(const char *name)
 {
-       struct file *file = file_lookup(name);
+       struct file *file = file_lookup(conf_expand_value(name));
        struct buffer *buf = malloc(sizeof(*buf));
        memset(buf, 0, sizeof(*buf));
 
        current_buf->state = YY_CURRENT_BUFFER;
-       yyin = zconf_fopen(name);
+       yyin = zconf_fopen(file->name);
        if (!yyin) {
-               printf("%s:%d: can't open file \"%s\"\n", zconf_curname(), 
zconf_lineno(), name);
+               printf("%s:%d: can't open file \"%s\"\n", zconf_curname(), 
zconf_lineno(), file->name);
                exit(1);
        }
        yy_switch_to_buffer(yy_create_buffer(yyin, YY_BUF_SIZE));
@@ -308,11 +308,11 @@ void zconf_nextfile(const char *name)
        current_buf = buf;
 
        if (file->flags & FILE_BUSY) {
-               printf("recursive scan (%s)?\n", name);
+               printf("recursive scan (%s)?\n", file->name);
                exit(1);
        }
        if (file->flags & FILE_SCANNED) {
-               printf("file %s already scanned?\n", name);
+               printf("file %s already scanned?\n", file->name);
                exit(1);
        }
        file->flags |= FILE_BUSY;

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys -- and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
kbuild-devel mailing list
kbuild-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kbuild-devel

Reply via email to