Skip to content

Commit

Permalink
Copied Setup.hs from HDBC-postgresql
Browse files Browse the repository at this point in the history
  • Loading branch information
jgoerzen committed May 9, 2008
1 parent 92b2cac commit 068bc51
Show file tree
Hide file tree
Showing 2 changed files with 38 additions and 6 deletions.
3 changes: 1 addition & 2 deletions MissingPy.cabal
@@ -1,8 +1,7 @@
-- THIS FILE IS AUTOMATICALLY GENERATED BY gencabal.py
-- Begin detected settings section (edit these if wrong)
Include-Dirs: /usr/include/python2.5, glue
Extra-Libraries: python2.5
Extra-Lib-Dirs: /usr/lib, /usr/lib/python2.5/site-packages

-- End detected settings section. Everything below here should not
-- need editing.
Name: MissingPy
Expand Down
41 changes: 37 additions & 4 deletions Setup.hs
@@ -1,7 +1,40 @@
#!/usr/bin/env runhugs
arch-tag: Main setup script
#!/usr/bin/env runhaskell

> import Distribution.Simple
\begin{code}
import Distribution.PackageDescription
import Distribution.Simple
import Distribution.Simple.LocalBuildInfo
import Distribution.Simple.Program
import qualified Distribution.Verbosity as Verbosity

> main = defaultMain
main = defaultMainWithHooks defaultUserHooks {
hookedPrograms = [pgConfigProgram],
postConf=configure
}

pgConfigProgram = (simpleProgram "pg_config") {
programFindVersion = findProgramVersion "--version" $ \str ->
-- Invoking "pg_config --version" gives a string like "PostgreSQL 8.0.13"
case words str of
(_:ver:_) -> ver
_ -> ""
}

configure _ _ _ lbi = do
mb_bi <- pgConfigBuildInfo Verbosity.normal lbi
writeHookedBuildInfo "HDBC-postgresql.buildinfo" (mb_bi,[])
\end{code}

Populate BuildInfo using pg_config tool.
\begin{code}
pgConfigBuildInfo verbosity lbi = do
(pgConfigProg, _) <- requireProgram verbosity pgConfigProgram
(orLaterVersion $ Version [8] []) (withPrograms lbi)
let pg_config = rawSystemProgramStdout verbosity pgConfigProg
libDir <- pg_config ["--libdir"]
incDir <- pg_config ["--includedir"]
return $ Just emptyBuildInfo {
extraLibDirs = lines libDir,
includeDirs = lines incDir
}
\end{code}

0 comments on commit 068bc51

Please sign in to comment.