You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
These options configure how code is built and run in the package.
102
102
Libraries, executables, and other {tech}[targets] within a package can further add to parts of this configuration.
@@ -158,6 +158,7 @@ name = "example-package"
158
158
weakLinkArgs := #[],
159
159
backend := Lake.Backend.default,
160
160
platformIndependent := none,
161
+
precompileImports := false,
161
162
dynlibs := #[],
162
163
plugins := #[],
163
164
requiresModuleSystem := false,
@@ -250,6 +251,7 @@ name = "Sorting"
250
251
weakLinkArgs := #[],
251
252
backend := Lake.Backend.default,
252
253
platformIndependent := none,
254
+
precompileImports := false,
253
255
dynlibs := #[],
254
256
plugins := #[],
255
257
requiresModuleSystem := false,
@@ -315,6 +317,7 @@ name = "Sorting"
315
317
weakLinkArgs := #[],
316
318
backend := Lake.Backend.default,
317
319
platformIndependent := none,
320
+
precompileImports := false,
318
321
dynlibs := #[],
319
322
plugins := #[],
320
323
requiresModuleSystem := false,
@@ -326,6 +329,7 @@ name = "Sorting"
326
329
libPrefixOnWindows := false,
327
330
needs := #[],
328
331
extraDepTargets := #[],
332
+
precompileLibrary := false,
329
333
precompileModules := false,
330
334
defaultFacets := #[`lean_lib.leanArts],
331
335
nativeFacets := #<fun>,
@@ -354,6 +358,7 @@ name = "Sorting"
354
358
weakLinkArgs := #[],
355
359
backend := Lake.Backend.default,
356
360
platformIndependent := none,
361
+
precompileImports := false,
357
362
dynlibs := #[],
358
363
plugins := #[],
359
364
requiresModuleSystem := false,
@@ -365,6 +370,7 @@ name = "Sorting"
365
370
libPrefixOnWindows := false,
366
371
needs := #[],
367
372
extraDepTargets := #[],
373
+
precompileLibrary := false,
368
374
precompileModules := false,
369
375
defaultFacets := #[`lean_lib.leanArts],
370
376
nativeFacets := #<fun>,
@@ -589,6 +595,7 @@ name = "TacticTools"
589
595
weakLinkArgs := #[],
590
596
backend := Lake.Backend.default,
591
597
platformIndependent := none,
598
+
precompileImports := false,
592
599
dynlibs := #[],
593
600
plugins := #[],
594
601
requiresModuleSystem := false,
@@ -600,6 +607,7 @@ name = "TacticTools"
600
607
libPrefixOnWindows := false,
601
608
needs := #[],
602
609
extraDepTargets := #[],
610
+
precompileLibrary := false,
603
611
precompileModules := false,
604
612
defaultFacets := #[`lean_lib.leanArts],
605
613
nativeFacets := #<fun>,
@@ -634,6 +642,7 @@ precompileModules = true
634
642
weakLinkArgs := #[],
635
643
backend := Lake.Backend.default,
636
644
platformIndependent := none,
645
+
precompileImports := false,
637
646
dynlibs := #[],
638
647
plugins := #[],
639
648
requiresModuleSystem := false,
@@ -645,6 +654,7 @@ precompileModules = true
645
654
libPrefixOnWindows := false,
646
655
needs := #[],
647
656
extraDepTargets := #[],
657
+
precompileLibrary := false,
648
658
precompileModules := true,
649
659
defaultFacets := #[`lean_lib.leanArts],
650
660
nativeFacets := #<fun>,
@@ -687,6 +697,7 @@ name = "trustworthytool"
687
697
weakLinkArgs := #[],
688
698
backend := Lake.Backend.default,
689
699
platformIndependent := none,
700
+
precompileImports := false,
690
701
dynlibs := #[],
691
702
plugins := #[],
692
703
requiresModuleSystem := false,
@@ -737,6 +748,7 @@ exeName = "tt"
737
748
weakLinkArgs := #[],
738
749
backend := Lake.Backend.default,
739
750
platformIndependent := none,
751
+
precompileImports := false,
740
752
dynlibs := #[],
741
753
plugins := #[],
742
754
requiresModuleSystem := false,
@@ -958,7 +970,7 @@ The fields of {keywordOf Lake.DSL.leanExeCommand}`lean_exe` are those of the {na
958
970
959
971
Because external libraries may be written in any language and require arbitrary build steps, they are defined as programs written in the {name Lake.FetchM}`FetchM` monad that produce a {name Lake.Job}`Job`.
960
972
External library targets should produce a build job that carries out the build and then returns the location of the resulting static library.
961
-
For the external library to link properly when {name Lake.PackageConfig.precompileModules}`precompileModules` is on, the static library produced by an {keyword}`extern_lib` target must follow the platform's naming conventions for libraries (i.e., be named foo.a on Windows or libfoo.a on Unix-like systems).
973
+
For the external library to link properly when {name Lake.LeanConfig.precompileImports}`precompileImports` or {name Lake.PackageConfig.precompileModules}`precompileModules` is on, the static library produced by an {keyword}`extern_lib` target must follow the platform's naming conventions for libraries (i.e., be named `foo.a` on Windows or `libfoo.a` on Unix-like systems).
962
974
The utility function {name}`Lake.nameToStaticLib` converts a library name into its proper file name for current platform.
0 commit comments