on master help sign in
Install object files from packages
734a4daEdwin Brady
src/Pkg/Package.hs+9
@@ -64,6 +64,7 @@ installPkg pkgdesc
64 case (execout pkgdesc) of
64 case (execout pkgdesc) of
65 Nothing -> mapM_ (installIBC (pkgname pkgdesc)) (modules pkgdesc)
65 Nothing -> mapM_ (installIBC (pkgname pkgdesc)) (modules pkgdesc)
66 Just o -> return () -- do nothing, keep executable locally, for noe
66 Just o -> return () -- do nothing, keep executable locally, for noe
67+ mapM_ (installObj (pkgname pkgdesc)) (objs pkgdesc)
67
68
68buildMod :: [Opt] -> Name -> IO ()
69buildMod :: [Opt] -> Name -> IO ()
69buildMod opts n = do let f = map slash $ show n
70buildMod opts n = do let f = map slash $ show n
@@ -114,6 +115,14 @@ installIBC p m = do let f = toIBCFile m
114 where getDest (UN n) = ""
115 where getDest (UN n) = ""
115 getDest (NS n ns) = concat (intersperse "/" (reverse ns)) ++ "/" ++ getDest n
116 getDest (NS n ns) = concat (intersperse "/" (reverse ns)) ++ "/" ++ getDest n
116
117
118+installObj :: String -> String -> IO ()
119+installObj p o = do d <- getDataDir
120+ let destdir = d ++ "/" ++ p ++ "/"
121+ putStrLn $ "Installing " ++ o ++ " to " ++ destdir
122+ system $ "mkdir -p " ++ destdir
123+ system $ "install " ++ o ++ " " ++ destdir
124+ return ()
125+
117make :: Maybe String -> IO ()
126make :: Maybe String -> IO ()
118make Nothing = return ()
127make Nothing = return ()
119make (Just s) = do system $ "make -f " ++ s
128make (Just s) = do system $ "make -f " ++ s