summaryrefslogtreecommitdiff
path: root/Setup.hs
diff options
context:
space:
mode:
Diffstat (limited to 'Setup.hs')
-rw-r--r--Setup.hs24
1 files changed, 21 insertions, 3 deletions
diff --git a/Setup.hs b/Setup.hs
index 6a6b756..5d851a9 100644
--- a/Setup.hs
+++ b/Setup.hs
@@ -1,6 +1,6 @@
-- This file is part of Qtah.
--
--- Copyright 2016 Bryan Gardiner <bog@khumba.net>
+-- Copyright 2016-2017 Bryan Gardiner <bog@khumba.net>
--
-- This program is free software: you can redistribute it and/or modify
-- it under the terms of the GNU Lesser General Public License as published by
@@ -15,7 +15,25 @@
-- You should have received a copy of the GNU Lesser General Public License
-- along with this program. If not, see <http://www.gnu.org/licenses/>.
-import Distribution.Simple (defaultMain)
+import Control.Monad (unless)
+import Distribution.Simple (defaultMainWithHooks, simpleUserHooks)
+import Distribution.Simple.Setup (ConfigFlags, configDynExe, configVerbosity, fromFlagOrDefault)
+import Distribution.Simple.UserHooks (UserHooks (postConf))
+import Distribution.Simple.Utils (warn)
+import Distribution.Verbosity (normal)
main :: IO ()
-main = defaultMain
+main = defaultMainWithHooks qtahHooks
+
+qtahHooks :: UserHooks
+qtahHooks = simpleUserHooks
+ { postConf = \_ cf _ _ -> warnAboutDynExe cf
+ }
+
+warnAboutDynExe :: ConfigFlags -> IO ()
+warnAboutDynExe configFlags = do
+ let verbosity = fromFlagOrDefault normal $ configVerbosity configFlags
+ unless (fromFlagOrDefault False $ configDynExe configFlags) $
+ warn verbosity $
+ "qtah-examples needs to be a dynamically linked executable; " ++
+ "please pass --enable-executable-dynamic to 'cabal install'."