diff --git a/src/arduino.cc/builder/constants/constants.go b/src/arduino.cc/builder/constants/constants.go index aa93440f..d83ee273 100644 --- a/src/arduino.cc/builder/constants/constants.go +++ b/src/arduino.cc/builder/constants/constants.go @@ -157,6 +157,7 @@ const MSG_BUILD_OPTIONS_CHANGED = "Build options changed, rebuilding all" const MSG_CANT_FIND_SKETCH_IN_PATH = "Unable to find {0} in {1}" const MSG_FQBN_INVALID = "{0} is not a valid fully qualified board name. Required format is targetPackageName:targetPlatformName:targetBoardName." const MSG_INVALID_QUOTING = "Invalid quoting: no closing [{0}] char found." +const MSG_IGNORED_BUILTIN_TOOLS_TXT = "Skipping {0}; please consider removing that file since it may hurt older Arduino installations" const MSG_LIB_LEGACY = "(legacy)" const MSG_LIBRARIES_MULTIPLE_LIBS_FOUND_FOR = "Multiple libraries were found for \"{0}\"" const MSG_LIBRARIES_NOT_USED = " Not used: {0}" diff --git a/src/arduino.cc/builder/tools_loader.go b/src/arduino.cc/builder/tools_loader.go index 621a5391..d7bed7aa 100644 --- a/src/arduino.cc/builder/tools_loader.go +++ b/src/arduino.cc/builder/tools_loader.go @@ -52,6 +52,16 @@ func (s *ToolsLoader) Run(ctx *types.Context) error { if err != nil { return i18n.WrapError(err) } + builtinHardwareFolder := "" + if len(ctx.BuiltInLibrariesFolders) > 0 { + builtinHardwareFolder, err = filepath.Abs(filepath.Join(ctx.BuiltInLibrariesFolders[0], "..")) + } + + if builtinToolsVersionsFile != constants.EMPTY_STRING && !strings.Contains(builtinToolsVersionsFile, builtinHardwareFolder) { + ctx.GetLogger().Println(constants.LOG_LEVEL_WARN, constants.MSG_IGNORED_BUILTIN_TOOLS_TXT, builtinToolsVersionsFile) + builtinToolsVersionsFile = constants.EMPTY_STRING + } + if builtinToolsVersionsFile != constants.EMPTY_STRING { err = loadToolsFrom(&tools, builtinToolsVersionsFile) if err != nil {