Commit fbb38a7682

Andrew Kelley <andrew@ziglang.org>
2024-04-08 06:59:29
std.Build: fix regression in Step.ConfigHeader
Commit 0b7123f41d66bdda4da29d59623299d47b29aefb regressed the `include_path` option of ConfigHeader which is intended to set the path, including subdirectories, that C code would pass to an include directive. For example if it passes .include_path = "config/config.h", Then the C code should be able to have #include "config/config.h" This regressed https://github.com/andrewrk/nasm/ but this commit fixes it.
1 parent 6dcbad7
Changed files (1)
lib
std
lib/std/Build/Module.zig
@@ -694,7 +694,9 @@ pub fn appendZigProcessFlags(
                 }
             },
             .config_header_step => |config_header| {
-                try zig_args.appendSlice(&.{ "-I", std.fs.path.dirname(config_header.output_file.getPath()).? });
+                const full_file_path = config_header.output_file.getPath();
+                const header_dir_path = full_file_path[0 .. full_file_path.len - config_header.include_path.len];
+                try zig_args.appendSlice(&.{ "-I", header_dir_path });
             },
         }
     }