@@ -28,8 +28,11 @@ mvn verbosity = P.runProgramInvocation verbosity . P.simpleProgramInvocation "mv
28(<//>) = (Px.</>)
28(<//>) = (Px.</>)
29idrisCmd local = Px.joinPath $ splitDirectories $
29idrisCmd local = Px.joinPath $ splitDirectories $
30 ".." <//> buildDir local <//> "idris" <//> "idris"
30 ".." <//> buildDir local <//> "idris" <//> "idris"
31+rtsDir local = Px.joinPath $ splitDirectories $
32+ ".." <//> buildDir local <//> "rts" <//> "libidris_rts"
32idrisCmd local = ".." </> buildDir local </> "idris" </> "idris"
34idrisCmd local = ".." </> buildDir local </> "idris" </> "idris"
35+rtsDir local = ".." </> buildDir local </> "rts" </> "libidris_rts"
35cleanStdLib verbosity
38cleanStdLib verbosity
@@ -53,11 +56,13 @@ installStdLib pkg local verbosity copy
53 [ "-C", "lib", "install"
56 [ "-C", "lib", "install"
54 , "TARGET=" ++ idir
57 , "TARGET=" ++ idir
55 , "IDRIS=" ++ icmd
58 , "IDRIS=" ++ icmd
59+ , "RTS=" ++ rtsDir local
57 make verbosity
61 make verbosity
58 [ "-C", "effects", "install"
62 [ "-C", "effects", "install"
59 , "TARGET=" ++ idir
63 , "TARGET=" ++ idir
60 , "IDRIS=" ++ icmd
64 , "IDRIS=" ++ icmd
65+ , "RTS=" ++ rtsDir local
62 let idirRts = idir </> "rts"
67 let idirRts = idir </> "rts"
63 putStrLn $ "Installing run time system in " ++ idirRts
68 putStrLn $ "Installing run time system in " ++ idirRts
@@ -65,6 +70,7 @@ installStdLib pkg local verbosity copy
65 [ "-C", "rts", "install"
70 [ "-C", "rts", "install"
66 , "TARGET=" ++ idirRts
71 , "TARGET=" ++ idirRts
67 , "IDRIS=" ++ icmd
72 , "IDRIS=" ++ icmd
73+ , "RTS=" ++ rtsDir local
70installJavaLib pkg local verbosity copy version = do
76installJavaLib pkg local verbosity copy version = do
@@ -99,16 +105,25 @@ checkStdLib local verbosity
99 make verbosity
105 make verbosity
100 [ "-C", "lib", "check"
106 [ "-C", "lib", "check"
101 , "IDRIS=" ++ icmd
107 , "IDRIS=" ++ icmd
108+ , "RTS=" ++ rtsDir local
103 make verbosity
110 make verbosity
104 [ "-C", "effects", "check"
111 [ "-C", "effects", "check"
105 , "IDRIS=" ++ icmd
112 , "IDRIS=" ++ icmd
113+ , "RTS=" ++ rtsDir local
107 make verbosity
115 make verbosity
108 [ "-C", "rts", "check"
116 [ "-C", "rts", "check"
109 , "IDRIS=" ++ icmd
117 , "IDRIS=" ++ icmd
120+buildRTS dir verbosity
121+ = do putStrLn "Building RTS..."
123+ [ "-C", "rts", "build"
112checkJavaLib verbosity = mvn verbosity [ "-f", "java" </> "pom.xml", "package" ]
127checkJavaLib verbosity = mvn verbosity [ "-f", "java" </> "pom.xml", "package" ]
114javaFlag flags =
129javaFlag flags =
@@ -155,6 +170,8 @@ main = do
155 cleanJavaLib verb
170 cleanJavaLib verb
156 , postBuild = \ _ flags _ lbi -> do
171 , postBuild = \ _ flags _ lbi -> do
157 let verb = S.fromFlag $ S.buildVerbosity flags
172 let verb = S.fromFlag $ S.buildVerbosity flags
173+ let distdir = buildDir lbi
174+ buildRTS distdir verb
158 checkStdLib lbi verb
175 checkStdLib lbi verb
159 when (javaFlag $ configFlags lbi) (checkJavaLib verb)
176 when (javaFlag $ configFlags lbi) (checkJavaLib verb)