aboutsummaryrefslogtreecommitdiff
path: root/new-luxc/source/program.lux
diff options
context:
space:
mode:
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 []))))