{pX      !"#$%&'()*+,-./01234 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S TUVW Safe6Given a directory, returns the list of subdirectories. NoneAITL that will run a command and return an empty list. Useful for making clean s. Use sparingly.L that will return all files in a given directory tree that pass the filter.d that will return all files in a given directory (but not its subdirectories) that pass the filter.# that will return exactly one file.XLType wrapper for a function to determine if a file should be returned by a .#Existential data type for wrapping Y)s so they can be used as a uniform type.Y]Typeclass representing data types that can be used to collect files for input into a target.ZEFunction that, given the strategy, will produce a list of file paths.ZDescribes a build target. Takes a name, checksum function, list of dependencies, list of s, and a list of s.[DType wrapper for a function that given a Target produces a checksum.1Type describing a build stage. Takes a name, an  ,  4, additional dependencies, and the builder function. )Type wrapper for a function that given a  , produces either a  7 containing the output files in the input, or an error. )Type wrapper for a function that takes a   and produces a  ) with dependencies included in the input. 2Type wrapper for functions transforming a list of  s into a list of   s suitable for passing into the  . ?Data type for expressing mapping of input files to output filesOne input to one output file.$One input file to many output files.$Many input files to one output file. Many input to many output files.\6Newtype wrapper for the build monad transformer stack.])Configuration arguments used by the build^The target to build._*The maximum number of build jobs to spawn.`@Internal type that contains information state used by the build.aWType wrapper for the dictionary of arguments that are extracted from the command line.bSType wrapper for the list of database updates that will happen after a successful  build.c1Type wrapper for the set of currently up-to-date s.d.Type wrapper for the target checksum database.e'Type wrapper for the checksum database.f/Type wrapper for the target timestamp database.g(Type wrapper for the timestamp database./hijkXlYZ[ \mn]o^_`pabcdefgqrstu*hijkXlYZ[ \mn]o^_`pabcdefghijkXlYZ[ \mn]o^_`pabcdefgqrstuNone.A stage that does nothing and just passes the   s through.  None:ADIT>Takes in a list of include directories, extra dependencies, a  , and returns a new  6 with the dependencies injected into the source side.!vwxyz{|}~vwxyz{|}~None Runs a list of 0s and returns the concatenation of their output.Convenience function to turn a Y into a . Constructs a  that returns a single file.  Constructs a _ that returns all files in a directory (but not its subdirectories) that match a given filter.! Constructs a G that returns all files in a directory tree that match a given filter." Constructs a  that runs an arbitrary  action.IRecursively gets all files in the given directory and its subdirectories.#'Filter function that returns all files.$:Filter function that returns files with a given extension.%JFilter function that returns files that match any of a list of extensions.&[Filter function that returns files with a given extension that don't match exclusion rules.'oFilter function that returns files that match any of a list of extensions, but don't match the exclusion rules. !"#$%&'()*+ !"#$%&' !"#$&%' !"#$%&'()*+None,Adds a dependency on another .-Adds a dependency on a list of s..Gets dependencies of a ./Makes a 8 that doesn't build anything but can be used as a meta  , i.e. the "all" target in make.0Makes a  that runs an arbitrary  action.1<Computes a checksum from the direct dependencies of a target,-./01,-./01,-./01,-./01None2The 2 function generates a target. It takes a name, source directory, destination directory, destination extension, gather filter, and a function to build the command line.2222None3The 3 function makes a target that copies a directory tree. It takes a name, a source directory, destination directory, and gather filter.3333 None!46The data type for specifying where built files end up.5Specifies that object files will end up adjacent to their source files and the executable will be in the same directory as the dib.hs file.6NSpecifies that the object files and executable will go in a certain directory.7kSpecifies that the object files will go in the first directory and the executable in the second directory.8JThe record type that is used to pass configuration info for the C builder.:The name of the output file.;The name of the . Should be unique among all s in a given build.<4The directory containing the source for this target.=A 47 that defines where the object and executable files go.>The compiler executable.?The linker executable.@The archiver executable.A+The command line option for the input file.B,The command line option for the output file.The compiler's include optionCCommon compiler flags.DC compiler flags.EC++ compiler flags.F Linker flags.GArchiver flags.HA list of directories where include files can be found. Used for dependency scanning and automatically appended to the compile line.IExtra compilation dependencies.JExtra linking dependencies.K Files to exclude from the build.L9Whether or not to build a static lib (using the archiver)Given a 8 and a , produces a checksumMAn empty configuration.N A default configuration for gcc.O A default configuration for g++.P"A default configuration for clang.QGiven a 8:, will make the directories required to build the project.RGiven a 8 , produces a SGiven a 8 , produces a  that will clean the project.*456789:;<=>?@ABCDEFGHIJKLMNOPQRS 456789:;<=>?@ABCDEFGHIJKLMNOPQRS 89:;<=>?@ABCDEFGHIJKL4567RSQMNOP456789:;<=>?@ABCDEFGHIJKLMNOPQRSNoneT`The function that should be called to dispatch the build. Takes a list of the top-level (root) s.U Returns the argument dictionary.V|Adds all of the variables in the execution environment into the argument dictionary. Allows for make-like variable passing.WMakes a function that can be used to look up a value in the argument dictionary, returning a default value if the argument does not exist. Returns the g from the ` Puts the g back into the `PReturns whether or not a target is up to date, based on the current build state."Partitions out up-to-date mappings5TUVW TUVW TUVW5TUVW                  !"#$%&'()*+,-./0123456789:;< = > ? @ A A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [\]^_ ` a b c d e f g h i j k l m n o      p q e h r s t u vwwxyz{|}}~  dib-0.6.0-7FhBGFJJIVtAHzKAwuI06QDib.Util Dib.Gatherers Dib.Target Dib.StageDibDib.Scanners.CDepScannerDib.Builders.SimpleDib.Builders.CopyDib.Builders.C Dib.TypesgetSubDirectoriesCommandGathererFileTreeGathererDirectoryGathererSingleFileGathererGathererTargetStage StageFunc DepScannerInputTransformer SrcTransformOneToOne OneToMany ManyToOne ManyToMany emptyStage cDepScanner$fOrdDependency$fEqDependency$fShowDependency$fShowParseState$fFunctorDepGatherer$fApplicativeDepGatherer$fMonadDepGatherer$fMonadIODepGatherer$fMonadStateDepGatherer runGathererswrapGatherStrategymakeSingleFileGatherermakeDirectoryGatherermakeFileTreeGatherermakeCommandGatherermatchAllmatchExtensionmatchExtensionsmatchExtensionExcludedmatchExtensionsExcluded$fGatherStrategyCommandGatherer $fGatherStrategyFileTreeGatherer!$fGatherStrategyDirectoryGatherer"$fGatherStrategySingleFileGatherer addDependencyaddDependenciesgetDependenciesmakePhonyTargetmakeCommandTargettargetDepChecksummakeSimpleTargetmakeCopyTarget BuildLocationInPlaceBuildDir ObjAndBinDirs CTargetInfo outputName targetNamesrcDiroutputLocationcompilerlinkerarchiver inFileOption outFileOptioncommonCompileFlags cCompileFlagscxxCompileFlags linkFlags archiverFlags includeDirsextraCompileDeps extraLinkDeps exclusions staticLibrary emptyConfigdefaultGCCConfigdefaultGXXConfigdefaultClangConfig makeBuildDirs makeCTargetmakeCleanTargetdib getArgDict addEnvToDictmakeArgDictLookupFunc FilterFuncGatherStrategygather ChecksumFuncBuildM BuildArgs buildTarget maxBuildJobs BuildStateArgDictPendingDBUpdatesUpToDateTargetsTargetChecksumDB ChecksumDBTargetTimestampDB TimestampDB BuildMImpl runBuildImpl$fSerializeText $fOrdTarget $fEqTarget $fEqStage $fShowTarget DepGathererrunDepGatherer ParseStatePS currentDeps searchPaths DependencygetPathFromDepremoveCRremoveLeadingWSremoveBlockCommentremoveLineCommentprocessCharLiteralprocessStringLiteralprocessDirectiveremoveComments filterBlankextractIncludesdequoteIncludepass1pass2gatherDependenciespossibleFilenamespathToDependencyspider spiderHelperspiderLaunchergetDepsForFileghc-prim GHC.TypesIOrGetFilesInDirsingleFileGatherFuncdirectoryGathererFuncfileTreeGatherFunccommandGatherFuncfilePathDeterminerfilePathFilterdirectorySplitter fixFilePaths buildFunc remapFile changeExthandleExitCodecopyFunc includeOption cTargetHashmassageFilePath remapObjFile remapBinFile excludeFilesgetCorrectCompileFlagscombineTransformsgetTimestampDBputTimestampDBtargetIsUpToDatepartitionMappings databaseFiledatabaseVersiongatherAllTargetsInternalgatherAllTargetsextractVarsFromArgsremoveVarsFromArgs parseArgsprintSeparatorrunBuild loadDatabase saveDatabasegetCurrentTargetNameputCurrentTargetNamegetTargetTimestampDB getChecksumDB putChecksumDBgetTargetChecksumDBputTargetChecksumDBgetUpToDateTargetsputUpToDateTargetsgetPendingDBUpdatesputPendingDBUpdatesgetMaxBuildJobs<||>shouldBuildMapping hasSrcChanged getTimestamphasChecksumChangedgetChecksumPair buildFoldFuncisLeft runTarget buildFailFuncrunTargetInternaltargetSuccessFunc stageFoldFuncworkerThreadFunc stageHelperrunStagetransferUpToDateTargetprocessMappingsupdateDatabaseupdateDatabaseHelperupdateDatabaseExtraDepswritePendingDBUpdates