summaryrefslogtreecommitdiff
path: root/Setup.hs
diff options
context:
space:
mode:
Diffstat (limited to 'Setup.hs')
-rw-r--r--Setup.hs9
1 files changed, 5 insertions, 4 deletions
diff --git a/Setup.hs b/Setup.hs
index e28cd566f..52b197dd4 100644
--- a/Setup.hs
+++ b/Setup.hs
@@ -8,6 +8,7 @@ import Distribution.Simple.Setup
import Distribution.PackageDescription hiding (Flag)
import Control.Monad
import Data.Maybe
+import Data.List(isPrefixOf)
import System.IO
import System.Cmd
import System.FilePath
@@ -82,8 +83,8 @@ rglCommands =
checkRGLArgs args flags = do
let args' = filter (\arg -> not (arg == "present" ||
arg == "minimal" ||
- take (length rgl_prefix) arg == rgl_prefix ||
- take (length langs_prefix) arg == langs_prefix)) args
+ rgl_prefix `isPrefixOf` arg ||
+ langs_prefix `isPrefixOf` arg)) args
if null args'
then return emptyHookedBuildInfo
else die $ "Unrecognised flags: " ++ intercalate ", " args'
@@ -225,8 +226,8 @@ gfc mode pkg lbi file = do
let dir = getRGLBuildDir lbi mode
preproc = case mode of
AllTenses -> ""
- Present -> "-preproc="++(rgl_src_dir </> "mkPresent")
- Minimal -> "-preproc="++(rgl_src_dir </> "mkMinimal")
+ Present -> "-preproc="++({-rgl_src_dir </>-} "mkPresent")
+ Minimal -> "-preproc="++({-rgl_src_dir </>-} "mkMinimal")
createDirectoryIfMissing True dir
putStrLn $ "Compiling [" ++ show mode ++ "] " ++ file
run_gfc pkg lbi ["-s", preproc, "--gfo-dir="++dir, file]