Split local and global cflags
Native compiler flags are currently applied in approximately: global cflags local cflags local include dirs global include dirs global conlyflags local conlyflags global cppflags local cppflags This means that a flag that is enabled in the global cppflags cannot be disabled in the local cflags, and an Android.bp author must know to disable it in the local cppflags. A better order would be: global cflags global conlyflags global cppflags local cflags local conlyflags local cppflags local include dirs global include dirs We are mixing both the global and local cflags into a single variable, and similar for conlyflags and cppflags, which prevents reordering them. This CL prepares to reorder them by splitting the global and local cflags into separate variables. Bug: 143713277 Test: m native Change-Id: Ic55a8c3516c331dc5f2af9d00e59ceca9d3e6c15
This commit is contained in:
@@ -162,25 +162,41 @@ func generateCLionProject(compiledModule CompiledInterface, ctx android.Singleto
|
||||
f.WriteString(")\n")
|
||||
|
||||
// Add all header search path and compiler parameters (-D, -W, -f, -XXXX)
|
||||
f.WriteString("\n# GLOBAL FLAGS:\n")
|
||||
globalParameters := parseCompilerParameters(ccModule.flags.GlobalFlags, ctx, f)
|
||||
translateToCMake(globalParameters, f, true, true)
|
||||
f.WriteString("\n# GLOBAL ALL FLAGS:\n")
|
||||
globalAllParameters := parseCompilerParameters(ccModule.flags.Global.CommonFlags, ctx, f)
|
||||
translateToCMake(globalAllParameters, f, true, true)
|
||||
|
||||
f.WriteString("\n# CFLAGS:\n")
|
||||
cParameters := parseCompilerParameters(ccModule.flags.CFlags, ctx, f)
|
||||
translateToCMake(cParameters, f, true, true)
|
||||
f.WriteString("\n# LOCAL ALL FLAGS:\n")
|
||||
localAllParameters := parseCompilerParameters(ccModule.flags.Local.CommonFlags, ctx, f)
|
||||
translateToCMake(localAllParameters, f, true, true)
|
||||
|
||||
f.WriteString("\n# C ONLY FLAGS:\n")
|
||||
cOnlyParameters := parseCompilerParameters(ccModule.flags.ConlyFlags, ctx, f)
|
||||
translateToCMake(cOnlyParameters, f, true, false)
|
||||
f.WriteString("\n# GLOBAL CFLAGS:\n")
|
||||
globalCParameters := parseCompilerParameters(ccModule.flags.Global.CFlags, ctx, f)
|
||||
translateToCMake(globalCParameters, f, true, true)
|
||||
|
||||
f.WriteString("\n# CPP FLAGS:\n")
|
||||
cppParameters := parseCompilerParameters(ccModule.flags.CppFlags, ctx, f)
|
||||
translateToCMake(cppParameters, f, false, true)
|
||||
f.WriteString("\n# LOCAL CFLAGS:\n")
|
||||
localCParameters := parseCompilerParameters(ccModule.flags.Local.CFlags, ctx, f)
|
||||
translateToCMake(localCParameters, f, true, true)
|
||||
|
||||
f.WriteString("\n# SYSTEM INCLUDE FLAGS:\n")
|
||||
includeParameters := parseCompilerParameters(ccModule.flags.SystemIncludeFlags, ctx, f)
|
||||
translateToCMake(includeParameters, f, true, true)
|
||||
f.WriteString("\n# GLOBAL C ONLY FLAGS:\n")
|
||||
globalConlyParameters := parseCompilerParameters(ccModule.flags.Global.ConlyFlags, ctx, f)
|
||||
translateToCMake(globalConlyParameters, f, true, false)
|
||||
|
||||
f.WriteString("\n# LOCAL C ONLY FLAGS:\n")
|
||||
localConlyParameters := parseCompilerParameters(ccModule.flags.Local.ConlyFlags, ctx, f)
|
||||
translateToCMake(localConlyParameters, f, true, false)
|
||||
|
||||
f.WriteString("\n# GLOBAL CPP FLAGS:\n")
|
||||
globalCppParameters := parseCompilerParameters(ccModule.flags.Global.CppFlags, ctx, f)
|
||||
translateToCMake(globalCppParameters, f, false, true)
|
||||
|
||||
f.WriteString("\n# LOCAL CPP FLAGS:\n")
|
||||
localCppParameters := parseCompilerParameters(ccModule.flags.Local.CppFlags, ctx, f)
|
||||
translateToCMake(localCppParameters, f, false, true)
|
||||
|
||||
f.WriteString("\n# GLOBAL SYSTEM INCLUDE FLAGS:\n")
|
||||
globalIncludeParameters := parseCompilerParameters(ccModule.flags.SystemIncludeFlags, ctx, f)
|
||||
translateToCMake(globalIncludeParameters, f, true, true)
|
||||
|
||||
// Add project executable.
|
||||
f.WriteString(fmt.Sprintf("\nadd_executable(%s ${SOURCE_FILES})\n",
|
||||
|
Reference in New Issue
Block a user