소스 검색

fix config.h macro extraction in build.zig

pull/5650/head
asimos-bot 2 일 전
부모
커밋
980ac7d422
2개의 변경된 파일12개의 추가작업 그리고 4개의 파일을 삭제
  1. +1
    -0
      .gitignore
  2. +11
    -4
      build.zig

+ 1
- 0
.gitignore 파일 보기

@ -116,6 +116,7 @@ GRTAGS
GTAGS
# Zig programming language
zig-pkg/
.zig-cache/
zig-cache/
zig-out/

+ 11
- 4
build.zig 파일 보기

@ -107,10 +107,17 @@ const config_h_flags = outer: {
if (std.mem.startsWith(u8, line, "#if")) continue;
var flag = std.mem.trimStart(u8, line, " \t"); // Trim whitespace
flag = flag["#define ".len - 1 ..]; // Remove #define
flag = std.mem.trimStart(u8, flag, " \t"); // Trim whitespace
flag = flag[0 .. std.mem.indexOf(u8, flag, " ") orelse continue]; // Flag is only one word, so capture till space
flag = "-D" ++ flag; // Prepend with -D
if (!std.mem.startsWith(u8, flag, "#define ")) continue; // Skip non-#define lines
// '#define<whitespace><flag name><whitespace><flag value>
flag = flag["#define ".len - 1 ..]; // remove #define
flag = std.mem.trimStart(u8, flag, " \t"); // trim whitespace after "#define"
const whitespace_idx = std.mem.find(u8, flag, " \t") orelse continue;
const flag_name = flag[0..whitespace_idx];
const flag_value = std.mem.trim(u8, flag[whitespace_idx + 1 ..], " \t");
flag = "-D" ++ flag_name ++ "=" ++ flag_value;
flags[i] = flag;
i += 1;

불러오는 중...
취소
저장