None 6An FDeps represents some file and its list of library  dependencies. 1A dependency graph is an ordinary fgl graph with s on D its nodes, and directed edges. An edge from A to B indicates that  A depends on B. -Add a file dependency to a dependency graph. 3Turn a dependency graph back into a list of FDeps. "Create an empty dependency graph. GGet the node number of a dependency graph node with a specified label. :Check if a certain path is already in a dependency graph. =Add a list of paths as nodes to a dependency graph, dropping  duplicates. BAdd a single path as a node to a dependency graph, unless already  present. >Given a source path and a list of target paths, add a list of 0 dependencies (ie edges) to a dependency graph. =Add a (src, tgt) dependency (ie edge) to a dependency graph.   Safe-Inferred?A list of exclusions to dependency chasing. Any library whose $ path contains any exclusion string as a substring will be % excluded when chasing dependencies. 9Application bundles may carry their own copies of shared = libraries, which enables distribution of applications which 'just  work, out of the box'( in the absence of static linking. For : example, a wxHaskell app can include the wx library (and its > dependencies, recursively), meaning end users do not need to , install wxWidgets in order to use the app. ?This data type controls this process: if dependency chasing is  activated, then the app's executable and any   are A examined for their dependencies, recursively (usually with some C exceptions - see below), the dependencies are copied into the app D bundle, and any references to each library are updated to point to  the copy. @(The process is transparent to the programmer, i.e. requires no 6 modification to code. In case anyone is interested: otool is  used to discover a binary'(s library dependencies; each library is ' copied to a relative sub-directory of Contents/ Frameworks/ in  the app bundle (e.g. /usr/lib/libFoo.a becomes  Contents/ Frameworks/usr/lib/libFoo.a ); finally,  install_name_tool, is used to update dependency references to  point to the new version.) /Include any libraries which the executable and   = depend on, excluding a user-defined set. If you specify an  empty exclusion list, then all dependencies will be included, 0 recursively, including various OSX Frameworks; this  probably isn't ever sensible. The intended use, A rather, is to allow extension of the default list, which can be  accessed via  . /Include any libraries which the executable and   @ depend on, excluding a default set which we would expect to be A present on any machine running the same version of OSX on which ; the executable was built. (n.b.: Creation of application ? bundles which work transparently across different versions of 5 OSX is currently beyond the scope of this package.) <Do not include any dependencies - a sensible default if not  distributing your app. !Mac OSX application information. =Application name. This should be the name of the executable  produced by Cabal'0s build stage. The app bundle produced will be  dist/build/appName.app, and the executable appName will  be copied to Contents/MacOSX/ in the bundle. #Path to icon file, to be copied to Contents/ Resources/ in 4 the app bundle. If omitted, no icon will be used. Path to plist file ('property-list' of application metadata),  to be copied to Contents/ Info.plist in the app bundle. If  omitted, and if % is specified, a basic default plist  will be used. @Other resources to bundle in the application, e.g. image files,  etc. Each will be copied to Contents/ Resources/ , with the / proviso that if the resource path begins with  resources/, it  will go to a relative subdirectory of Contents/ Resources/.  For example, images/ splash.png will be copied to  Contents/ Resources/ splash.png , whereas   resources/images/ splash.png will be copied to  Contents/ Resources/ resources/images/ splash.png. @Bundled resources may be referred to from your program relative  to your executable'+s path (which may be computed, e.g., using  Audrey Tang's FindBin package). 9Other binaries to bundle in the application, e.g. other ? executables from your project, or third-party programs. Each / will be copied to a relative sub-directory of  Contents/ Resources/ in the bundle. For example,  /usr/bin/ftp would be copied to  Contents/ Resources/usr/bin/ftp in the app. Like  0, bundled binaries may be referred to from your $ program relative to your executable's path (which may be " computed, e.g., using Audrey Tang's FindBin package). >Controls inclusion of library dependencies for executable and    ; see below. >Default list of exclusions; excludes OSX standard frameworks, E libgcc, etc. - basically things which we would expect to be present & on any functioning OSX installation.  Compute item'$s path relative to app bundle root.    None 6Include any library dependencies required in the app. !Compute application's library dependency graph. "$Recursive dependency-graph builder. #Add an object file'&s dependencies to a dependency graph, E returning that new graph and a list of the discovered dependencies. $=Compute the library dependencies for some file, removing any  exclusions. %Apply an exclusion list to an  value; any dependencies A which contain any of the exclusions as substrings are excluded. &Copy some object file',s library dependencies into the application  bundle. 'Update some object file'#s library dependencies to point to  bundled copies of libraries. (Update some object file')s dependency on some particular library, / to point to the bundled copy of that library. )Path to otool tool. *Path to install_name_tool tool. !Path to application bundle root. !!Path to application bundle root. "!Path to application bundle root. !Dependency graph to be extended. 2Queue of paths to object files to be examined for  dependencies. 1List of paths of object files which have already  been dealt with. +List of exclusions for dependency-chasing. #!Path to application bundle root. !Dependency graph to be extended. 5Path to object file to be examined for dependencies. +List of exclusions for dependency chasing. $!Path to application bundle root. 5Path to object file to be examined for dependencies. +List of exclusions for dependency chasing. %&!Path to application bundle root. Dependencies to copy in. '!Path to application bundle root. Dependencies to update. (!Path to application bundle root. Path to object file to update. 8Path to library which was copied in (path before copy). )* ! !"#$%&'()*None+%Information needed to build a bundle 5This exists to make it possible to have a standalone : macosx-app executable without it necessarily having to ! know a lot of Cabal internals ,/Location of the application bundle being built -3Location of the original executable that was built .toAppBuildInfo l m/ returns information for an application bundle  within the l build directory +/,-0.+/,-0.+/,-0.None ?Post-build hook for OS X application bundles. Does nothing if  called on another O/S. <Post-install hook for OS X application bundles. Copies the I application bundle (assuming you are also using the appBundleBuildHook)  to $prefix/ Applications $ Does nothing if called on another O/S. Given a / in context, make an application bundle in the % build area. (for internal use only) 1ACreate application bundle directory structure in build directory = and copy executable into it. Returns path to newly created  directory. 2*Include any external resources specified. 3@If a plist has been specified, copy it into place. If not, but D an icon has been specified, construct a default shell plist so the  icon is honoured. 48If an icon file has been specified, copy it into place. 5>Perform various magical OS X incantations for turning the app ! directory into a bundle proper. 65Path to the developer tools directory, if one exists 7ADefault plist template, based on that in macosx-app from wx (but  with version stuff removed). ,List of applications to build; if empty, an : application is built for each executable in the package, 3 with no icon or plist, and no dependency-chasing. All other parameters as per  8. ,List of applications to build; if empty, an : application is built for each executable in the package, 3 with no icon or plist, and no dependency-chasing. All other parameters as per  . 9:;12!Path to application bundle root. 3!Path to application bundle root. 4!Path to application bundle root. 5!Path to application bundle root. 67   9:;1234567<       !"#$%&'()*+,-./01234526789:;<=>?@ABCDcabal-macosx-0.2.3Distribution.MacOSXDistribution.MacOSX.DGDistribution.MacOSX.Common Distribution.MacOSX.Dependencies Distribution.MacOSX.AppBuildInfoDistribution.Simple postInstall Exclusions ChaseDeps ChaseWithChaseWithDefaults DoNotChaseMacAppappNameappIconappPlist resources otherBinsappDepsdefaultExclusionsappBundleBuildHookappBundleInstallHook makeAppBundleFDepsDGbaseGHC.IOFilePath dgAddFDepsdgFDepsdgEmpty dgPathIdx dgHasPath dgAddPaths dgAddPath dgAddDepsdgAddDep pathInAppincludeDependenciesappDependencyGraphbuildDependencyGraphaddFilesDependenciesgetFDepsexcludecopyInDependencyupdateDependenciesupdateDependencyoTooliTool AppBuildInfo abAppPath abAppOrigExetoAppBuildInfoabApp createAppDirincludeResourcesmaybeCopyPlist maybeCopyIconosxIncantationsdeveloperTools plistTemplateCabal-1.16.0.3Distribution.Simple.UserHooks postBuildbundleScriptLibraryHaskellbundleScriptElsewhereisMacOS