install libs using short names, with symlinks to we can tell what libraries
they are supposed to be
This commit is contained in:
parent
1c2da18b0b
commit
c6d570a1cc
1 changed files with 5 additions and 2 deletions
|
@ -41,14 +41,17 @@ installLibs :: FilePath -> LibMap -> IO ([FilePath], LibMap)
|
|||
installLibs appbase libmap = do
|
||||
(needlibs, libmap') <- otool appbase libmap
|
||||
libs <- forM needlibs $ \lib -> do
|
||||
let dest = appbase </> takeFileName lib
|
||||
let shortlib = fromMaybe (error "internal") (M.lookup lib libmap')
|
||||
let dest = appbase </> shortlib
|
||||
let symdest = appbase </> takeFileName lib
|
||||
ifM (doesFileExist dest)
|
||||
( return Nothing
|
||||
, do
|
||||
createDirectoryIfMissing True appbase
|
||||
putStrLn $ "installing " ++ lib
|
||||
putStrLn $ "installing " ++ lib ++ " as " ++ dest
|
||||
_ <- boolSystem "cp" [File lib, File dest]
|
||||
_ <- boolSystem "chmod" [Param "644", File dest]
|
||||
_ <- boolSystem "ln" [Param "-s", File shortlib, File symdest]
|
||||
return $ Just appbase
|
||||
)
|
||||
return (catMaybes libs, libmap')
|
||||
|
|
Loading…
Reference in a new issue