[add --config option to print out config info in a machine parsable format, look in a lot more standard locations for files
John Meacham <john@repetae.net>**20080209055803] hunk ./Options.hs 30
+import Data.List(nub)
hunk ./Options.hs 35
-import GenUtil
+import Util.Gen
hunk ./Options.hs 38
-import Version.Config(libraryInstall)
+import Version.Config
hunk ./Options.hs 46
+          | ShowConfig     -- ^ Show configuration info.
hunk ./Options.hs 123
+    , Option []    ["config"]    (NoArg  (optMode_s ShowConfig))       "show a variety of config info"
hunk ./Options.hs 212
+    when (optMode o2 == ShowConfig) $ do
+        mapM_ (\ (x,y) -> putStrLn (x ++ ": " ++ y))  configs
+        exitSuccess
hunk ./Options.hs 219
+a ==> b = (a,show b)
+
+configs = [
+    "jhclibpath" ==> initialLibIncludes,
+    "version" ==> version,
+    "package" ==> package,
+    "libdir" ==> libdir,
+    "datadir" ==> datadir,
+    "libraryInstall" ==> libraryInstall,
+    "host" ==> host
+    ]
+
+
hunk ./Options.hs 282
-    p <- lookupEnv "JHCLIBPATH"
+    ps <- lookupEnv "JHCLIBPATH"
hunk ./Options.hs 284
-    let x = maybe "" id p
-        mh = fmap (++ "/lib/jhc") h
-    return (mh ++ (tokens (== ':') x) ++ [libraryInstall])
+    let paths = h ++ ["/usr/local","/usr"]
+        bases = ["/lib","/share"]
+        vers = ["/jhc-" ++ shortVersion, "/jhc"]
+    return $ nub $ maybe [] (tokens (':' ==))  ps ++ [ p ++ b ++ v | b <- bases, p <- paths, v <- vers ] ++ [libraryInstall]
hunk ./Version/Config.hs.in 3
+shortVersion = "@SHORTVERSION@"