Skip to content

Commit 4327e72

Browse files
Pass debug level and logger to ObjFileIsUpToDate
This does not change any behaviour, but only passed these variables along through the entire stack of functions leading up to ObjFileIsUpToDate. This prepares for the next commit. Signed-off-by: Matthijs Kooijman <[email protected]>
1 parent 2dbe042 commit 4327e72

File tree

5 files changed

+30
-28
lines changed

5 files changed

+30
-28
lines changed

Diff for: src/arduino.cc/builder/builder_utils/utils.go

+14-14
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,8 @@ import (
4343
"arduino.cc/properties"
4444
)
4545

46-
func CompileFilesRecursive(objectFiles []string, sourcePath string, buildPath string, buildProperties properties.Map, includes []string, verbose bool, warningsLevel string, logger i18n.Logger) ([]string, error) {
47-
objectFiles, err := CompileFiles(objectFiles, sourcePath, false, buildPath, buildProperties, includes, verbose, warningsLevel, logger)
46+
func CompileFilesRecursive(objectFiles []string, sourcePath string, buildPath string, buildProperties properties.Map, includes []string, verbose bool, warningsLevel string, debugLevel int, logger i18n.Logger) ([]string, error) {
47+
objectFiles, err := CompileFiles(objectFiles, sourcePath, false, buildPath, buildProperties, includes, verbose, warningsLevel, debugLevel, logger)
4848
if err != nil {
4949
return nil, i18n.WrapError(err)
5050
}
@@ -55,7 +55,7 @@ func CompileFilesRecursive(objectFiles []string, sourcePath string, buildPath st
5555
}
5656

5757
for _, folder := range folders {
58-
objectFiles, err = CompileFilesRecursive(objectFiles, filepath.Join(sourcePath, folder.Name()), filepath.Join(buildPath, folder.Name()), buildProperties, includes, verbose, warningsLevel, logger)
58+
objectFiles, err = CompileFilesRecursive(objectFiles, filepath.Join(sourcePath, folder.Name()), filepath.Join(buildPath, folder.Name()), buildProperties, includes, verbose, warningsLevel, debugLevel, logger)
5959
if err != nil {
6060
return nil, i18n.WrapError(err)
6161
}
@@ -64,28 +64,28 @@ func CompileFilesRecursive(objectFiles []string, sourcePath string, buildPath st
6464
return objectFiles, nil
6565
}
6666

67-
func CompileFiles(objectFiles []string, sourcePath string, recurse bool, buildPath string, buildProperties properties.Map, includes []string, verbose bool, warningsLevel string, logger i18n.Logger) ([]string, error) {
68-
objectFiles, err := compileFilesWithExtensionWithRecipe(objectFiles, sourcePath, recurse, buildPath, buildProperties, includes, ".S", constants.RECIPE_S_PATTERN, verbose, warningsLevel, logger)
67+
func CompileFiles(objectFiles []string, sourcePath string, recurse bool, buildPath string, buildProperties properties.Map, includes []string, verbose bool, warningsLevel string, debugLevel int, logger i18n.Logger) ([]string, error) {
68+
objectFiles, err := compileFilesWithExtensionWithRecipe(objectFiles, sourcePath, recurse, buildPath, buildProperties, includes, ".S", constants.RECIPE_S_PATTERN, verbose, warningsLevel, debugLevel, logger)
6969
if err != nil {
7070
return nil, i18n.WrapError(err)
7171
}
72-
objectFiles, err = compileFilesWithExtensionWithRecipe(objectFiles, sourcePath, recurse, buildPath, buildProperties, includes, ".c", constants.RECIPE_C_PATTERN, verbose, warningsLevel, logger)
72+
objectFiles, err = compileFilesWithExtensionWithRecipe(objectFiles, sourcePath, recurse, buildPath, buildProperties, includes, ".c", constants.RECIPE_C_PATTERN, verbose, warningsLevel, debugLevel, logger)
7373
if err != nil {
7474
return nil, i18n.WrapError(err)
7575
}
76-
objectFiles, err = compileFilesWithExtensionWithRecipe(objectFiles, sourcePath, recurse, buildPath, buildProperties, includes, ".cpp", constants.RECIPE_CPP_PATTERN, verbose, warningsLevel, logger)
76+
objectFiles, err = compileFilesWithExtensionWithRecipe(objectFiles, sourcePath, recurse, buildPath, buildProperties, includes, ".cpp", constants.RECIPE_CPP_PATTERN, verbose, warningsLevel, debugLevel, logger)
7777
if err != nil {
7878
return nil, i18n.WrapError(err)
7979
}
8080
return objectFiles, nil
8181
}
8282

83-
func compileFilesWithExtensionWithRecipe(objectFiles []string, sourcePath string, recurse bool, buildPath string, buildProperties properties.Map, includes []string, extension string, recipe string, verbose bool, warningsLevel string, logger i18n.Logger) ([]string, error) {
83+
func compileFilesWithExtensionWithRecipe(objectFiles []string, sourcePath string, recurse bool, buildPath string, buildProperties properties.Map, includes []string, extension string, recipe string, verbose bool, warningsLevel string, debugLevel int, logger i18n.Logger) ([]string, error) {
8484
sources, err := findFilesInFolder(sourcePath, extension, recurse)
8585
if err != nil {
8686
return nil, i18n.WrapError(err)
8787
}
88-
return compileFilesWithRecipe(objectFiles, sourcePath, sources, buildPath, buildProperties, includes, recipe, verbose, warningsLevel, logger)
88+
return compileFilesWithRecipe(objectFiles, sourcePath, sources, buildPath, buildProperties, includes, recipe, verbose, warningsLevel, debugLevel, logger)
8989
}
9090

9191
func findFilesInFolder(sourcePath string, extension string, recurse bool) ([]string, error) {
@@ -116,9 +116,9 @@ func findFilesInFolder(sourcePath string, extension string, recurse bool) ([]str
116116
return sources, nil
117117
}
118118

119-
func compileFilesWithRecipe(objectFiles []string, sourcePath string, sources []string, buildPath string, buildProperties properties.Map, includes []string, recipe string, verbose bool, warningsLevel string, logger i18n.Logger) ([]string, error) {
119+
func compileFilesWithRecipe(objectFiles []string, sourcePath string, sources []string, buildPath string, buildProperties properties.Map, includes []string, recipe string, verbose bool, warningsLevel string, debugLevel int, logger i18n.Logger) ([]string, error) {
120120
for _, source := range sources {
121-
objectFile, err := compileFileWithRecipe(sourcePath, source, buildPath, buildProperties, includes, recipe, verbose, warningsLevel, logger)
121+
objectFile, err := compileFileWithRecipe(sourcePath, source, buildPath, buildProperties, includes, recipe, verbose, warningsLevel, debugLevel, logger)
122122
if err != nil {
123123
return nil, i18n.WrapError(err)
124124
}
@@ -128,7 +128,7 @@ func compileFilesWithRecipe(objectFiles []string, sourcePath string, sources []s
128128
return objectFiles, nil
129129
}
130130

131-
func compileFileWithRecipe(sourcePath string, source string, buildPath string, buildProperties properties.Map, includes []string, recipe string, verbose bool, warningsLevel string, logger i18n.Logger) (string, error) {
131+
func compileFileWithRecipe(sourcePath string, source string, buildPath string, buildProperties properties.Map, includes []string, recipe string, verbose bool, warningsLevel string, debugLevel int, logger i18n.Logger) (string, error) {
132132
properties := buildProperties.Clone()
133133
properties[constants.BUILD_PROPERTIES_COMPILER_WARNING_FLAGS] = properties[constants.BUILD_PROPERTIES_COMPILER_WARNING_FLAGS+"."+warningsLevel]
134134
properties[constants.BUILD_PROPERTIES_INCLUDES] = strings.Join(includes, constants.SPACE)
@@ -144,7 +144,7 @@ func compileFileWithRecipe(sourcePath string, source string, buildPath string, b
144144
return "", i18n.WrapError(err)
145145
}
146146

147-
objIsUpToDate, err := ObjFileIsUpToDate(properties[constants.BUILD_PROPERTIES_SOURCE_FILE], properties[constants.BUILD_PROPERTIES_OBJECT_FILE], filepath.Join(buildPath, relativeSource+".d"))
147+
objIsUpToDate, err := ObjFileIsUpToDate(properties[constants.BUILD_PROPERTIES_SOURCE_FILE], properties[constants.BUILD_PROPERTIES_OBJECT_FILE], filepath.Join(buildPath, relativeSource+".d"), debugLevel, logger)
148148
if err != nil {
149149
return "", i18n.WrapError(err)
150150
}
@@ -161,7 +161,7 @@ func compileFileWithRecipe(sourcePath string, source string, buildPath string, b
161161
return properties[constants.BUILD_PROPERTIES_OBJECT_FILE], nil
162162
}
163163

164-
func ObjFileIsUpToDate(sourceFile, objectFile, dependencyFile string) (bool, error) {
164+
func ObjFileIsUpToDate(sourceFile, objectFile, dependencyFile string, debugLevel int, logger i18n.Logger) (bool, error) {
165165
sourceFile = filepath.Clean(sourceFile)
166166
objectFile = filepath.Clean(objectFile)
167167
dependencyFile = filepath.Clean(dependencyFile)

Diff for: src/arduino.cc/builder/container_find_includes.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -303,7 +303,7 @@ func findIncludesUntilDone(ctx *types.Context, cache *includeCache, sourceFile t
303303
// TODO: This reads the dependency file, but the actual building
304304
// does it again. Should the result be somehow cached? Perhaps
305305
// remove the object file if it is found to be stale?
306-
unchanged, err := builder_utils.ObjFileIsUpToDate(sourcePath, sourceFile.ObjectPath(ctx), sourceFile.DepfilePath(ctx))
306+
unchanged, err := builder_utils.ObjFileIsUpToDate(sourcePath, sourceFile.ObjectPath(ctx), sourceFile.DepfilePath(ctx), ctx.DebugLevel, ctx.GetLogger())
307307
if err != nil {
308308
return i18n.WrapError(err)
309309
}

Diff for: src/arduino.cc/builder/phases/core_builder.go

+4-4
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ func (s *CoreBuilder) Run(ctx *types.Context) error {
5252
return i18n.WrapError(err)
5353
}
5454

55-
archiveFile, objectFiles, err := compileCore(coreBuildPath, buildProperties, verbose, warningsLevel, logger)
55+
archiveFile, objectFiles, err := compileCore(coreBuildPath, buildProperties, verbose, warningsLevel, ctx.DebugLevel, logger)
5656
if err != nil {
5757
return i18n.WrapError(err)
5858
}
@@ -63,7 +63,7 @@ func (s *CoreBuilder) Run(ctx *types.Context) error {
6363
return nil
6464
}
6565

66-
func compileCore(buildPath string, buildProperties properties.Map, verbose bool, warningsLevel string, logger i18n.Logger) (string, []string, error) {
66+
func compileCore(buildPath string, buildProperties properties.Map, verbose bool, warningsLevel string, debugLevel int, logger i18n.Logger) (string, []string, error) {
6767
coreFolder := buildProperties[constants.BUILD_PROPERTIES_BUILD_CORE_PATH]
6868
variantFolder := buildProperties[constants.BUILD_PROPERTIES_BUILD_VARIANT_PATH]
6969

@@ -78,13 +78,13 @@ func compileCore(buildPath string, buildProperties properties.Map, verbose bool,
7878

7979
variantObjectFiles := []string{}
8080
if variantFolder != constants.EMPTY_STRING {
81-
variantObjectFiles, err = builder_utils.CompileFiles(variantObjectFiles, variantFolder, true, buildPath, buildProperties, includes, verbose, warningsLevel, logger)
81+
variantObjectFiles, err = builder_utils.CompileFiles(variantObjectFiles, variantFolder, true, buildPath, buildProperties, includes, verbose, warningsLevel, debugLevel, logger)
8282
if err != nil {
8383
return "", nil, i18n.WrapError(err)
8484
}
8585
}
8686

87-
coreObjectFiles, err := builder_utils.CompileFiles([]string{}, coreFolder, true, buildPath, buildProperties, includes, verbose, warningsLevel, logger)
87+
coreObjectFiles, err := builder_utils.CompileFiles([]string{}, coreFolder, true, buildPath, buildProperties, includes, verbose, warningsLevel, debugLevel, logger)
8888
if err != nil {
8989
return "", nil, i18n.WrapError(err)
9090
}

Diff for: src/arduino.cc/builder/phases/libraries_builder.go

+8-7
Original file line numberDiff line numberDiff line change
@@ -50,14 +50,15 @@ func (s *LibrariesBuilder) Run(ctx *types.Context) error {
5050
libraries := ctx.ImportedLibraries
5151
verbose := ctx.Verbose
5252
warningsLevel := ctx.WarningsLevel
53+
debugLevel := ctx.DebugLevel
5354
logger := ctx.GetLogger()
5455

5556
err := utils.EnsureFolderExists(librariesBuildPath)
5657
if err != nil {
5758
return i18n.WrapError(err)
5859
}
5960

60-
objectFiles, err := compileLibraries(libraries, librariesBuildPath, buildProperties, includes, verbose, warningsLevel, logger)
61+
objectFiles, err := compileLibraries(libraries, librariesBuildPath, buildProperties, includes, verbose, warningsLevel, debugLevel, logger)
6162
if err != nil {
6263
return i18n.WrapError(err)
6364
}
@@ -67,10 +68,10 @@ func (s *LibrariesBuilder) Run(ctx *types.Context) error {
6768
return nil
6869
}
6970

70-
func compileLibraries(libraries []*types.Library, buildPath string, buildProperties properties.Map, includes []string, verbose bool, warningsLevel string, logger i18n.Logger) ([]string, error) {
71+
func compileLibraries(libraries []*types.Library, buildPath string, buildProperties properties.Map, includes []string, verbose bool, warningsLevel string, debugLevel int, logger i18n.Logger) ([]string, error) {
7172
objectFiles := []string{}
7273
for _, library := range libraries {
73-
libraryObjectFiles, err := compileLibrary(library, buildPath, buildProperties, includes, verbose, warningsLevel, logger)
74+
libraryObjectFiles, err := compileLibrary(library, buildPath, buildProperties, includes, verbose, warningsLevel, debugLevel, logger)
7475
if err != nil {
7576
return nil, i18n.WrapError(err)
7677
}
@@ -81,7 +82,7 @@ func compileLibraries(libraries []*types.Library, buildPath string, buildPropert
8182

8283
}
8384

84-
func compileLibrary(library *types.Library, buildPath string, buildProperties properties.Map, includes []string, verbose bool, warningsLevel string, logger i18n.Logger) ([]string, error) {
85+
func compileLibrary(library *types.Library, buildPath string, buildProperties properties.Map, includes []string, verbose bool, warningsLevel string, debugLevel int, logger i18n.Logger) ([]string, error) {
8586
if verbose {
8687
logger.Println(constants.LOG_LEVEL_INFO, "Compiling library \"{0}\"", library.Name)
8788
}
@@ -94,7 +95,7 @@ func compileLibrary(library *types.Library, buildPath string, buildProperties pr
9495

9596
objectFiles := []string{}
9697
if library.Layout == types.LIBRARY_RECURSIVE {
97-
objectFiles, err = builder_utils.CompileFilesRecursive(objectFiles, library.SrcFolder, libraryBuildPath, buildProperties, includes, verbose, warningsLevel, logger)
98+
objectFiles, err = builder_utils.CompileFilesRecursive(objectFiles, library.SrcFolder, libraryBuildPath, buildProperties, includes, verbose, warningsLevel, debugLevel, logger)
9899
if err != nil {
99100
return nil, i18n.WrapError(err)
100101
}
@@ -109,14 +110,14 @@ func compileLibrary(library *types.Library, buildPath string, buildProperties pr
109110
if library.UtilityFolder != "" {
110111
includes = append(includes, utils.WrapWithHyphenI(library.UtilityFolder))
111112
}
112-
objectFiles, err = builder_utils.CompileFiles(objectFiles, library.SrcFolder, false, libraryBuildPath, buildProperties, includes, verbose, warningsLevel, logger)
113+
objectFiles, err = builder_utils.CompileFiles(objectFiles, library.SrcFolder, false, libraryBuildPath, buildProperties, includes, verbose, warningsLevel, debugLevel, logger)
113114
if err != nil {
114115
return nil, i18n.WrapError(err)
115116
}
116117

117118
if library.UtilityFolder != "" {
118119
utilityBuildPath := filepath.Join(libraryBuildPath, constants.LIBRARY_FOLDER_UTILITY)
119-
objectFiles, err = builder_utils.CompileFiles(objectFiles, library.UtilityFolder, false, utilityBuildPath, buildProperties, includes, verbose, warningsLevel, logger)
120+
objectFiles, err = builder_utils.CompileFiles(objectFiles, library.UtilityFolder, false, utilityBuildPath, buildProperties, includes, verbose, warningsLevel, debugLevel, logger)
120121
if err != nil {
121122
return nil, i18n.WrapError(err)
122123
}

Diff for: src/arduino.cc/builder/phases/sketch_builder.go

+3-2
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ func (s *SketchBuilder) Run(ctx *types.Context) error {
4848
includes = utils.Map(includes, utils.WrapWithHyphenI)
4949
verbose := ctx.Verbose
5050
warningsLevel := ctx.WarningsLevel
51+
debugLevel := ctx.DebugLevel
5152
logger := ctx.GetLogger()
5253

5354
err := utils.EnsureFolderExists(sketchBuildPath)
@@ -56,15 +57,15 @@ func (s *SketchBuilder) Run(ctx *types.Context) error {
5657
}
5758

5859
var objectFiles []string
59-
objectFiles, err = builder_utils.CompileFiles(objectFiles, sketchBuildPath, false, sketchBuildPath, buildProperties, includes, verbose, warningsLevel, logger)
60+
objectFiles, err = builder_utils.CompileFiles(objectFiles, sketchBuildPath, false, sketchBuildPath, buildProperties, includes, verbose, warningsLevel, debugLevel, logger)
6061
if err != nil {
6162
return i18n.WrapError(err)
6263
}
6364

6465
// The "src/" subdirectory of a sketch is compiled recursively
6566
sketchSrcPath := filepath.Join(sketchBuildPath, constants.SKETCH_FOLDER_SRC)
6667
if info, err := os.Stat(sketchSrcPath); err == nil && info.IsDir() {
67-
objectFiles, err = builder_utils.CompileFiles(objectFiles, sketchSrcPath, true, sketchSrcPath, buildProperties, includes, verbose, warningsLevel, logger)
68+
objectFiles, err = builder_utils.CompileFiles(objectFiles, sketchSrcPath, true, sketchSrcPath, buildProperties, includes, verbose, warningsLevel, debugLevel, logger)
6869
if err != nil {
6970
return i18n.WrapError(err)
7071
}

0 commit comments

Comments
 (0)