on master help sign in
Flag to disable effects
commitb68a1a7a5346798aa16e7be7ffd0428e89b22faf authorJan Bessai <Jan.Bessai@tu-dortmund.de> dateSat 23 Mar 2013, 00:56 (14 years ago) parent81865b4
3 files changed+33−16
Setup.hs+25−14 config.mk+4−1 idris.cabal+4−1
Setup.hs+25−14
@@ -44,7 +44,7 @@ cleanJavaLib verbosity
4444 execPomExists <- doesFileExist ("java" </> "executable_pom.xml")
4545 when pomExists $ removeFile ("java" </> "executable_pom.xml")
4646
47−installStdLib pkg local verbosity copy
47+installStdLib pkg local withoutEffects verbosity copy
4848 = do let dirs = L.absoluteInstallDirs pkg local copy
4949 let idir = datadir dirs
5050 let icmd = idrisCmd local
@@ -54,11 +54,12 @@ installStdLib pkg local verbosity copy
5454 , "TARGET=" ++ idir
5555 , "IDRIS=" ++ icmd
5656 ]
57− make verbosity
58− [ "-C", "effects", "install"
59− , "TARGET=" ++ idir
60− , "IDRIS=" ++ icmd
61− ]
57+ unless withoutEffects $
58+ make verbosity
59+ [ "-C", "effects", "install"
60+ , "TARGET=" ++ idir
61+ , "IDRIS=" ++ icmd
62+ ]
6263 let idirRts = idir </> "rts"
6364 putStrLn $ "Installing run time system in " ++ idirRts
6465 make verbosity
@@ -93,17 +94,18 @@ removeLibIdris local verbosity
9394 , "IDRIS=" ++ icmd
9495 ]
9596
96−checkStdLib local verbosity
97+checkStdLib local withoutEffects verbosity
9798 = do let icmd = idrisCmd local
9899 putStrLn $ "Building libraries..."
99100 make verbosity
100101 [ "-C", "lib", "check"
101102 , "IDRIS=" ++ icmd
102103 ]
103− make verbosity
104− [ "-C", "effects", "check"
105− , "IDRIS=" ++ icmd
106− ]
104+ unless withoutEffects $
105+ make verbosity
106+ [ "-C", "effects", "check"
107+ , "IDRIS=" ++ icmd
108+ ]
107109 make verbosity
108110 [ "-C", "rts", "check"
109111 , "IDRIS=" ++ icmd
@@ -117,6 +119,12 @@ javaFlag flags =
117119 Just False -> False
118120 Nothing -> False
119121
122+noEffectsFlag flags =
123+ case lookup (FlagName "noeffects") (S.configConfigurationsFlags flags) of
124+ Just True -> True
125+ Just False -> False
126+ Nothing -> False
127+
120128preparePoms version
121129 = do pomTemplate <- TIO.readFile ("java" </> "pom_template.xml")
122130 TIO.writeFile ("java" </> "pom.xml") (insertVersion pomTemplate)
@@ -132,11 +140,13 @@ main = do
132140 defaultMainWithHooks $ simpleUserHooks
133141 { postCopy = \ _ flags pkg lbi -> do
134142 let verb = S.fromFlag $ S.copyVerbosity flags
135− installStdLib pkg lbi verb
143+ let withoutEffects = noEffectsFlag $ configFlags lbi
144+ installStdLib pkg lbi withoutEffects verb
136145 (S.fromFlag $ S.copyDest flags)
137146 , postInst = \ _ flags pkg lbi -> do
138147 let verb = (S.fromFlag $ S.installVerbosity flags)
139− installStdLib pkg lbi verb
148+ let withoutEffects = noEffectsFlag $ configFlags lbi
149+ installStdLib pkg lbi withoutEffects verb
140150 NoCopyDest
141151 when (javaFlag $ configFlags lbi)
142152 (installJavaLib pkg
@@ -155,6 +165,7 @@ main = do
155165 cleanJavaLib verb
156166 , postBuild = \ _ flags _ lbi -> do
157167 let verb = S.fromFlag $ S.buildVerbosity flags
158− checkStdLib lbi verb
168+ let withoutEffects = noEffectsFlag $ configFlags lbi
169+ checkStdLib lbi withoutEffects verb
159170 when (javaFlag $ configFlags lbi) (checkJavaLib verb)
160171 }
config.mk+4−1
@@ -1,6 +1,9 @@
11GMP_INCLUDE_DIR :=
22CC :=gcc
33CABAL :=cabal
4−CABALFLAGS :=
4+#CABALFLAGS :=
55## Enable Java RTS:
66#CABALFLAGS :=-f Java
7+## Disable building of Effects
8+CABALFLAGS :=-f NoEffects
9+
idris.cabal+4−1
@@ -65,7 +65,7 @@ Extra-source-files: lib/Makefile lib/*.idr lib/Prelude/*.idr
6565 config.mk
6666 rts/*.c rts/*.h rts/Makefile
6767 js/*.js
68− java/org/idris/rts/*.java
68+ java/org/idris/rts/*.java
6969
7070source-repository head
7171 type: git
@@ -75,6 +75,9 @@ Flag Java
7575 Description: Build the Java RTS
7676 Default: False
7777
78+Flag NoEffects
79+ Description: Do not build the effects package
80+ Default: False
7881
7982Executable idris
8083 Main-is: Main.hs