]> rtime.felk.cvut.cz Git - linux-conf-perf.git/blob - kconfig2sat/lcp_utils.c
kconfig2sat: Implement --varopt
[linux-conf-perf.git] / kconfig2sat / lcp_utils.c
1 #define _GNU_SOURCE
2 #include "lcp_utils.h"
3 #include <libgen.h>
4 #include <unistd.h>
5 #include <string.h>
6 #include <stdlib.h>
7 #include "kconfig/lkc.h"
8
9 void conf_parse_path(const char *name)
10 {
11         char *d = strdup(name);
12         char *f = strdup(name);
13         char *olddir = get_current_dir_name();
14
15         chdir(dirname(d));
16         conf_parse(basename(f));
17         chdir(olddir);
18
19         free(olddir);
20         free(d);
21         free(f);
22 }
23
24 void set_missing_env(const char *conf_mk)
25 {
26         FILE *f = fopen(conf_mk, "r");
27         char line[1000];
28
29         if (!f) {
30                 perror(conf_mk);
31                 exit(1);
32         }
33
34
35         while (fgets(line, sizeof(line), f)) {
36                 char *p = line;
37                 char *var = strsep(&p, " :=");
38
39                 if (strcmp(var, "CONF_KERNEL_ARCH") == 0) {
40                         p += strspn(p, " :=");
41                         var = strsep(&p, "\n");
42                         setenv("ARCH", var, /*overwrite*/0);
43                         setenv("SRCARCH", var, /*overwrite*/0);
44                 }
45         }
46         setenv("KERNELVERSION", "N/A", /*overwrite*/0);
47 }