aboutsummaryrefslogtreecommitdiff
path: root/new-luxc/source/program.lux
diff options
context:
space:
mode:
authorEduardo Julian2020-05-16 20:19:34 -0400
committerEduardo Julian2020-05-16 20:19:34 -0400
commit9965c551e7ccd6de8c47c7b1b78f804801810dac (patch)
tree05538c6ede048898f375ce3a333a2c4dd6b6f4a7 /new-luxc/source/program.lux
parent65d0beab4cb53a9ba8574e1133d105420f0b23aa (diff)
Parallel compilation for the new compiler(s).
Diffstat (limited to 'new-luxc/source/program.lux')
-rw-r--r--new-luxc/source/program.lux20
1 files changed, 9 insertions, 11 deletions
diff --git a/new-luxc/source/program.lux b/new-luxc/source/program.lux
index dc293cf81..44a09d4b9 100644
--- a/new-luxc/source/program.lux
+++ b/new-luxc/source/program.lux
@@ -48,7 +48,8 @@
]]]]]]]]
[program
["/" compositor
- ["/." cli]]]
+ ["/." cli]
+ ["/." static]]]
[luxc
[lang
[host
@@ -146,23 +147,20 @@
(host.array-write 3 (:coerce java/lang/Object state)))
method))))
-(program: [{service /cli.service}]
- (let [(^slots [#/cli.target #/cli.module]) (case service
- (#/cli.Compilation configuration) configuration
- (#/cli.Interpretation configuration) configuration)
- jar-path (format target (:: file.system separator) "program.jar")]
- (exec (/.compiler target
- ".jvm"
+(program: [{configuration /cli.configuration}]
+ (let [jar-path (format (get@ #/cli.target configuration) (:: file.system separator) "program.jar")]
+ (exec (/.compiler {#/static.host @.jvm
+ #/static.host-module-extension ".jvm"
+ #/static.target (get@ #/cli.target configuration)
+ #/static.artifact-extension ".class"}
..expander
analysis.bundle
..platform
- @.jvm
## generation.bundle
translation.bundle
(directive.bundle extender)
jvm/program.program
..extender
- service
- ".class"
+ configuration
[(packager.package jvm/program.class) jar-path])
(io.io []))))