Blame view

scripts/kconfig/kconfig_load.c 644 Bytes
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
  #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
  ", dlerror());
  			exit(1);
  		}
  	}
  
  #define P(name,type,arg)			\
  {						\
  	name ## _p = dlsym(handle, #name);	\
          if ((error = dlerror()))  {		\
                  fprintf(stderr, "%s
  ", error);	\
  		exit(1);			\
  	}					\
  }
  #include "lkc_proto.h"
  #undef P
  }