#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 }