Skip to content

Commit 1071a17

Browse files
committed
Make archives out of libraries
1 parent 2dcee40 commit 1071a17

File tree

1 file changed

+14
-6
lines changed

1 file changed

+14
-6
lines changed

internal/arduino/builder/libraries.go

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -132,14 +132,14 @@ func (b *Builder) compileLibrary(library *libraries.Library, includes []string)
132132
if b.logger.Verbose() {
133133
b.logger.Info(i18n.Tr(`Compiling library "%[1]s"`, library.Name))
134134
}
135-
libraryBuildPath := b.librariesBuildPath.Join(library.DirName)
136135

136+
libraryBuildPath := b.librariesBuildPath.Join(library.DirName)
137137
if err := libraryBuildPath.MkdirAll(); err != nil {
138138
return nil, err
139139
}
140140

141141
objectFiles := paths.NewPathList()
142-
142+
archiveFiles := paths.NewPathList()
143143
if library.Precompiled {
144144
coreSupportPrecompiled := b.buildProperties.ContainsKey("compiler.libraries.ldflags")
145145
precompiledPath := b.findExpectedPrecompiledLibFolder(
@@ -177,12 +177,12 @@ func (b *Builder) compileLibrary(library *libraries.Library, includes []string)
177177
staticLibs.FilterSuffix(".a")
178178
for _, lib := range staticLibs {
179179
if !strings.HasPrefix(lib.Base(), "lib") {
180-
objectFiles.Add(lib)
180+
archiveFiles.Add(lib)
181181
}
182182
}
183183

184184
if library.PrecompiledWithSources {
185-
return objectFiles, nil
185+
return archiveFiles, nil
186186
}
187187
}
188188
}
@@ -201,7 +201,7 @@ func (b *Builder) compileLibrary(library *libraries.Library, includes []string)
201201
if err != nil {
202202
return nil, err
203203
}
204-
objectFiles.Add(archiveFile)
204+
archiveFiles.Add(archiveFile)
205205
} else {
206206
objectFiles.AddAll(libObjectFiles)
207207
}
@@ -233,7 +233,15 @@ func (b *Builder) compileLibrary(library *libraries.Library, includes []string)
233233
}
234234
}
235235

236-
return objectFiles, nil
236+
if len(objectFiles) > 0 {
237+
archiveFile, err := b.archiveCompiledFiles(libraryBuildPath.Join("lib.a"), objectFiles)
238+
if err != nil {
239+
return nil, err
240+
}
241+
archiveFiles.Add(archiveFile)
242+
}
243+
244+
return archiveFiles, nil
237245
}
238246

239247
// removeUnusedCompiledLibraries fixdoc

0 commit comments

Comments
 (0)