From db0d0ecae7b8d460c05e310c7fa1d84721e0c426 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Tue, 2 Jan 2018 13:47:51 -0400 Subject: 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. --- BuildFlags.hs | 109 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 109 insertions(+) create mode 100644 BuildFlags.hs (limited to 'BuildFlags.hs') 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 + - + - 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 -- cgit v1.2.3