diff options
author | Bernhard Reutner-Fischer <rep.dot.nop@gmail.com> | 2007-06-28 10:46:19 +0000 |
---|---|---|
committer | Bernhard Reutner-Fischer <rep.dot.nop@gmail.com> | 2007-06-28 10:46:19 +0000 |
commit | a665ed34960bf1423cba303276161bf44a9851f4 (patch) | |
tree | 6b7cce6251e7ffd5fd18f521e00ed001d25da92c /package/config/kconfig_load.c | |
parent | e89cffadeed921255651b920849dff24e872fd51 (diff) | |
download | buildroot-novena-a665ed34960bf1423cba303276161bf44a9851f4.tar.gz buildroot-novena-a665ed34960bf1423cba303276161bf44a9851f4.zip |
- pull kconfig from linux-2.6.21.5
Diffstat (limited to 'package/config/kconfig_load.c')
-rw-r--r-- | package/config/kconfig_load.c | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/package/config/kconfig_load.c b/package/config/kconfig_load.c new file mode 100644 index 000000000..dbdcaad82 --- /dev/null +++ b/package/config/kconfig_load.c @@ -0,0 +1,35 @@ +#include <dlfcn.h> +#include <stdio.h> +#include <stdlib.h> + +#include "lkc.h" + +#define P(name,type,arg) type (*name ## _p) arg +#include "lkc_proto.h" +#undef P + +void kconfig_load(void) +{ + void *handle; + char *error; + + handle = dlopen("./libkconfig.so", RTLD_LAZY); + if (!handle) { + handle = dlopen("./scripts/kconfig/libkconfig.so", RTLD_LAZY); + if (!handle) { + fprintf(stderr, "%s\n", dlerror()); + exit(1); + } + } + +#define P(name,type,arg) \ +{ \ + name ## _p = dlsym(handle, #name); \ + if ((error = dlerror())) { \ + fprintf(stderr, "%s\n", error); \ + exit(1); \ + } \ +} +#include "lkc_proto.h" +#undef P +} |