From f6fe382433a9f04430690cd486113dde2ef155fd Mon Sep 17 00:00:00 2001 From: Augustin Cavalier Date: Sat, 24 Nov 2018 14:35:10 -0500 Subject: [PATCH] MainBuildRules: Fail if the generated struct-offsets header is empty. In some LTO-related experiments, it came out empty due to GCC not generating actual assembly but rather intermediate code, resulting in various later targets failing with quite literally thousands of errors. --- build/jam/MainBuildRules | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/build/jam/MainBuildRules b/build/jam/MainBuildRules index ab665d00e5..800f91ade5 100644 --- a/build/jam/MainBuildRules +++ b/build/jam/MainBuildRules @@ -383,6 +383,7 @@ actions CreateAsmStructOffsetsHeader1 $(C++) -S "$(2)" $(C++FLAGS) $(CCDEFS) $(CCHDRS) -o - \ | $(SED) 's/@define/#define/g' | grep "#define" \ | $(SED) -e 's/[\$\#]\([0-9]\)/\1/' > "$(1)" + grep -q "#define" "$(1)" } rule MergeObjectFromObjects @@ -420,7 +421,7 @@ rule MergeObjectFromObjects actions MergeObjectFromObjects1 { - $(LINK) $(LINKFLAGS) -r $(2) -o $(1) ; + $(LINK) $(LINKFLAGS) -r $(2) -o $(1) } rule MergeObject