The wildcard filter
Application { Depends { name: "cpp" } name: "test" files: "**/*.S" }
matches even .s files on Linux. That is a problem if there are both .S and .s files in the same source tree as those have a different meanings and the cpp module has different rules for both. Wildcard filters should always be case-sensitive.