add esp-clang download prompts

This commit is contained in:
Li Jie
2025-08-20 10:23:32 +08:00
parent e8bae52f66
commit 1b8b500fd7
2 changed files with 4 additions and 0 deletions

View File

@@ -74,6 +74,7 @@ func getESPClangRoot() (clangRoot string, err error) {
if !errors.Is(err, fs.ErrNotExist) {
return
}
fmt.Fprintln(os.Stderr, "ESP Clang not found in LLGO_ROOT or cache, will download.")
if err = downloadAndExtractESPClang(platformSuffix, cacheClangDir); err != nil {
return
}

View File

@@ -133,6 +133,7 @@ func downloadAndExtractESPClang(platformSuffix, dir string) error {
defer os.RemoveAll(downloadDir)
// Download clang binary package
fmt.Fprintf(os.Stderr, "Downloading ESP Clang %s-%s...\n", espClangVersion, platformSuffix)
clangUrl := fmt.Sprintf("%s/clang-esp-%s-%s.tar.xz", espClangBaseUrl, espClangVersion, platformSuffix)
clangFile := filepath.Join(downloadDir, fmt.Sprintf("clang-%s-%s.tar.xz", espClangVersion, platformSuffix))
if err := downloadFile(clangUrl, clangFile); err != nil {
@@ -148,6 +149,7 @@ func downloadAndExtractESPClang(platformSuffix, dir string) error {
defer os.RemoveAll(extractDir)
// Extract both packages to extract directory
fmt.Fprintln(os.Stderr, "Extracting ESP Clang...")
if err := extractTarXz(clangFile, extractDir); err != nil {
return fmt.Errorf("failed to extract clang: %w", err)
}
@@ -157,5 +159,6 @@ func downloadAndExtractESPClang(platformSuffix, dir string) error {
if err := os.Rename(espClangDir, dir); err != nil {
return fmt.Errorf("failed to rename esp-clang directory: %w", err)
}
fmt.Fprintln(os.Stderr, "ESP Clang downloaded and extracted successfully.")
return nil
}