Skip to content

Commit 898cd0b

Browse files
committed
fix: include moreLinkArgs in precompile link
1 parent 83556a1 commit 898cd0b

File tree

7 files changed

+27
-2
lines changed

7 files changed

+27
-2
lines changed

src/lake/Lake/Build/Module.lean

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -211,8 +211,10 @@ def Module.recBuildDynlib (mod : Module) : IndexBuildM (BuildJob Dynlib) := do
211211
let libDirs := pkgLibDirs ++ externDynlibs.filterMap (·.dir?)
212212
let depTrace := oTrace.mix <| libTrace.mix externTrace
213213
let trace ← buildFileUnlessUpToDate mod.dynlibFile depTrace do
214-
let args := links.map toString ++
215-
libDirs.map (s!"-L{·}") ++ libNames.map (s!"-l{·}")
214+
let args :=
215+
links.map toString ++
216+
libDirs.map (s!"-L{·}") ++ libNames.map (s!"-l{·}") ++
217+
mod.linkArgs
216218
compileSharedLib mod.name.toString mod.dynlibFile args (← getLeanc)
217219
return (⟨mod.dynlibFile, mod.dynlibName⟩, trace)
218220

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
/build
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
import Foo.Bar

src/lake/test/precompileArgs/Foo/Bar.lean

Whitespace-only changes.
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
rm -rf build
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
import Lake
2+
open Lake DSL
3+
4+
package precompileArgs
5+
6+
@[default_target]
7+
lean_lib Foo {
8+
precompileModules := true
9+
moreLinkArgs := #["-lBaz"]
10+
}
11+
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
#!/usr/bin/env bash
2+
set -exo pipefail
3+
4+
LAKE=${LAKE:-../../build/bin/lake}
5+
6+
./clean.sh
7+
8+
# Test that `moreLinkArgs` are included when linking precompiled modules
9+
($LAKE build Foo 2>&1 || true) | grep -- "-lBaz"

0 commit comments

Comments
 (0)