summaryrefslogtreecommitdiffstats
path: root/support/kconfig/lkc.h
diff options
context:
space:
mode:
Diffstat (limited to 'support/kconfig/lkc.h')
-rw-r--r--support/kconfig/lkc.h32
1 files changed, 17 insertions, 15 deletions
diff --git a/support/kconfig/lkc.h b/support/kconfig/lkc.h
index e89906622..eeb6a905a 100644
--- a/support/kconfig/lkc.h
+++ b/support/kconfig/lkc.h
@@ -21,12 +21,7 @@ static inline char *bind_textdomain_codeset(const char *dn, char *c) { return c;
extern "C" {
#endif
-#ifdef LKC_DIRECT_LINK
#define P(name,type,arg) extern type name arg
-#else
-#include "lkc_defs.h"
-#define P(name,type,arg) extern type (*name ## _p) arg
-#endif
#include "lkc_proto.h"
#undef P
@@ -44,6 +39,12 @@ extern "C" {
#ifndef CONFIG_
#define CONFIG_ "BR2_"
#endif
+static inline const char *CONFIG_prefix(void)
+{
+ return getenv( "CONFIG_" ) ?: CONFIG_;
+}
+#undef CONFIG_
+#define CONFIG_ CONFIG_prefix()
#define TF_COMMAND 0x0001
#define TF_PARAM 0x0002
@@ -68,9 +69,7 @@ struct kconf_id {
enum symbol_type stype;
};
-#ifdef YYDEBUG
extern int zconfdebug;
-#endif
int zconfparse(void);
void zconfdump(FILE *out);
@@ -81,9 +80,6 @@ void zconf_nextfile(const char *name);
int zconf_lineno(void);
const char *zconf_curname(void);
-/* conf.c */
-void xfgets(char *str, int size, FILE *in);
-
/* confdata.c */
const char *conf_get_configname(void);
const char *conf_get_autoconfig_name(void);
@@ -92,15 +88,19 @@ void sym_set_change_count(int count);
void sym_add_change_count(int count);
void conf_set_all_new_symbols(enum conf_def_mode mode);
+struct conf_printer {
+ void (*print_symbol)(FILE *, struct symbol *, const char *, void *);
+ void (*print_comment)(FILE *, const char *, void *);
+};
+
/* confdata.c and expr.c */
static inline void xfwrite(const void *str, size_t len, size_t count, FILE *out)
{
- if (fwrite(str, len, count, out) < count)
- fprintf(stderr, "\nError in writing or end of file.\n");
-}
+ assert(len != 0);
-/* kconfig_load.c */
-void kconfig_load(void);
+ if (fwrite(str, len, count, out) != count)
+ fprintf(stderr, "Error in writing or end of file.\n");
+}
/* menu.c */
void _menu_init(void);
@@ -122,6 +122,8 @@ void menu_set_type(int type);
/* util.c */
struct file *file_lookup(const char *name);
int file_write_dep(const char *name);
+void *xmalloc(size_t size);
+void *xcalloc(size_t nmemb, size_t size);
struct gstr {
size_t len;