Use -no-integrated-as to create asm struct offsets
This depends on quite a nasty hack to generate those, namely using inline assembly to generate a file with things that are not actually assembly, which Clang therefore filters out.
This commit is contained in:
@@ -371,13 +371,17 @@ rule CreateAsmStructOffsetsHeader header : source
|
|||||||
[ FSysIncludes $(sysHeaders) : $(systemIncludesOption) ] ;
|
[ FSysIncludes $(sysHeaders) : $(systemIncludesOption) ] ;
|
||||||
CCDEFS on $(header) = [ FDefines $(defines) ] ;
|
CCDEFS on $(header) = [ FDefines $(defines) ] ;
|
||||||
|
|
||||||
|
if $(HAIKU_CC_IS_CLANG_$(architecture)) = 1 {
|
||||||
|
C++FLAGS on $(header) += -no-integrated-as ;
|
||||||
|
}
|
||||||
|
|
||||||
CreateAsmStructOffsetsHeader1 $(header) : $(source) ;
|
CreateAsmStructOffsetsHeader1 $(header) : $(source) ;
|
||||||
}
|
}
|
||||||
|
|
||||||
actions CreateAsmStructOffsetsHeader1
|
actions CreateAsmStructOffsetsHeader1
|
||||||
{
|
{
|
||||||
$(C++) -S "$(2)" $(C++FLAGS) $(CCDEFS) $(CCHDRS) -o - \
|
$(C++) -S "$(2)" $(C++FLAGS) $(CCDEFS) $(CCHDRS) -o - \
|
||||||
| grep "#define" | sed -e 's/[\$\#]\([0-9]\)/\1/' > "$(1)"
|
| grep "#define" | $(SED) -e 's/[\$\#]\([0-9]\)/\1/' > "$(1)"
|
||||||
}
|
}
|
||||||
|
|
||||||
rule MergeObjectFromObjects
|
rule MergeObjectFromObjects
|
||||||
|
|||||||
Reference in New Issue
Block a user