ghcCabalBuilderArgs :: Args
ghcCabalBuilderArgs = builder GhcCabal ? do
    verbosity <- expr getVerbosity
    top       <- expr topDirectory
    context   <- getContext
    path      <- getBuildPath
    when (package context /= deriveConstants) $ expr (need inplaceLibCopyTargets)
    mconcat [ arg "configure"
            , arg =<< pkgPath <$> getPackage
            , arg $ top -/- path
            , dll0Args
            , withStaged $ Ghc CompileHs
            , withStaged (GhcPkg Update)
            , bootPackageDatabaseArgs
            , libraryArgs
            , with HsColour
            , configureArgs
            , bootPackageConstraints
            , withStaged $ Cc CompileC
            , notStage0 ? with Ld
            , withStaged Ar
            , with Alex
            , with Happy
            , verbosity < Chatty ? pure [ "-v0", "--configure-option=--quiet"
                , "--configure-option=--disable-option-checking"  ] ]
ghcCabalBuilderArgs :: Args
ghcCabalBuilderArgs = builder GhcCabal ? do
    verbosity <- expr getVerbosity
    top       <- expr topDirectory
    context   <- getContext
    path      <- getBuildPath
    when (package context /= deriveConstants) $ expr (need inplaceLibCopyTargets)
    mconcat [ arg "configure"
            , arg =<< pkgPath <$> getPackage
            , arg $ top -/- path
            , dll0Args
            , withStaged $ Ghc CompileHs
            , withStaged (GhcPkg Update)
            , bootPackageDatabaseArgs
            , libraryArgs
            , with HsColour
            , configureArgs
            , bootPackageConstraints
            , withStaged $ Cc CompileC
            , notStage0 ? with Ld
            , withStaged Ar
            , with Alex
            , with Happy
            , verbosity < Chatty ? pure [ "-v0", "--configure-option=--quiet"
                , "--configure-option=--disable-option-checking"  ] ]
ghcCabalBuilderArgs = builder GhcCabal ? do
    verbosity <- expr getVerbosity
    top       <- expr topDirectory
    context   <- getContext
    path      <- getBuildPath
    when (package context /= deriveConstants) $ expr (need inplaceLibCopyTargets)
    mconcat [ arg "configure"
            , arg =<< pkgPath <$> getPackage
            , arg $ top -/- path
            , dll0Args
            , withStaged $ Ghc CompileHs
            , withStaged (GhcPkg Update)
            , bootPackageDatabaseArgs
            , libraryArgs
            , with HsColour
            , configureArgs
            , bootPackageConstraints
            , withStaged $ Cc CompileC
            , notStage0 ? with Ld
            , withStaged Ar
            , with Alex
            , with Happy
            , verbosity < Chatty ? pure [ "-v0", "--configure-option=--quiet"
                , "--configure-option=--disable-option-checking"  ] ]