on master help sign in
Fully compiles and tests under windows mingw32
614c682Chetan T
src/Pkg/Package.hs+9−2
@@ -1,3 +1,4 @@
1+{-# LANGUAGE CPP #-}
1module Pkg.Package where
2module Pkg.Package where
2
3
3import System.Process
4import System.Process
@@ -104,7 +105,7 @@ installIBC p m = do let f = toIBCFile m
104 d <- getDataDir
105 d <- getDataDir
105 let destdir = d </> p </> getDest m
106 let destdir = d </> p </> getDest m
106 putStrLn $ "Installing " ++ f ++ " to " ++ destdir
107 putStrLn $ "Installing " ++ f ++ " to " ++ destdir
107− system $ "mkdir -p " ++ destdir
108+ system $ mkDirCmd ++ destdir
108 system $ "install " ++ f ++ " " ++ destdir
109 system $ "install " ++ f ++ " " ++ destdir
109 return ()
110 return ()
110 where getDest (UN n) = ""
111 where getDest (UN n) = ""
@@ -114,10 +115,16 @@ installObj :: String -> String -> IO ()
114installObj p o = do d <- getDataDir
115installObj p o = do d <- getDataDir
115 let destdir = addTrailingPathSeparator (d </> p)
116 let destdir = addTrailingPathSeparator (d </> p)
116 putStrLn $ "Installing " ++ o ++ " to " ++ destdir
117 putStrLn $ "Installing " ++ o ++ " to " ++ destdir
117− system $ "mkdir -p " ++ destdir
118+ system $ mkDirCmd ++ destdir
118 system $ "install " ++ o ++ " " ++ destdir
119 system $ "install " ++ o ++ " " ++ destdir
119 return ()
120 return ()
120
121
122+#ifdef mingw32_HOST_OS
123+mkDirCmd = "mkdir "
124+#else
125+mkDirCmd = "mkdir -p "
126+#endif
127+
121make :: Maybe String -> IO ()
128make :: Maybe String -> IO ()
122make Nothing = return ()
129make Nothing = return ()
123make (Just s) = do system $ "make -f " ++ s
130make (Just s) = do system $ "make -f " ++ s
test/runtest.pl+11−1
@@ -10,7 +10,7 @@ sub runtest {
10 print "Running $test...";
10 print "Running $test...";
11 $got = `sh ./run @idrOpts`;
11 $got = `sh ./run @idrOpts`;
12 $exp = `cat expected`;
12 $exp = `cat expected`;
13−
13+
14 open(OUT,">output");
14 open(OUT,">output");
15 print OUT $got;
15 print OUT $got;
16 close(OUT);
16 close(OUT);
@@ -20,6 +20,16 @@ sub runtest {
20 $got =~ s/\r\n/\n/g;
20 $got =~ s/\r\n/\n/g;
21 $exp =~ s/\r\n/\n/g;
21 $exp =~ s/\r\n/\n/g;
22
22
23+# Normalize paths in $got and $exp, so the expected outcomes don't change between platforms
24+ while($got =~ /(^|.*?\n)(.*?)\\(.*?):(\d+):(.*)/ms)
25+ {
26+ $got = "$1$2/$3:$4:$5";
27+ }
28+ while($exp =~ /(^|.*?\n)(.*?)\\(.*?):(\d+):(.*)/ms)
29+ {
30+ $exp = "$1$2/$3:$4:$5";
31+ }
32+
23 if ($got eq $exp) {
33 if ($got eq $exp) {
24 print "success\n";
34 print "success\n";
25 } else {
35 } else {
test/test015/test015.idr+1−1
@@ -37,7 +37,7 @@ natToBin (S k) O = do x <- natToBin k O
37 Just (pad x)
37 Just (pad x)
38natToBin (S w) (S k) with (parity k)
38natToBin (S w) (S k) with (parity k)
39 natToBin (S w) (S (plus j j)) | even = do jbin <- natToBin w j
39 natToBin (S w) (S (plus j j)) | even = do jbin <- natToBin w j
40− let value = jbin # b1
40+ let value = jbin # b1
41 ?ntbEven
41 ?ntbEven
42 natToBin (S w) (S (S (plus j j))) | odd = do jbin <- natToBin w (S j)
42 natToBin (S w) (S (S (plus j j))) | odd = do jbin <- natToBin w (S j)
43 let value = jbin # b0
43 let value = jbin # b0