-----------------------------------------------------------------------------
--- $Id: Main.hs,v 1.11 2001/07/11 11:01:59 rrt Exp $
+-- $Id: Main.hs,v 1.13 2001/08/21 09:03:32 rrt Exp $
--
-- Package management tool
-----------------------------------------------------------------------------
import System
import IO
+#include "../includes/config.h"
+
#ifdef mingw32_TARGET_OS
import Win32DLL
#endif
]
#ifdef mingw32_TARGET_OS
+subst a b ls = map (\ x -> if x == a then b else x) ls
+
unDosifyPath xs = subst '\\' '/' xs
#endif
runit clis = do
-#ifndef mingw32_TARGET_OS
conf_file <-
case [ f | Config f <- clis ] of
- [] -> die "missing -f option, location of package.conf unknown"
- [f] -> return f
- _ -> die (usageInfo usageHeader flags)
+ fs@(_:_) -> return (last fs)
+#ifndef mingw32_TARGET_OS
+ [] -> die "missing -f option, location of package.conf unknown"
#else
- h <- getModuleHandle Nothing
- n <- getModuleFileName h
- let conf_file = reverse (tail (dropWhile (not . isSlash) (reverse (unDosifyPath n))))
- ++ "/package.conf"
+ [] -> do h <- getModuleHandle Nothing
+ n <- getModuleFileName h
+-- return (reverse (tail (dropWhile (not . isSlash)
+ return (reverse (drop (length "/bin/ghc-pkg.exe") (reverse (unDosifyPath n))) ++ "/package.conf")
+-- (reverse (unDosifyPath n)))) ++ "/package.conf")
#endif
let toField "import_dirs" = return import_dirs