@@ -44,7 +44,7 @@ cleanJavaLib verbosity
44 execPomExists <- doesFileExist ("java" </> "executable_pom.xml")
44 execPomExists <- doesFileExist ("java" </> "executable_pom.xml")
45 when pomExists $ removeFile ("java" </> "executable_pom.xml")
45 when pomExists $ removeFile ("java" </> "executable_pom.xml")
47−installStdLib pkg local verbosity copy
47+installStdLib pkg local withoutEffects verbosity copy
48 = do let dirs = L.absoluteInstallDirs pkg local copy
48 = do let dirs = L.absoluteInstallDirs pkg local copy
49 let idir = datadir dirs
49 let idir = datadir dirs
50 let icmd = idrisCmd local
50 let icmd = idrisCmd local
@@ -54,11 +54,12 @@ installStdLib pkg local verbosity copy
54 , "TARGET=" ++ idir
54 , "TARGET=" ++ idir
55 , "IDRIS=" ++ icmd
55 , "IDRIS=" ++ icmd
57+ unless withoutEffects $
57− make verbosity
58+ make verbosity
58− [ "-C", "effects", "install"
59+ [ "-C", "effects", "install"
59− , "TARGET=" ++ idir
60+ , "TARGET=" ++ idir
60− , "IDRIS=" ++ icmd
61+ , "IDRIS=" ++ icmd
62 let idirRts = idir </> "rts"
63 let idirRts = idir </> "rts"
63 putStrLn $ "Installing run time system in " ++ idirRts
64 putStrLn $ "Installing run time system in " ++ idirRts
64 make verbosity
65 make verbosity
@@ -93,17 +94,18 @@ removeLibIdris local verbosity
93 , "IDRIS=" ++ icmd
94 , "IDRIS=" ++ icmd
96−checkStdLib local verbosity
97+checkStdLib local withoutEffects verbosity
97 = do let icmd = idrisCmd local
98 = do let icmd = idrisCmd local
98 putStrLn $ "Building libraries..."
99 putStrLn $ "Building libraries..."
99 make verbosity
100 make verbosity
100 [ "-C", "lib", "check"
101 [ "-C", "lib", "check"
101 , "IDRIS=" ++ icmd
102 , "IDRIS=" ++ icmd
104+ unless withoutEffects $
103− make verbosity
105+ make verbosity
104− [ "-C", "effects", "check"
106+ [ "-C", "effects", "check"
105− , "IDRIS=" ++ icmd
107+ , "IDRIS=" ++ icmd
107 make verbosity
109 make verbosity
108 [ "-C", "rts", "check"
110 [ "-C", "rts", "check"
109 , "IDRIS=" ++ icmd
111 , "IDRIS=" ++ icmd
@@ -117,6 +119,12 @@ javaFlag flags =
117 Just False -> False
119 Just False -> False
118 Nothing -> False
120 Nothing -> False
122+noEffectsFlag flags =
123+ case lookup (FlagName "noeffects") (S.configConfigurationsFlags flags) of
120preparePoms version
128preparePoms version
121 = do pomTemplate <- TIO.readFile ("java" </> "pom_template.xml")
129 = do pomTemplate <- TIO.readFile ("java" </> "pom_template.xml")
122 TIO.writeFile ("java" </> "pom.xml") (insertVersion pomTemplate)
130 TIO.writeFile ("java" </> "pom.xml") (insertVersion pomTemplate)
@@ -132,11 +140,13 @@ main = do
132 defaultMainWithHooks $ simpleUserHooks
140 defaultMainWithHooks $ simpleUserHooks
133 { postCopy = \ _ flags pkg lbi -> do
141 { postCopy = \ _ flags pkg lbi -> do
134 let verb = S.fromFlag $ S.copyVerbosity flags
142 let verb = S.fromFlag $ S.copyVerbosity flags
143+ let withoutEffects = noEffectsFlag $ configFlags lbi
135− installStdLib pkg lbi verb
144+ installStdLib pkg lbi withoutEffects verb
136 (S.fromFlag $ S.copyDest flags)
145 (S.fromFlag $ S.copyDest flags)
137 , postInst = \ _ flags pkg lbi -> do
146 , postInst = \ _ flags pkg lbi -> do
138 let verb = (S.fromFlag $ S.installVerbosity flags)
147 let verb = (S.fromFlag $ S.installVerbosity flags)
148+ let withoutEffects = noEffectsFlag $ configFlags lbi
139− installStdLib pkg lbi verb
149+ installStdLib pkg lbi withoutEffects verb
140 NoCopyDest
150 NoCopyDest
141 when (javaFlag $ configFlags lbi)
151 when (javaFlag $ configFlags lbi)
142 (installJavaLib pkg
152 (installJavaLib pkg
@@ -155,6 +165,7 @@ main = do
155 cleanJavaLib verb
165 cleanJavaLib verb
156 , postBuild = \ _ flags _ lbi -> do
166 , postBuild = \ _ flags _ lbi -> do
157 let verb = S.fromFlag $ S.buildVerbosity flags
167 let verb = S.fromFlag $ S.buildVerbosity flags
168+ let withoutEffects = noEffectsFlag $ configFlags lbi
158− checkStdLib lbi verb
169+ checkStdLib lbi withoutEffects verb
159 when (javaFlag $ configFlags lbi) (checkJavaLib verb)
170 when (javaFlag $ configFlags lbi) (checkJavaLib verb)