diff options
| author | krasimir <krasimir@chalmers.se> | 2009-06-23 11:44:36 +0000 |
|---|---|---|
| committer | krasimir <krasimir@chalmers.se> | 2009-06-23 11:44:36 +0000 |
| commit | 8e72ff3a1cfba60de2d5f2a9549d715075d0b684 (patch) | |
| tree | 1cabb20518d640c88450781e66e47f1fe3d9772c | |
| parent | 032f8de8620ebef1032bcefe9d2856e7fd0c093d (diff) | |
added preCopy and postCopy hooks in Setup.hs
| -rw-r--r-- | Setup.hs | 24 |
1 files changed, 17 insertions, 7 deletions
@@ -5,7 +5,7 @@ import Distribution.Simple.LocalBuildInfo import Distribution.Simple.BuildPaths import Distribution.Simple.Utils import Distribution.Simple.Setup -import Distribution.PackageDescription +import Distribution.PackageDescription hiding (Flag) import Control.Monad import Data.Maybe import System.IO @@ -21,6 +21,8 @@ main = defaultMainWithHooks simpleUserHooks{ preBuild =checkRGLArgs , postBuild=buildRGL , preInst =checkRGLArgs , postInst =installRGL + , preCopy =checkRGLArgs + , postCopy =copyRGL , sDistHook=sdistRGL , runTests =testRGL } @@ -88,12 +90,20 @@ installRGL args flags pkg lbi = do let mode = getOptMode args let inst_gf_lib_dir = datadir (absoluteInstallDirs pkg lbi NoCopyDest) </> "lib" copyAll mode (getRGLBuildDir lbi mode) (inst_gf_lib_dir </> getRGLBuildSubDir lbi mode) - where - copyAll mode from to = do - putStrLn $ "Installing [" ++ show mode ++ "] " ++ to - createDirectoryIfMissing True to - files <- fmap (drop 2) $ getDirectoryContents from - mapM_ (\file -> copyFile (from </> file) (to </> file)) files + +copyRGL args flags pkg lbi = do + let mode = getOptMode args + dest = case copyDest flags of + NoFlag -> NoCopyDest + Flag d -> d + let inst_gf_lib_dir = datadir (absoluteInstallDirs pkg lbi dest) </> "lib" + copyAll mode (getRGLBuildDir lbi mode) (inst_gf_lib_dir </> getRGLBuildSubDir lbi mode) + +copyAll mode from to = do + putStrLn $ "Installing [" ++ show mode ++ "] " ++ to + createDirectoryIfMissing True to + files <- fmap (drop 2) $ getDirectoryContents from + mapM_ (\file -> copyFile (from </> file) (to </> file)) files sdistRGL pkg mb_lbi hooks flags = do paths <- getRGLFiles rgl_dir [] |
