Save deps when asflags contains -xassembler-with-cpp
Usually, ".S" files are processes with the c preprocessor, and ".s" files are not, so they don't have any dependency information, since it is generated by the preprocessor. But with the -xassembler-with-cpp flag, ".s" files are processed with the preprocessor, so we should ask for dependency information from them. Test: NINJA_ARGS="-t deps out/soong/.intermediates/external/sonivox/arm-wt-22k/libsonivox/android_arm_armv7-a-neon_core_static/obj/external/sonivox/arm-wt-22k/lib_src/ARM-E_filter_gnu.o" m Test: treehugger Change-Id: Iee7baeebc2b205b5a2f33e7c1705ea4a5b4fc95a
This commit is contained in:
@@ -271,6 +271,8 @@ type builderFlags struct {
|
||||
sAbiDump bool
|
||||
emitXrefs bool
|
||||
|
||||
assemblerWithCpp bool
|
||||
|
||||
systemIncludeFlags string
|
||||
|
||||
groupStaticLibs bool
|
||||
@@ -428,7 +430,9 @@ func TransformSourceToObj(ctx android.ModuleContext, subdir string, srcFiles and
|
||||
|
||||
switch srcFile.Ext() {
|
||||
case ".s":
|
||||
rule = ccNoDeps
|
||||
if !flags.assemblerWithCpp {
|
||||
rule = ccNoDeps
|
||||
}
|
||||
fallthrough
|
||||
case ".S":
|
||||
ccCmd = "clang"
|
||||
|
6
cc/cc.go
6
cc/cc.go
@@ -174,7 +174,8 @@ type Flags struct {
|
||||
CFlagsDeps android.Paths // Files depended on by compiler flags
|
||||
LdFlagsDeps android.Paths // Files depended on by linker flags
|
||||
|
||||
GroupStaticLibs bool
|
||||
AssemblerWithCpp bool
|
||||
GroupStaticLibs bool
|
||||
|
||||
proto android.ProtoFlags
|
||||
protoC bool // Whether to use C instead of C++
|
||||
@@ -1053,6 +1054,9 @@ func (c *Module) GenerateAndroidBuildActions(actx android.ModuleContext) {
|
||||
if c.sabi != nil {
|
||||
flags = c.sabi.flags(ctx, flags)
|
||||
}
|
||||
|
||||
flags.AssemblerWithCpp = inList("-xassembler-with-cpp", flags.AsFlags)
|
||||
|
||||
// Optimization to reduce size of build.ninja
|
||||
// Replace the long list of flags for each file with a module-local variable
|
||||
ctx.Variable(pctx, "cflags", strings.Join(flags.CFlags, " "))
|
||||
|
@@ -79,7 +79,8 @@ func flagsToBuilderFlags(in Flags) builderFlags {
|
||||
|
||||
systemIncludeFlags: strings.Join(in.SystemIncludeFlags, " "),
|
||||
|
||||
groupStaticLibs: in.GroupStaticLibs,
|
||||
assemblerWithCpp: in.AssemblerWithCpp,
|
||||
groupStaticLibs: in.GroupStaticLibs,
|
||||
|
||||
proto: in.proto,
|
||||
protoC: in.protoC,
|
||||
|
Reference in New Issue
Block a user