diff options
author | 2018-01-02 13:47:51 -0400 | |
---|---|---|
committer | 2018-01-02 13:47:51 -0400 | |
commit | db0d0ecae7b8d460c05e310c7fa1d84721e0c426 (patch) | |
tree | c4d23c386e7916e488bc3ffd3729d196173f58ec | |
parent | 8f3134e5408ea1ea6207028ae17f2b5fb84e0c65 (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.hs | 109 | ||||
-rw-r--r-- | BuildInfo.hs | 101 | ||||
-rw-r--r-- | Command/Version.hs | 2 | ||||
-rw-r--r-- | git-annex.cabal | 1 |
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 |