]> rtime.felk.cvut.cz Git - linux-conf-perf.git/blobdiff - kconfig2sat/lcp_utils.c
Add skeleton for kconfig2sat tool
[linux-conf-perf.git] / kconfig2sat / lcp_utils.c
diff --git a/kconfig2sat/lcp_utils.c b/kconfig2sat/lcp_utils.c
new file mode 100644 (file)
index 0000000..cb4f29d
--- /dev/null
@@ -0,0 +1,47 @@
+#define _GNU_SOURCE
+#include "lcp_utils.h"
+#include <libgen.h>
+#include <unistd.h>
+#include <string.h>
+#include <stdlib.h>
+#include "kconfig/lkc.h"
+
+void conf_parse_path(const char *name)
+{
+       char *d = strdup(name);
+       char *f = strdup(name);
+       char *olddir = get_current_dir_name();
+
+       chdir(dirname(d));
+       conf_parse(basename(f));
+       chdir(olddir);
+
+       free(olddir);
+       free(d);
+       free(f);
+}
+
+void set_missing_env(const char *conf_mk)
+{
+       FILE *f = fopen(conf_mk, "r");
+       char line[1000];
+
+       if (!f) {
+               perror(conf_mk);
+               exit(1);
+       }
+
+
+       while (fgets(line, sizeof(line), f)) {
+               char *p = line;
+               char *var = strsep(&p, " :=");
+
+               if (strcmp(var, "CONF_KERNEL_ARCH") == 0) {
+                       p += strspn(p, " :=");
+                       var = strsep(&p, "\n");
+                       setenv("ARCH", var, /*overwrite*/0);
+                       setenv("SRCARCH", var, /*overwrite*/0);
+               }
+       }
+       setenv("KERNELVERSION", "N/A", /*overwrite*/0);
+}