@@ -544,6 +544,7 @@ function terra.newtarget(tbl)
544
544
Features = Features or " "
545
545
end
546
546
return setmetatable ({ llvm_target = cdatawithdestructor (terra .inittarget (Triple ,CPU ,Features ,FloatABIHard ),terra .freetarget ),
547
+ Triple = Triple ,
547
548
cnametostruct = { general = {}, tagged = {}} -- map from llvm_name -> terra type used to make c structs unique per llvm_name
548
549
},terra .target )
549
550
end
@@ -3645,8 +3646,12 @@ end
3645
3646
3646
3647
function terra .includecstring (code ,cargs ,target )
3647
3648
local args = terra .newlist {" -O3" ," -Wno-deprecated" ," -resource-dir" ,clangresourcedirectory }
3648
- args :insert (" -internal-isystem" )
3649
- args :insert (clangresourcedirectory .. " /include" )
3649
+ target = target or terra .nativetarget
3650
+
3651
+ if (target == terra .nativetarget and ffi .os == " Linux" ) or (target .Triple and target .Triple :match (" linux" )) then
3652
+ args :insert (" -internal-isystem" )
3653
+ args :insert (clangresourcedirectory .. " /include" )
3654
+ end
3650
3655
3651
3656
if cargs then
3652
3657
args :insertall (cargs )
@@ -3655,7 +3660,6 @@ function terra.includecstring(code,cargs,target)
3655
3660
args :insert (" -I" )
3656
3661
args :insert (p )
3657
3662
end
3658
- target = target or terra .nativetarget
3659
3663
assert (terra .istarget (target )," expected a target or nil to specify the native target" )
3660
3664
local result = terra .registercfile (target ,code ,args ,headerprovider )
3661
3665
local general ,tagged ,errors ,macros = result .general ,result .tagged ,result .errors ,result .macros
0 commit comments