summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--BuildFlags.hs109
-rw-r--r--BuildInfo.hs101
-rw-r--r--Command/Version.hs2
-rw-r--r--git-annex.cabal1
4 files changed, 113 insertions, 100 deletions
diff --git a/BuildFlags.hs b/BuildFlags.hs
new file mode 100644
index 000000000..e750506e6
--- /dev/null
+++ b/BuildFlags.hs
@@ -0,0 +1,109 @@
+{- git-annex build flags
+ -
+ - Copyright 2013-2017 Joey Hess <id@joeyh.name>
+ -
+ - Licensed under the GNU GPL version 3 or higher.
+ -}
+
+{-# LANGUAGE CPP #-}
+
+module BuildFlags where
+
+import Data.List
+import Data.Ord
+import qualified Data.CaseInsensitive as CI
+
+buildFlags :: [String]
+buildFlags = filter (not . null)
+ [ ""
+#ifdef WITH_ASSISTANT
+ , "Assistant"
+#else
+#warning Building without the assistant.
+#endif
+#ifdef WITH_WEBAPP
+ , "Webapp"
+#else
+#warning Building without the webapp. You probably need to install Yesod..
+#endif
+#ifdef WITH_PAIRING
+ , "Pairing"
+#else
+#warning Building without local pairing.
+#endif
+#ifdef WITH_S3
+ , "S3"
+#if MIN_VERSION_aws(0,10,6)
+ ++ "(multipartupload)"
+#endif
+#if MIN_VERSION_aws(0,13,0)
+ ++ "(storageclasses)"
+#endif
+#else
+#warning Building without S3.
+#endif
+#ifdef WITH_WEBDAV
+ , "WebDAV"
+#else
+#warning Building without WebDAV.
+#endif
+#ifdef WITH_INOTIFY
+ , "Inotify"
+#endif
+#ifdef WITH_FSEVENTS
+ , "FsEvents"
+#endif
+#ifdef WITH_KQUEUE
+ , "Kqueue"
+#endif
+#ifdef WITH_DBUS
+ , "DBus"
+#endif
+#ifdef WITH_DESKTOP_NOTIFY
+ , "DesktopNotify"
+#endif
+#ifdef WITH_CONCURRENTOUTPUT
+ , "ConcurrentOutput"
+#else
+#warning Building without ConcurrentOutput
+#endif
+#ifdef WITH_TORRENTPARSER
+ , "TorrentParser"
+#endif
+#ifdef WITH_MAGICMIME
+ , "MagicMime"
+#endif
+ -- Always enabled now, but users may be used to seeing these flags
+ -- listed.
+ , "Feeds"
+ , "Testsuite"
+ ]
+
+-- Not a complete list, let alone a listing transitive deps, but only
+-- the ones that are often interesting to know.
+dependencyVersions :: [String]
+dependencyVersions = map fmt $ sortBy (comparing (CI.mk . fst))
+ [ ("feed", VERSION_feed)
+ , ("uuid", VERSION_uuid)
+ , ("bloomfilter", VERSION_bloomfilter)
+ , ("http-client", VERSION_http_client)
+ , ("persistent-sqlite", VERSION_persistent_sqlite)
+ , ("cryptonite", VERSION_cryptonite)
+#ifdef WITH_S3
+ , ("aws", VERSION_aws)
+#endif
+#ifdef WITH_WEBDAV
+ , ("DAV", VERSION_DAV)
+#endif
+#ifdef WITH_TORRENTPARSER
+ , ("torrent", VERSION_torrent)
+#endif
+#ifdef WITH_WEBAPP
+ , ("yesod", VERSION_yesod)
+#endif
+#ifdef TOOL_VERSION_ghc
+ , ("ghc", TOOL_VERSION_ghc)
+#endif
+ ]
+ where
+ fmt (p, v) = p ++ "-" ++ v
diff --git a/BuildInfo.hs b/BuildInfo.hs
index 271c55211..40aa2fdfb 100644
--- a/BuildInfo.hs
+++ b/BuildInfo.hs
@@ -9,103 +9,6 @@
module BuildInfo where
-import Data.List
-import Data.Ord
-import qualified Data.CaseInsensitive as CI
-
+-- This file is generated by the configure program with the results of its
+-- probing.
#include "Build/SysConfig"
-
-buildFlags :: [String]
-buildFlags = filter (not . null)
- [ ""
-#ifdef WITH_ASSISTANT
- , "Assistant"
-#else
-#warning Building without the assistant.
-#endif
-#ifdef WITH_WEBAPP
- , "Webapp"
-#else
-#warning Building without the webapp. You probably need to install Yesod..
-#endif
-#ifdef WITH_PAIRING
- , "Pairing"
-#else
-#warning Building without local pairing.
-#endif
-#ifdef WITH_S3
- , "S3"
-#if MIN_VERSION_aws(0,10,6)
- ++ "(multipartupload)"
-#endif
-#if MIN_VERSION_aws(0,13,0)
- ++ "(storageclasses)"
-#endif
-#else
-#warning Building without S3.
-#endif
-#ifdef WITH_WEBDAV
- , "WebDAV"
-#else
-#warning Building without WebDAV.
-#endif
-#ifdef WITH_INOTIFY
- , "Inotify"
-#endif
-#ifdef WITH_FSEVENTS
- , "FsEvents"
-#endif
-#ifdef WITH_KQUEUE
- , "Kqueue"
-#endif
-#ifdef WITH_DBUS
- , "DBus"
-#endif
-#ifdef WITH_DESKTOP_NOTIFY
- , "DesktopNotify"
-#endif
-#ifdef WITH_CONCURRENTOUTPUT
- , "ConcurrentOutput"
-#else
-#warning Building without ConcurrentOutput
-#endif
-#ifdef WITH_TORRENTPARSER
- , "TorrentParser"
-#endif
-#ifdef WITH_MAGICMIME
- , "MagicMime"
-#endif
- -- Always enabled now, but users may be used to seeing these flags
- -- listed.
- , "Feeds"
- , "Testsuite"
- ]
-
--- Not a complete list, let alone a listing transitive deps, but only
--- the ones that are often interesting to know.
-dependencyVersions :: [String]
-dependencyVersions = map fmt $ sortBy (comparing (CI.mk . fst))
- [ ("feed", VERSION_feed)
- , ("uuid", VERSION_uuid)
- , ("bloomfilter", VERSION_bloomfilter)
- , ("http-client", VERSION_http_client)
- , ("persistent-sqlite", VERSION_persistent_sqlite)
- , ("cryptonite", VERSION_cryptonite)
-#ifdef WITH_S3
- , ("aws", VERSION_aws)
-#endif
-#ifdef WITH_WEBDAV
- , ("DAV", VERSION_DAV)
-#endif
-#ifdef WITH_TORRENTPARSER
- , ("torrent", VERSION_torrent)
-#endif
-#ifdef WITH_WEBAPP
- , ("yesod", VERSION_yesod)
-#endif
-#ifdef TOOL_VERSION_ghc
- , ("ghc", TOOL_VERSION_ghc)
-#endif
- ]
- where
- fmt (p, v) = p ++ "-" ++ v
diff --git a/Command/Version.hs b/Command/Version.hs
index 5f9fcce67..ef3ef39d7 100644
--- a/Command/Version.hs
+++ b/Command/Version.hs
@@ -8,9 +8,9 @@
module Command.Version where
import Command
-import qualified BuildInfo
import Annex.Version
import BuildInfo
+import BuildFlags
import Types.Key
import qualified Types.Backend as B
import qualified Types.Remote as R
diff --git a/git-annex.cabal b/git-annex.cabal
index 987894c01..d5178e858 100644
--- a/git-annex.cabal
+++ b/git-annex.cabal
@@ -666,6 +666,7 @@ Executable git-annex
Build.TestConfig
Build.Version
BuildInfo
+ BuildFlags
CmdLine
CmdLine.Action
CmdLine.Batch