summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Joey Hess <joeyh@joeyh.name>2018-01-02 13:47:51 -0400
committerGravatar Joey Hess <joeyh@joeyh.name>2018-01-02 13:47:51 -0400
commitdb0d0ecae7b8d460c05e310c7fa1d84721e0c426 (patch)
treec4d23c386e7916e488bc3ffd3729d196173f58ec
parent8f3134e5408ea1ea6207028ae17f2b5fb84e0c65 (diff)
split BuildInfo and BuildFlags
The problem with combining these is that Build.Standalone etc need only the BuildInfo, and since not built with cabal, the BuildFlags ifdefs were causing bogus warnings.
-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