repro:
include/foo.h:
#pragma once
struct S { int x; };
build.zig:
conststd=@import("std");constTranslator=@import("translate_c").Translator;pubfnbuild(b:*std.Build)void{consttarget=b.standardTargetOptions(.{});constoptimize=b.standardOptimizeOption(.{});consttranslate_c_dep=b.dependency("translate_c",.{});consttranslate_c:Translator=.init(translate_c_dep,.{.c_source_file=b.addWriteFiles().add("stub.h",\\#include "foo.h"\\#include "../include/foo.h"),.target=target,.optimize=optimize,});translate_c.addIncludePath(b.path("include"));constout=b.addInstallFile(translate_c.output_file,"out.zig");b.getInstallStep().dependOn(&out.step);}error produced:
install
└─ install generated to out.zig
└─ translate-c generated failure
C:\Users\johan\MyDocuments\git\nx\repro\include\../include/foo.h:2:8: error: redefinition of 'S'
struct S { int x; };
^
C:\Users\johan\MyDocuments\git\nx\repro\include\foo.h:2:8: note: previous definition is here
struct S { int x; };
^
Expected
compiles successfully
## repro:
`include/foo.h`:
```c
#pragma once
struct S { int x; };
```
build.zig:
```zig
const std = @import("std");
const Translator = @import("translate_c").Translator;
pub fn build(b: *std.Build) void {
const target = b.standardTargetOptions(.{});
const optimize = b.standardOptimizeOption(.{});
const translate_c_dep = b.dependency("translate_c", .{});
const translate_c: Translator = .init(translate_c_dep, .{
.c_source_file = b.addWriteFiles().add("stub.h",
\\#include "foo.h"
\\#include "../include/foo.h"
),
.target = target,
.optimize = optimize,
});
translate_c.addIncludePath(b.path("include"));
const out = b.addInstallFile(translate_c.output_file, "out.zig");
b.getInstallStep().dependOn(&out.step);
}
```
error produced:
```
install
└─ install generated to out.zig
└─ translate-c generated failure
C:\Users\johan\MyDocuments\git\nx\repro\include\../include/foo.h:2:8: error: redefinition of 'S'
struct S { int x; };
^
C:\Users\johan\MyDocuments\git\nx\repro\include\foo.h:2:8: note: previous definition is here
struct S { int x; };
^
```
## Expected
compiles successfully