From 4b651e8865fe4ee9e551fc6b35582d33d01cfa42 Mon Sep 17 00:00:00 2001 From: Tim Dysinger Date: Wed, 11 Mar 2015 14:34:53 -1000 Subject: [PATCH 1/4] add performbuild flag for dynamic executables --- Stackage/CompleteBuild.hs | 1 + Stackage/InstallBuild.hs | 1 + Stackage/PerformBuild.hs | 2 ++ 3 files changed, 4 insertions(+) diff --git a/Stackage/CompleteBuild.hs b/Stackage/CompleteBuild.hs index 341be2b4..62a7634e 100644 --- a/Stackage/CompleteBuild.hs +++ b/Stackage/CompleteBuild.hs @@ -206,6 +206,7 @@ getPerformBuild buildFlags Settings {..} = PerformBuild , pbEnableTests = bfEnableTests buildFlags , pbEnableHaddock = bfEnableHaddock buildFlags , pbEnableLibProfiling = bfEnableLibProfile buildFlags + , pbEnableExecDyn = bfEnableExecDyn buildFlags , pbVerbose = bfVerbose buildFlags , pbAllowNewer = bfSkipCheck buildFlags } diff --git a/Stackage/InstallBuild.hs b/Stackage/InstallBuild.hs index a6a6c25f..74c78427 100644 --- a/Stackage/InstallBuild.hs +++ b/Stackage/InstallBuild.hs @@ -51,6 +51,7 @@ getPerformBuild plan InstallFlags{..} = , pbEnableTests = ifEnableTests , pbEnableHaddock = ifEnableHaddock , pbEnableLibProfiling = ifEnableLibProfiling + , pbEnableExecDyn = ifEnableExecDyn , pbVerbose = ifVerbose , pbAllowNewer = ifSkipCheck } diff --git a/Stackage/PerformBuild.hs b/Stackage/PerformBuild.hs index e38f8e62..e25094c6 100644 --- a/Stackage/PerformBuild.hs +++ b/Stackage/PerformBuild.hs @@ -64,6 +64,7 @@ data PerformBuild = PerformBuild , pbEnableTests :: Bool , pbEnableHaddock :: Bool , pbEnableLibProfiling :: Bool + , pbEnableExecDyn :: Bool , pbVerbose :: Bool , pbAllowNewer :: Bool -- ^ Pass --allow-newer to cabal configure @@ -317,6 +318,7 @@ singleBuild pb@PerformBuild {..} SingleBuild {..} = tell' $ "--flags=" ++ flags when (pbEnableLibProfiling && pcEnableLibProfile) $ tell' "--enable-library-profiling" + when pbEnableExecDyn $ tell' "--enable-executable-dynamic" where tell' x = tell (x:) From f6b95190f1f7420071e2dedc48ad9bc7cf32f31f Mon Sep 17 00:00:00 2001 From: Tim Dysinger Date: Wed, 11 Mar 2015 14:34:22 -1000 Subject: [PATCH 2/4] add installflag for dynamic executables --- Stackage/InstallBuild.hs | 1 + app/stackage.hs | 3 +++ 2 files changed, 4 insertions(+) diff --git a/Stackage/InstallBuild.hs b/Stackage/InstallBuild.hs index 74c78427..757939a7 100644 --- a/Stackage/InstallBuild.hs +++ b/Stackage/InstallBuild.hs @@ -30,6 +30,7 @@ data InstallFlags = InstallFlags , ifEnableTests :: !Bool , ifEnableHaddock :: !Bool , ifEnableLibProfiling :: !Bool + , ifEnableExecDyn :: !Bool , ifVerbose :: !Bool , ifSkipCheck :: !Bool } deriving (Show) diff --git a/app/stackage.hs b/app/stackage.hs index c8bb4f52..57497dfd 100644 --- a/app/stackage.hs +++ b/app/stackage.hs @@ -149,6 +149,9 @@ main = switch (long "enable-library-profiling" <> help "Enable profiling when building") <*> + switch + (long "enable-executable-dynamic" <> + help "Enable dynamic executables when building") <*> switch (long "verbose" <> short 'v' <> help "Output verbose detail about the build steps") <*> From 0ffdb203c3d340e2423b9d08b123491b94ef6225 Mon Sep 17 00:00:00 2001 From: Tim Dysinger Date: Wed, 11 Mar 2015 14:33:14 -1000 Subject: [PATCH 3/4] add buildflags for dynamic executables --- Stackage/CompleteBuild.hs | 1 + app/stackage.hs | 3 +++ 2 files changed, 4 insertions(+) diff --git a/Stackage/CompleteBuild.hs b/Stackage/CompleteBuild.hs index 62a7634e..ab9c3a3b 100644 --- a/Stackage/CompleteBuild.hs +++ b/Stackage/CompleteBuild.hs @@ -36,6 +36,7 @@ data BuildFlags = BuildFlags , bfEnableHaddock :: !Bool , bfDoUpload :: !Bool , bfEnableLibProfile :: !Bool + , bfEnableExecDyn :: !Bool , bfVerbose :: !Bool , bfSkipCheck :: !Bool } deriving (Show) diff --git a/app/stackage.hs b/app/stackage.hs index 57497dfd..1b9583c7 100644 --- a/app/stackage.hs +++ b/app/stackage.hs @@ -90,6 +90,9 @@ main = switch (long "enable-library-profiling" <> help "Enable profiling when building") <*> + switch + (long "enable-executable-dynamic" <> + help "Enable dynamic executables when building") <*> switch (long "verbose" <> short 'v' <> help "Output verbose detail about the build steps") <*> From ca28a53e91bcb7d0cb8d95cb206b438351cad724 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Fri, 13 Mar 2015 08:46:02 +0200 Subject: [PATCH 4/4] Switch default library profiling to true (pinging @manny-fp) --- Stackage/BuildConstraints.hs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Stackage/BuildConstraints.hs b/Stackage/BuildConstraints.hs index e7aae355..c4ce1ceb 100644 --- a/Stackage/BuildConstraints.hs +++ b/Stackage/BuildConstraints.hs @@ -120,7 +120,7 @@ instance FromJSON PackageConstraints where pcBuildBenchmarks <- o .: "build-benchmarks" pcFlagOverrides <- Map.mapKeysWith const mkFlagName <$> o .: "flags" pcMaintainer <- o .:? "maintainer" - pcEnableLibProfile <- fmap (fromMaybe False) (o .:? "library-profiling") + pcEnableLibProfile <- fmap (fromMaybe True) (o .:? "library-profiling") return PackageConstraints {..} -- | The proposed plan from the requirements provided by contributors.