40ecf58d4b
This does not change the overall license of the git-annex program, which was already AGPL due to a number of sources files being AGPL already. Legally speaking, I'm adding a new license under which these files are now available; I already released their current contents under the GPL license. Now they're dual licensed GPL and AGPL. However, I intend for all my future changes to these files to only be released under the AGPL license, and I won't be tracking the dual licensing status, so I'm simply changing the license statement to say it's AGPL. (In some cases, others wrote parts of the code of a file and released it under the GPL; but in all cases I have contributed a significant portion of the code in each file and it's that code that is getting the AGPL license; the GPL license of other contributors allows combining with AGPL code.)
104 lines
2 KiB
Haskell
104 lines
2 KiB
Haskell
{- git-annex build flags
|
|
-
|
|
- Copyright 2013-2017 Joey Hess <id@joeyh.name>
|
|
-
|
|
- Licensed under the GNU AGPL 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_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
|