on master help sign in
Added compile flag support to deactivate creation of the java backend
1b46872Jan Bessai
Makefile+6−6
@@ -1,17 +1,17 @@
1include config.mk
1include config.mk
2
2
3install: .PHONY
3install: .PHONY
4− $(CABAL) install
4+ $(CABAL) install $(CABALFLAGS)
5
5
6pinstall: .PHONY
6pinstall: .PHONY
7− $(CABAL) configure --enable-executable-profiling
7+ $(CABAL) configure --enable-executable-profiling $(CABALFLAGS)
8− $(CABAL) install --enable-executable-profiling
8+ $(CABAL) install --enable-executable-profiling $(CABALFLAGS)
9
9
10build: .PHONY
10build: .PHONY
11− $(CABAL) build
11+ $(CABAL) build $(CABALFLAGS)
12
12
13configure: .PHONY
13configure: .PHONY
14− $(CABAL) configure
14+ $(CABAL) configure $(CABALFLAGS)
15
15
16test : .PHONY
16test : .PHONY
17 make -C test
17 make -C test
@@ -19,7 +19,7 @@ test : .PHONY
19relib: .PHONY
19relib: .PHONY
20 make -C lib IDRIS=../dist/build/idris/idris clean
20 make -C lib IDRIS=../dist/build/idris/idris clean
21 make -C effects IDRIS=../dist/build/idris/idris clean
21 make -C effects IDRIS=../dist/build/idris/idris clean
22− $(CABAL) install
22+ $(CABAL) install $(CABALFLAGS)
23
23
24linecount : .PHONY
24linecount : .PHONY
25 wc -l src/Idris/*.hs src/Core/*.hs src/IRTS/*.hs src/Pkg/*.hs
25 wc -l src/Idris/*.hs src/Core/*.hs src/IRTS/*.hs src/Pkg/*.hs
Setup.hs+46−6
@@ -1,24 +1,31 @@
1{-# LANGUAGE CPP #-}
1{-# LANGUAGE CPP #-}
2+import Control.Monad
3+import Data.IORef
4+
2import Distribution.Simple
5import Distribution.Simple
3import Distribution.Simple.InstallDirs as I
6import Distribution.Simple.InstallDirs as I
4import Distribution.Simple.LocalBuildInfo as L
7import Distribution.Simple.LocalBuildInfo as L
5import qualified Distribution.Simple.Setup as S
8import qualified Distribution.Simple.Setup as S
6import qualified Distribution.Simple.Program as P
9import qualified Distribution.Simple.Program as P
7import Distribution.PackageDescription
10import Distribution.PackageDescription
11+import Distribution.Text
8
12
9import System.Exit
13import System.Exit
10import System.FilePath ((</>), splitDirectories)
14import System.FilePath ((</>), splitDirectories)
15+import System.Directory
11import qualified System.FilePath.Posix as Px
16import qualified System.FilePath.Posix as Px
12import System.Process
17import System.Process
13
18
19+
14-- After Idris is built, we need to check and install the prelude and other libs
20-- After Idris is built, we need to check and install the prelude and other libs
15
21
16make verbosity = P.runProgramInvocation verbosity . P.simpleProgramInvocation "make"
22make verbosity = P.runProgramInvocation verbosity . P.simpleProgramInvocation "make"
23+mvn verbosity = P.runProgramInvocation verbosity . P.simpleProgramInvocation "mvn"
17
24
18#ifdef mingw32_HOST_OS
25#ifdef mingw32_HOST_OS
19-- make on mingw32 exepects unix style separators
26-- make on mingw32 exepects unix style separators
20(<//>) = (Px.</>)
27(<//>) = (Px.</>)
21−idrisCmd local = Px.joinPath $ splitDirectories $
28+idrisCmd local = Px.joinPath $ splitDirectories $
22 ".." <//> buildDir local <//> "idris" <//> "idris"
29 ".." <//> buildDir local <//> "idris" <//> "idris"
23#else
30#else
24idrisCmd local = ".." </> buildDir local </> "idris" </> "idris"
31idrisCmd local = ".." </> buildDir local </> "idris" </> "idris"
@@ -28,6 +35,12 @@ cleanStdLib verbosity
28 = do make verbosity [ "-C", "lib", "clean", "IDRIS=idris" ]
35 = do make verbosity [ "-C", "lib", "clean", "IDRIS=idris" ]
29 make verbosity [ "-C", "effects", "clean", "IDRIS=idris" ]
36 make verbosity [ "-C", "effects", "clean", "IDRIS=idris" ]
30
37
38+cleanJavaLib verbosity
39+ = do dirty <- doesDirectoryExist ("java" </> "target")
40+ when dirty $ mvn verbosity [ "-f", "java/pom.xml", "clean" ]
41+ pomExists <- doesFileExist ("java" </> "pom.xml")
42+ when pomExists $ removeFile ("java" </> "pom.xml")
43+
31installStdLib pkg local verbosity copy
44installStdLib pkg local verbosity copy
32 = do let dirs = L.absoluteInstallDirs pkg local copy
45 = do let dirs = L.absoluteInstallDirs pkg local copy
33 let idir = datadir dirs
46 let idir = datadir dirs
@@ -51,6 +64,8 @@ installStdLib pkg local verbosity copy
51 , "IDRIS=" ++ icmd
64 , "IDRIS=" ++ icmd
52 ]
65 ]
53
66
67+installJavaLib verbosity = mvn verbosity [ "-f", "java/pom.xml", "install" ]
68+
54-- This is a hack. I don't know how to tell cabal that a data file needs
69-- This is a hack. I don't know how to tell cabal that a data file needs
55-- installing but shouldn't be in the distribution. And it won't make the
70-- installing but shouldn't be in the distribution. And it won't make the
56-- distribution if it's not there, so instead I just delete
71-- distribution if it's not there, so instead I just delete
@@ -79,19 +94,44 @@ checkStdLib local verbosity
79 , "IDRIS=" ++ icmd
94 , "IDRIS=" ++ icmd
80 ]
95 ]
81
96
97+checkJavaLib verbosity = mvn verbosity [ "-f", "java/pom.xml", "package" ]
98+
99+noJavaFlag flags =
100+ case lookup (FlagName "nojava") (S.configConfigurationsFlags flags) of
101+ Just True -> True
102+ Just False -> False
103+ Nothing -> False
104+
105+preparePom version
106+ = do pomTemplate <- readFile ("java" </> "pom_template.xml")
107+ writeFile ("java" </> "pom.xml") (unlines . map insertVersion $ lines pomTemplate)
108+ where
109+ insertVersion " <version></version>" = " <version>" ++ display version ++ "</version>"
110+ insertVersion other = other
111+
82-- Install libraries during both copy and install
112-- Install libraries during both copy and install
83-- See http://hackage.haskell.org/trac/hackage/ticket/718
113-- See http://hackage.haskell.org/trac/hackage/ticket/718
114+main = do
84−main = defaultMainWithHooks $ simpleUserHooks
115+ defaultMainWithHooks $ simpleUserHooks
85 { postCopy = \ _ flags pkg lbi -> do
116 { postCopy = \ _ flags pkg lbi -> do
86− installStdLib pkg lbi (S.fromFlag $ S.copyVerbosity flags)
117+ let verb = S.fromFlag $ S.copyVerbosity flags
118+ installStdLib pkg lbi verb
87 (S.fromFlag $ S.copyDest flags)
119 (S.fromFlag $ S.copyDest flags)
88 , postInst = \ _ flags pkg lbi -> do
120 , postInst = \ _ flags pkg lbi -> do
89− installStdLib pkg lbi (S.fromFlag $ S.installVerbosity flags)
121+ let verb = (S.fromFlag $ S.installVerbosity flags)
122+ installStdLib pkg lbi verb
90 NoCopyDest
123 NoCopyDest
124+ unless (noJavaFlag $ configFlags lbi) (installJavaLib verb)
91 , postConf = \ _ flags _ lbi -> do
125 , postConf = \ _ flags _ lbi -> do
92 removeLibIdris lbi (S.fromFlag $ S.configVerbosity flags)
126 removeLibIdris lbi (S.fromFlag $ S.configVerbosity flags)
127+ unless (noJavaFlag $ configFlags lbi)
128+ (preparePom . pkgVersion . package $ localPkgDescr lbi)
93 , postClean = \ _ flags _ _ -> do
129 , postClean = \ _ flags _ _ -> do
94− cleanStdLib (S.fromFlag $ S.cleanVerbosity flags)
130+ let verb = S.fromFlag $ S.cleanVerbosity flags
131+ cleanStdLib verb
132+ cleanJavaLib verb
95 , postBuild = \ _ flags _ lbi -> do
133 , postBuild = \ _ flags _ lbi -> do
96− checkStdLib lbi (S.fromFlag $ S.buildVerbosity flags)
134+ let verb = S.fromFlag $ S.buildVerbosity flags
135+ checkStdLib lbi verb
136+ unless (noJavaFlag $ configFlags lbi) (checkJavaLib verb)
97 }
137 }
config.mk+3
@@ -1,3 +1,6 @@
1GMP_INCLUDE_DIR :=
1GMP_INCLUDE_DIR :=
2CC :=gcc
2CC :=gcc
3CABAL :=cabal
3CABAL :=cabal
4+CABALFLAGS :=
5+## Disable Java RTS:
6+#CABALFLAGS :=-f NoJava
idris.cabal+8
@@ -42,8 +42,11 @@ Description: Idris is a general purpose language with full dependent types.
42 * Hugs style interactive environment
42 * Hugs style interactive environment
43
43
44Cabal-Version: >= 1.6
44Cabal-Version: >= 1.6
45+
46+
45Build-type: Custom
47Build-type: Custom
46
48
49+
47Data-files: rts/libidris_rts.a rts/idris_rts.h rts/idris_gc.h
50Data-files: rts/libidris_rts.a rts/idris_rts.h rts/idris_gc.h
48 rts/idris_stdfgn.h rts/idris_main.c rts/idris_gmp.h
51 rts/idris_stdfgn.h rts/idris_main.c rts/idris_gmp.h
49 rts/libtest.c
52 rts/libtest.c
@@ -62,11 +65,16 @@ Extra-source-files: lib/Makefile lib/*.idr lib/Prelude/*.idr
62 config.mk
65 config.mk
63 rts/*.c rts/*.h rts/Makefile
66 rts/*.c rts/*.h rts/Makefile
64 js/*.js
67 js/*.js
68+ java/org/idris/rts/*.java
65
69
66source-repository head
70source-repository head
67 type: git
71 type: git
68 location: git://github.com/edwinb/Idris-dev.git
72 location: git://github.com/edwinb/Idris-dev.git
69
73
74+Flag NoJava
75+ Description: Do not build the Java RTS
76+ Default: False
77+
70
78
71Executable idris
79Executable idris
72 Main-is: Main.hs
80 Main-is: Main.hs
java/idris.jardeleted

Binary file not shown.

java/pom_template.xmlnew file+39
@@ -0,0 +1,39 @@
1+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
2+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
3+ <modelVersion>4.0.0</modelVersion>
4+
5+ <groupId>org.idris.rts</groupId>
6+ <artifactId>idris</artifactId>
7+ <version></version>
8+ <packaging>jar</packaging>
9+
10+ <name>Runtime System for the Idris Java Backend</name>
11+ <url>http://www.irdis-lang.org</url>
12+
13+ <properties>
14+ <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
15+ <skipTests>true</skipTests>
16+ </properties>
17+
18+ <build>
19+ <plugins>
20+ <plugin>
21+ <groupId>org.apache.maven.plugins</groupId>
22+ <artifactId>maven-compiler-plugin</artifactId>
23+ <version>3.0</version>
24+ <configuration>
25+ <source>1.7</source>
26+ <target>1.7</target>
27+ </configuration>
28+ </plugin>
29+ <plugin>
30+ <groupId>org.apache.maven.plugins</groupId>
31+ <artifactId>maven-surefire-plugin</artifactId>
32+ <version>2.14</version>
33+ <configuration>
34+ <skipTests>${skipTests}</skipTests>
35+ </configuration>
36+ </plugin>
37+ </plugins>
38+ </build>
39+</project>
java/org/idris/rts/Closure.java → java/src/main/java/org/idris/rts/Closure.javarenamed

The content is the same.

java/org/idris/rts/ForeignPrimitives.java → java/src/main/java/org/idris/rts/ForeignPrimitives.javarenamed

The content is the same.

java/org/idris/rts/IdrisObject.java → java/src/main/java/org/idris/rts/IdrisObject.javarenamed

The content is the same.

java/org/idris/rts/TailCallClosure.java → java/src/main/java/org/idris/rts/TailCallClosure.javarenamed

The content is the same.

test/mkjavatest.pl+3−1
@@ -14,7 +14,9 @@ open(FOO,">run_java");
14
14
15print FOO "#!/bin/bash\n";
15print FOO "#!/bin/bash\n";
16print FOO "idris \$@ $test.idr -o $test.java --target Java\n";
16print FOO "idris \$@ $test.idr -o $test.java --target Java\n";
17−print FOO "export CLASSPATH=../../java/idris.jar:\$CLASSPATH\n";
17+print FOO "for RTS in ../../java/target/idris-*.jar; do\n";
18+print FOO " export CLASSPATH=$RTS:\$CLASSPATH\n";
19+print FOO "done;\n";
18print FOO "javac $test.java\n";
20print FOO "javac $test.java\n";
19print FOO "java $test\n";
21print FOO "java $test\n";
20print FOO "rm -f $test.java *.class\n";
22print FOO "rm -f $test.java *.class\n";
test/reg002/run_java+3−1
@@ -1,6 +1,8 @@
1#!/bin/bash
1#!/bin/bash
2idris $@ reg002.idr -o reg002.java --target Java
2idris $@ reg002.idr -o reg002.java --target Java
3−export CLASSPATH=../../java/idris.jar:$CLASSPATH
3+for RTS in ../../java/target/idris-*.jar; do
4+ export CLASSPATH=$RTS:$CLASSPATH
5+done;
4javac reg002.java
6javac reg002.java
5java reg002
7java reg002
6rm -f reg002.java *.class
8rm -f reg002.java *.class
test/reg004/run_java+3−1
@@ -1,6 +1,8 @@
1#!/bin/bash
1#!/bin/bash
2idris $@ reg004.idr -o reg004.java --target Java
2idris $@ reg004.idr -o reg004.java --target Java
3−export CLASSPATH=../../java/idris.jar:$CLASSPATH
3+for RTS in ../../java/target/idris-*.jar; do
4+ export CLASSPATH=$RTS:$CLASSPATH
5+done;
4javac reg004.java
6javac reg004.java
5java reg004
7java reg004
6rm -f reg004.java *.class
8rm -f reg004.java *.class
test/reg005/run_java+3−1
@@ -1,6 +1,8 @@
1#!/bin/bash
1#!/bin/bash
2idris $@ reg005.idr -o reg005.java --target Java
2idris $@ reg005.idr -o reg005.java --target Java
3−export CLASSPATH=../../java/idris.jar:$CLASSPATH
3+for RTS in ../../java/target/idris-*.jar; do
4+ export CLASSPATH=$RTS:$CLASSPATH
5+done;
4javac reg005.java
6javac reg005.java
5java reg005
7java reg005
6rm -f reg005.java *.class
8rm -f reg005.java *.class
test/test001/run_java+3−1
@@ -1,6 +1,8 @@
1#!/bin/bash
1#!/bin/bash
2idris $@ test001.idr -o test001.java --target Java
2idris $@ test001.idr -o test001.java --target Java
3−export CLASSPATH=../../java/idris.jar:$CLASSPATH
3+for RTS in ../../java/target/idris-*.jar; do
4+ export CLASSPATH=$RTS:$CLASSPATH
5+done;
4javac test001.java
6javac test001.java
5java test001
7java test001
6rm -f test001.java *.class
8rm -f test001.java *.class
test/test003/run_java+3−1
@@ -1,7 +1,9 @@
1#!/bin/bash
1#!/bin/bash
2idris $@ test003a.lidr -o test003a.java --target Java
2idris $@ test003a.lidr -o test003a.java --target Java
3idris $@ test003.lidr -o test003.java --target Java
3idris $@ test003.lidr -o test003.java --target Java
4−export CLASSPATH=../../java/idris.jar:$CLASSPATH
4+for RTS in ../../java/target/idris-*.jar; do
5+ export CLASSPATH=$RTS:$CLASSPATH
6+done;
5javac test003.java
7javac test003.java
6java test003
8java test003
7rm -f test003.java *.class
9rm -f test003.java *.class
test/test004/run_java+3−1
@@ -1,6 +1,8 @@
1#!/bin/bash
1#!/bin/bash
2idris $@ test004.idr -o test004.java --target Java
2idris $@ test004.idr -o test004.java --target Java
3−export CLASSPATH=../../java/idris.jar:$CLASSPATH
3+for RTS in ../../java/target/idris-*.jar; do
4+ export CLASSPATH=$RTS:$CLASSPATH
5+done;
4javac test004.java
6javac test004.java
5java test004
7java test004
6rm -f test004.java *.class
8rm -f test004.java *.class
test/test005/run_java+3−1
@@ -1,6 +1,8 @@
1#!/bin/bash
1#!/bin/bash
2idris $@ test005.idr -o test005.java --target Java
2idris $@ test005.idr -o test005.java --target Java
3−export CLASSPATH=../../java/idris.jar:$CLASSPATH
3+for RTS in ../../java/target/idris-*.jar; do
4+ export CLASSPATH=$RTS:$CLASSPATH
5+done;
4javac test005.java
6javac test005.java
5java test005
7java test005
6rm -f test005.java *.class
8rm -f test005.java *.class
test/test006/run_java+3−1
@@ -1,6 +1,8 @@
1#!/bin/bash
1#!/bin/bash
2idris $@ test006.idr -o test006.java --target Java
2idris $@ test006.idr -o test006.java --target Java
3−export CLASSPATH=../../java/idris.jar:$CLASSPATH
3+for RTS in ../../java/target/idris-*.jar; do
4+ export CLASSPATH=$RTS:$CLASSPATH
5+done;
4javac test006.java
6javac test006.java
5java test006
7java test006
6rm -f test006.java *.class
8rm -f test006.java *.class
test/test007/run_java+3−1
@@ -1,6 +1,8 @@
1#!/bin/bash
1#!/bin/bash
2idris $@ test007.idr -o test007.java --target Java
2idris $@ test007.idr -o test007.java --target Java
3−export CLASSPATH=../../java/idris.jar:$CLASSPATH
3+for RTS in ../../java/target/idris-*.jar; do
4+ export CLASSPATH=$RTS:$CLASSPATH
5+done;
4javac test007.java
6javac test007.java
5java test007
7java test007
6rm -f test007.java *.class
8rm -f test007.java *.class
test/test008/run_java+3−1
@@ -1,6 +1,8 @@
1#!/bin/bash
1#!/bin/bash
2idris $@ test008.idr -o test008.java --target Java
2idris $@ test008.idr -o test008.java --target Java
3−export CLASSPATH=../../java/idris.jar:$CLASSPATH
3+for RTS in ../../java/target/idris-*.jar; do
4+ export CLASSPATH=$RTS:$CLASSPATH
5+done;
4javac test008.java
6javac test008.java
5java test008
7java test008
6rm -f test008.java *.class
8rm -f test008.java *.class
test/test009/run_java+3−1
@@ -1,6 +1,8 @@
1#!/bin/bash
1#!/bin/bash
2idris $@ test009.idr -o test009.java --target Java
2idris $@ test009.idr -o test009.java --target Java
3−export CLASSPATH=../../java/idris.jar:$CLASSPATH
3+for RTS in ../../java/target/idris-*.jar; do
4+ export CLASSPATH=$RTS:$CLASSPATH
5+done;
4javac test009.java
6javac test009.java
5java test009
7java test009
6rm -f test009.java *.class
8rm -f test009.java *.class
test/test011/run_java+3−1
@@ -1,6 +1,8 @@
1#!/bin/bash
1#!/bin/bash
2idris $@ test011.idr -o test011.java --target Java
2idris $@ test011.idr -o test011.java --target Java
3−export CLASSPATH=../../java/idris.jar:$CLASSPATH
3+for RTS in ../../java/target/idris-*.jar; do
4+ export CLASSPATH=$RTS:$CLASSPATH
5+done;
4javac test011.java
6javac test011.java
5java test011
7java test011
6rm -f test011.java *.class
8rm -f test011.java *.class
test/test013/run_java+3−1
@@ -1,6 +1,8 @@
1#!/bin/bash
1#!/bin/bash
2idris $@ test013.idr -o test013.java --target Java
2idris $@ test013.idr -o test013.java --target Java
3−export CLASSPATH=../../java/idris.jar:$CLASSPATH
3+for RTS in ../../java/target/idris-*.jar; do
4+ export CLASSPATH=$RTS:$CLASSPATH
5+done;
4javac test013.java
6javac test013.java
5java test013
7java test013
6rm -f test013.java *.class
8rm -f test013.java *.class
test/test014/run_java+3−1
@@ -1,6 +1,8 @@
1#!/bin/bash
1#!/bin/bash
2idris $@ test014.idr -o test014.java --target Java
2idris $@ test014.idr -o test014.java --target Java
3−export CLASSPATH=../../java/idris.jar:$CLASSPATH
3+for RTS in ../../java/target/idris-*.jar; do
4+ export CLASSPATH=$RTS:$CLASSPATH
5+done;
4javac test014.java
6javac test014.java
5java test014
7java test014
6rm -f test014.java *.class
8rm -f test014.java *.class
test/test015/run_java+3−1
@@ -1,6 +1,8 @@
1#!/bin/bash
1#!/bin/bash
2idris $@ test015.idr -o test015.java --target Java
2idris $@ test015.idr -o test015.java --target Java
3−export CLASSPATH=../../java/idris.jar:$CLASSPATH
3+for RTS in ../../java/target/idris-*.jar; do
4+ export CLASSPATH=$RTS:$CLASSPATH
5+done;
4javac test015.java
6javac test015.java
5java test015
7java test015
6rm -f test015.java *.class
8rm -f test015.java *.class
test/test016/run_java+3−1
@@ -1,6 +1,8 @@
1#!/bin/bash
1#!/bin/bash
2idris $@ test016.idr -o test016.java --target Java
2idris $@ test016.idr -o test016.java --target Java
3−export CLASSPATH=../../java/idris.jar:$CLASSPATH
3+for RTS in ../../java/target/idris-*.jar; do
4+ export CLASSPATH=$RTS:$CLASSPATH
5+done;
4javac test016.java
6javac test016.java
5java test016
7java test016
6rm -f test016.java *.class
8rm -f test016.java *.class
test/test018/run_java+3−1
@@ -1,7 +1,9 @@
1#!/bin/bash
1#!/bin/bash
2idris $@ test018.idr -o test018.java --target Java
2idris $@ test018.idr -o test018.java --target Java
3idris $@ test018a.idr -o test018a.java --target Java
3idris $@ test018a.idr -o test018a.java --target Java
4−export CLASSPATH=../../java/idris.jar:$CLASSPATH
4+for RTS in ../../java/target/idris-*.jar; do
5+ export CLASSPATH=$RTS:$CLASSPATH
6+done;
5javac test018.java
7javac test018.java
6java test018
8java test018
7rm -f test018.java test018a.java *.class
9rm -f test018.java test018a.java *.class
test/test019/run_java+3−1
@@ -1,6 +1,8 @@
1#!/bin/bash
1#!/bin/bash
2idris $@ test019.lidr -o test019.java --target Java
2idris $@ test019.lidr -o test019.java --target Java
3−export CLASSPATH=../../java/idris.jar:$CLASSPATH
3+for RTS in ../../java/target/idris-*.jar; do
4+ export CLASSPATH=$RTS:$CLASSPATH
5+done;
4javac test019.java
6javac test019.java
5java test019
7java test019
6rm -f test019.java *.class
8rm -f test019.java *.class
test/test020/run_java+3−1
@@ -1,7 +1,9 @@
1#!/bin/bash
1#!/bin/bash
2idris $@ test020.idr -o test020.java --target Java
2idris $@ test020.idr -o test020.java --target Java
3idris $@ test020a.idr -o test020a.java --target Java
3idris $@ test020a.idr -o test020a.java --target Java
4−export CLASSPATH=../../java/idris.jar:$CLASSPATH
4+for RTS in ../../java/target/idris-*.jar; do
5+ export CLASSPATH=$RTS:$CLASSPATH
6+done;
5javac test020.java
7javac test020.java
6java test020
8java test020
7rm -f test020.java *.class
9rm -f test020.java *.class
test/test021/run_java+3−1
@@ -1,7 +1,9 @@
1#!/bin/bash
1#!/bin/bash
2idris -p effects $@ test021.idr -o test021.java --target Java
2idris -p effects $@ test021.idr -o test021.java --target Java
3idris -p effects $@ test021a.idr -o test021a.java --target Java
3idris -p effects $@ test021a.idr -o test021a.java --target Java
4−export CLASSPATH=../../java/idris.jar:$CLASSPATH
4+for RTS in ../../java/target/idris-*.jar; do
5+ export CLASSPATH=$RTS:$CLASSPATH
6+done;
5javac test021.java
7javac test021.java
6java test021
8java test021
7javac test021a.java
9javac test021a.java