5 Setup.hs命令
$ runhaskell公司 设置.hs [ 命令 ] [ 选项。。。 ]
$ runhaskell公司 设置.hs --帮助
5.1. 构建和安装系统包
$ runhaskell公司 设置.hs 配置 --温室气体 $ runhaskell公司 设置.hs 建造 $ runhaskell公司 设置.hs 安装
5.2. 创建二进制包
$ runhaskell公司 设置.hs 配置 --前缀 = /美国海军 $ runhaskell公司 设置.hs 建造 $ runhaskell公司 设置.hs 复制 --目标目录 = /tmp/mypkg $ 焦油 -czf公司 我的pkg.tar.gz /tmp/mypkg/
$ runhaskell公司 设置.hs 登记 --gen-script(通用脚本) $ runhaskell公司 设置.hs 取消注册 --gen-script(通用脚本)
-
--帮助 , -小时 或 -? 列出命令的可用选项。
-
--冗长的 =个 或 -v(v) n个 设置详细级别(0-3)。 正常水平为1; 一个失踪的人 n个 默认为2。 此命令还有一个扩展版本,可以 用于微调输出的详细程度。 它需要 形式 [silent|normal|verbose|debug] 旗帜 ,其中 旗帜 是的列表 + 用于切换各个方面的标志 输出。 目前,只有 +呼叫者 和 +调用堆栈 支持,分别切换调用位置和调用 堆栈打印(仅当Cabal 使用足够新的GHC建造。)
5.3。 runhaskell Setup.hs配置
后续调用 阴谋集团 建造 , 登记 等仅操作 在配置的组件上。 Cabal需要所有“内部”依赖项(例如,可执行文件 取决于在同一包中定义的库)必须在中找到 数据库集通过 --数据包-db (和相关标志):这些 依赖关系假定为最新的。 依赖项可以是 使用显式指定 --依赖关系 只需说出名字 子图书馆; 例如,子库的依赖性 命名 foo公司 表示为 --依赖关系=Lib:foo=foo-0.1-abc . 只有请求的组件所需的依赖项是 必修的。 类似地,当 --精确配置 已指定, 只需要指定 --依赖关系 用于组件。 (如前所述,您 必须 将内部依赖项指定为 嗯。) 内部 构建工具依赖项 和 构建工具 需要依赖项 加入 路径 随后调用 设置 .
5.3.1. 用于构建的程序
-
-w个 路径 或 -wPATH(路径) , --带编译器 =路径 指定特定编译器的路径。 如果给定,则必须匹配 上面选择的实现。 默认情况是搜索 所选实现的常用名称。 此标志还设置 --带hc-pkg 选项设置为该编译器的包工具。 检查的输出 runhaskell公司 设置.hs 配置 -v(v) 确保找到正确的包 工具(或用途 --带hc-pkg 显式地)。
-
--带PROG =路径 指定程序的路径 掠夺 .Cabal已知的任何程序 可以用来代替 掠夺 。它可以是完整路径,也可以是 可以在程序搜索路径中找到的程序的名称。 对于 例子: --其中ghc=ghc-6.6.1 或 --with-cpphs=/usr/local/bin/cpphs .已接受的完整列表 本用户指南中未列举程序。 相反,运行 阴谋集团 安装 --帮助 以查看列表。
-
--PROG-选项 =OPTS(可选) 指定程序的其他选项 掠夺 .任何已知程序 到Cabal可以用来代替 掠夺 例如:
. The--alex-options=“--template=mytemplatedir/” 选项 是 根据空格拆分为程序选项。 包含以下内容的任何选项 例如,需要引用嵌入的间距 --foo-options='--bar=“C:\程序 文件\栏“” .作为替代方案 一次只需要一个选项,但避免了报价的需要, 使用 --PROG选项 而不是。
5.3.2. 安装路径
-
--前缀 =直飞 安装的根目录。 例如,对于全局安装您 可能使用 /usr/本地 在Unix系统上,或 C: \程序 文件夹 在Windows系统上。 其他安装路径通常是 的子目录 前缀 ,但他们不必这样。 在简单构建系统中, 目录 可能包含以下路径 变量: $pkgid(美元) , $包装 , $版本 , $编译器 , 美元 , $arch(美元) , 美元abi , $abitag(美元)
-
--粘合剂 =直飞 用户可能调用的可执行文件安装在此处。 在简单构建系统中, 目录 可能包含以下路径 变量: $前缀 , $pkgid(美元) , $包装 , $版本 , $编译器 , 美元 , $arch(美元) , abi美元 , $abitag(美元)
-
--图书馆馆长 =直飞 这里安装了对象代码库。 在简单构建系统中, 目录 可能包含以下路径 变量: $前缀 , $bindir(美元) , $pkgid(美元) , $包装 , $版本 , $编译器 , 美元 , $arch(美元) , abi美元 , $abitag(美元)
-
--dynlibdir公司 =直飞 此处安装了动态库。 默认情况下,设置为 $libdir/$abi ,通常不等于 $libdir/$libsubdir . 在简单构建系统中, 目录 可能包含以下路径 变量: $前缀 , $bindir(美元) , $libdir(美元) , $pkgid(美元) , $包装 , $版本 , $编译器 , 美元 , $拱 , abi美元 , $abitag(美元)
-
--libexecdir(库执行目录) =直飞 用户不希望直接调用的可执行文件 安装在此处。 在简单构建系统中, 目录 可能包含以下路径 变量: $前缀 , $bindir美元 , $libdir(美元) , $libsubdir(美元) , $pkgid(美元) , $包装 , $版本 , $编译器 , 美元 , $arch(美元) , abi美元 , $abitag(美元)
-
--数据目录 =直飞 此处安装了与体系结构相关的数据文件。 在简单构建系统中, 目录 可能包含以下路径 变量: $前缀 , $bindir(美元) , $libdir(美元) , $libsubdir(美元) , $pkgid(美元) , $包装 , $版本 , $编译器 , 美元 , $拱 , abi美元 , $abitag(美元)
-
--sysconfdir系统 =直飞 配置文件的安装目录。 在简单构建系统中, 目录 可能包含以下路径 变量: $前缀 , $bindir(美元) , $libdir美元 , $libsubdir(美元) , $pkgid(美元) , $包装 , $版本 , $编译器 , 美元 , $arch(美元) , abi美元 , $abitag(美元)
-
--libsubdir数据库 =直飞 的子目录 图书馆馆长 实际安装库的位置。 对于 例如,在Unix上的简单构建系统中,默认 图书馆馆长 是 /usr/local/lib 、和 libsubdir数据库 包含编译器ABI和包 标识符, 例如。 x86_64-linux-ghc-8.0.2/mypkg-0.1.0-IxQNmCA7qrSEQNkoHSF7A ,所以 库将安装在 /usr/local/lib/x86_64-linux-ghc-8.0.2/mypkg-0.1.0-IxQNmCA7qrSEQNkoHSF7A/ . 目录 可能包含以下路径变量: $pkgid(美元) , $包装 , $版本 , $编译器 , 美元 , $arch(美元) , abi美元 , $abitag(美元)
-
--libexecsubdir(库执行子目录) =目录 的子目录 libexecdir(库执行目录) 其中私有可执行文件是 安装。 例如,在Unix上的简单构建系统中,默认 libexecdir(库执行目录) 是 /usr/local/libexec 、和 libsubdir数据库 是 x86_64-linux-ghc-8.0.2/mypkg-0.1.0 ,所以私人可执行文件 安装在中 /usr/local/libexec/x86_64-linux-ghc-8.0.2/mypkg-0.1.0/ 目录 可能包含以下路径变量: $pkgid(美元) , $包装 , $版本 , $编译器 , 美元 , $arch(美元) , abi美元 , $abitag美元
-
--数据子目录 =直飞 的子目录 数据目录 数据文件实际在其中 安装。 目录 可能包含以下路径变量: $pkgid(美元) , $包装 , $版本 , $编译器 , 美元 , $arch(美元) , abi美元 , $abitag(美元)
-
--文档目录 =直飞 文档文件是相对于此目录安装的。 目录 可能包含以下路径变量: $前缀 , $bindir(美元) , $libdir(美元) , $libsubdir美元 , $数据目录 , $数据子目录 , $pkgid(美元) , $包装 , $版本 , $编译器 , 美元 , $arch(美元) , abi美元 , $abitag(美元)
-
--HTML目录 =直飞 HTML文档文件是相对于此目录安装的。 目录 可能包含以下路径变量: $前缀 , $bindir(美元) , $libdir(美元) , $libsubdir(美元) , $数据目录 , $数据子目录 , $docdir(美元目录) , $pkgid(美元) , $包装 , $版本 , $编译器 , 美元 , $arch(美元) , abi美元 , $abitag(美元)
-
--程序前缀 =前缀 前置 前缀 安装的程序名。 前缀 可能包含以下路径变量: $pkgid(美元) , $包装 , $版本 , $编译器 , 美元 , $arch(美元) , abi美元 , $abitag(美元)
-
--程序后缀 =后缀 追加 后缀 安装的程序名。 最明显的用途是 这是为了附加程序的版本号以使其成为可能 要同时安装程序的多个版本,请执行以下操作: --program-suffix=“$version” . 后缀 可能包含以下路径变量: $pkgid(美元) , $包装 , $版本 , $编译器 , 美元 , $arch(美元) , abi美元 , $abitag(美元)
5.3.2.1. 简单构建系统中的路径变量
$前缀 表示安装根目录的路径变量。 对于 如果安装是可重定位的,则所有其他安装路径必须 相对于 $前缀 变量。 $bindir(美元) 扩展为给定路径的路径变量 --粘合剂 configure选项(或默认选项)。 $libdir(美元) 同上,但适用于 --图书馆馆长 $libsubdir(美元) 同上,但适用于 --libsubdir数据库 $dynlibdir(美元) 同上,但适用于 --动态libdir $数据目录 同上,但适用于 --数据目录 $数据子目录 同上,但适用于 --数据子目录 $docdir(美元目录) 同上,但适用于 --文档目录 $pkgid(美元) 包的名称和版本,例如。 mypkg-0.2型 $包装 包的名称,例如。 我的包 $版本 包的版本,例如。 0.2 $编译器 用于构建包的编译器,例如。 ghc-6.6.1条 美元 用于构建 包装,例如。 linux操作系统 , 窗户 , 奥斯克斯 , 免费bsd 或 日光浴 $arch(美元) 用于构建包的计算机的体系结构, 例如。 i386型 , x86_64码 , ppc公司 或 斯巴达克 $abitag(美元) 编译器可以用来告知不兼容的可选标记 ABI独立于同一架构。 GHCJS对基础数据进行编码 ABI标签中的GHC版本。 abi美元 获取完全标识 二进制兼容性方面的平台。 扩展到相同的值 作为 $arch-$os编译器-$abitag 如果编译器使用abi标记, $arch-$os-$编译器 如果没有。
5.3.2.2. 简单构建系统中的路径
5.3.2.3. 前缀独立性
5.3.3. 控制标志分配
-
-(f) 标志名 或 -(f) -标志名 强制指定的标志 真的 或 假 (如果前面有 一 - ). 相同标志的后续规范将覆盖 更早,即指定 -fdebug(电子标签) -f-调试 等于 -f-调试
-
--旗帜 =鞭毛规格 等同于 -(f) ,但允许在 一次。 参数是一个以空格分隔的标记名列表(to 迫使国旗 真的 ),前面可以加一个 - (以强制 向 假 ). 例如, --flags=“调试 -功能1 特征2“ 等于 -fdebug(电子标签) -f特征1 -咖啡2 .
5.3.4. 构建测试套件
-
--启用测试 在 这个 建造 阶段。 检查测试所需的依赖项 套房。 如果使用此选项配置包,它将 可以使用 测试 命令之后的命令 包已生成。
-
--禁用测试 (默认)在 建造 阶段。 不要只检查测试套件所需的依赖项。 它 将无法调用 测试 命令,无 重新配置包。
-
--启用-平均 使用Haskell构建库和可执行文件(包括测试套件) 已启用计划覆盖范围。 运行测试套件将自动 使用HPC生成覆盖率报告。
-
--禁用平均值 (默认)不启用Haskell Program Coverage。
5.3.5. 其他选项
-
--用户 按用户进行安装。 这将更改 默认安装 前缀 。它还允许 用户的包数据库要满足的依赖项,在 添加到全局数据库。 这也意味着默认值为 --用户 对于任何后续 安装 命令,作为包 在全局数据库中注册不应依赖于包 在用户数据库中注册。
-
--全球 (默认)执行全局安装。 在这种情况下,包装 全局包数据库必须满足依赖关系。 全部 用户的包数据库中的包将被忽略。 通常情况下 最后的安装步骤将需要管理权限。
-
--数据包-db =数据库 允许通过此额外的 程序包数据库 数据库 除了全局包数据库之外。 用户程序包数据库中的所有程序包都将被忽略。 这个 对…的解释 数据库 是特定于实现的。 通常情况下,它会 是一个文件或目录。 并非所有实现都支持任意 程序包数据库。 这会将一个额外的数据库推送到数据库堆栈上。 这个 --全球 和 --用户 模式开关分别添加了[Global]和[Global, User]dbs到初始堆栈。 有一个编译器实现 全局数据库必须首先出现在堆栈中的约束,如果 用户一出现,它必须立即出现在 全局数据库。 要重置堆栈,请使用 --package-db=清除 .
-
--国际病童协会 =IPID 指定 已安装的包标识符 包的 建造; 此标识符传递给GHC并作为基础 链接器符号和 身份证件 中的字段 ghc-pkg 注册。 当一个包有多个组件时,实际 组件标识符是从这个标识符派生出来的。 例如,a 附属图书馆 foo公司 来自程序包 p-0.1-公元前 将获得 标识符 p-0.1-abcd-foo .
-
--cid公司 =CID 指定 组件标识符 正在建造的组件的; 这仅在配置单个组件时有效。
-
-O【n】 , --使能优化 [=n] (默认)使用优化标志生成(如果可用)。 这是 适合生产使用,需要更多时间来更快地构建 库和程序。 可选的 n个 值是优化级别。 一些编译器 支持多个优化级别。 范围是0到2。 级别0 等于 --禁用优化 ,级别1是 如果没有,则默认 n个 给出了参数。 2级是更高的优化 如果编译器支持的话。级别2可能会导致更长的时间 编译时间和更大的生成代码。 启用优化后,Cabal将通过 -氧气 到C编译器。
-
--禁用优化 构建而不优化。 这适合开发:建筑 将更快,但生成的库或程序将 更慢的。
-
--使能保护 在启用分析的情况下生成库和可执行文件(对于 支持作为单独模式进行评测的编译器)。 为了这个目的 工作,此包使用的所有库也必须已生成 具有分析支持。 对于库,这涉及到构建 除了普通实例之外,库的其他实例 非剖析实例。 对于可执行文件,它会更改单个 要以分析模式构建的可执行文件。 此标志涵盖库和可执行文件,但可以是 被 --启用库分析 标志。 另请参见 --剖面详图 下面的标志。
-
--防止残疾的 (默认)不在生成的库和 可执行文件。
-
-第页 , --启用-内存保护 与相同 --使能保护 但它仅适用于 库。 因此,这将生成 除了正常的非概要分析实例外,还可以使用库。 这个 --使能保护 标志控制这两者的分析模式 库和可执行文件,但如果需要不同的模式 库与可执行文件,然后使用 --启用-内存保护 也。
-
--防止残疾的 (默认)不生成库的其他分析版本。
-
--剖面详图 =级别 一些支持评测的编译器,特别是GHC,可以分配 项目不同部分的成本不同 可以完成此操作的粒度或细节级别。 在 特别是对于GHC来说,这个概念被称为“成本中心”,而GHC 可以自动添加成本中心,并且可以以不同的方式进行添加。 此标志涵盖库和可执行文件,但可以是 被 --图书馆详细资料 标志。 目前,对于GHC以外的编译器,此设置被忽略。 这个 阴谋集团目前支持的级别为: 违约 对于GHC,这使用 导出函数 图书馆和 顶级功能 用于可执行文件。 没有人 此组件中的任何代码都不会分配任何成本。 导出函数 成本将按所有顶层的粒度分配 从每个模块导出的函数。 特别是在GHC中 用于非线函数。 顶级功能 成本将按所有顶层的粒度分配 每个模块中的函数,无论它们是从 模块与否。 特别是在GHC中,这是针对非线型 功能。 所有功能 成本将按照中所有功能的粒度进行分配 每个模块,无论是顶层还是本地。 特别是在GHC中, 这适用于非线顶层或where-bound函数或 值。 后期完成 与顶层类似,但成本将在之后分配给顶层定义 优化。 这大大降低了分析开销,同时提供了类似的 细节级别作为顶级功能。 然而,这意味着引入了功能 GHC在优化过程中也会显示在配置文件中。 相对应 -fprof平板 如果支持和 -fprof-自动顶 否则。 晚的 当前是最新版本的别名
此标志是Cabal-1.24中的新标志。 以前的版本使用了等效的 属于 没有人 以上。
-
--ghci的enable-library (默认)构建适用于GHCi的库。
-
--ghci禁用内存 并非所有平台都支持GHCi,实际上在一些平台上,正在尝试 构建GHCi库失败。 在这种情况下,此标志可以用作 解决方法。
-
--启用-split-objs 使用GHC -拆分-objs 功能。 这个 通过以下方式减少使用库的可执行文件的最终大小 允许他们只与他们使用的位链接,而不是 整个图书馆。 缺点是建造图书馆需要 更长,占用更多内存。
-
--禁用拆分对象 (默认)不要使用GHC -拆分-objs 功能。 这使得 更快地构建库,但使用 图书馆会更大。
-
--启用可执行跳闸 (默认)安装二进制可执行程序时,运行 带 二进制文件上的程序。 这可以大大减少 可执行二进制文件的大小。 它通过移除 调试信息和符号。 而这样的额外信息 对于使用传统调试器调试C程序很有用 很少有助于调试Haskell编译器生成的二进制文件。 并非所有Haskell实现都会生成本机二进制文件。 对于这种情况 实现此选项无效。
-
--禁用可执行跳闸 在安装期间不要剥离二进制可执行文件。 你可能想要 要在需要使用gdb调试程序时使用此选项 如果要调试包含以下内容的程序的C部分 Haskell和C代码。 另一个原因是,如果您正在构建 具有剥离管理策略的系统的包 本身(例如一些Linux发行版)。
生成共享库。 这意味着要单独运行编译器 在大多数平台上生成所需的位置无关代码。
(默认)不生成共享库。
-
--启用静态 构建静态库。 这就过去了 -静态clib 至GHC(可用 iOS和8.4个以上平台)。 结果是存档 .a个 包含所有相关haskell库的组合。
-
--禁用静态 (默认设置)不生成静态库。
-
--禁用可执行动态 (默认)将依赖的Haskell库静态链接到可执行文件中。 非Haskell(C)库仍然是动态链接的,包括libc、, 因此结果仍然不是完全静态的可执行文件 除非 --启用可执行静态 给出了。
-
--启用可执行静态 构建完全静态的可执行文件。 这会将所有依赖库静态链接到可执行文件中, 包括libc。
-
--禁用可执行静态 (默认设置)不要生成完全静态的可执行文件。
-
--不包括的直径 =路径 用于搜索C头文件的额外目录。 你可以用这个 多次标记以获取目录列表。 如果您有标准的系统标头,则可能需要使用此标志 文件位于非标准位置 程序包 .cabal公司 文件。 使用此选项的效果与 附加目录 目录 到 包括直径 每个中的字段 程序包中的库和可执行文件 .cabal公司 文件。 这个 当然,其优点是您不必在 全部。 构建包时将使用这些额外的目录 对于库,它也保存在包注册中 信息,并在编译使用库的模块时使用。
-
--类外目录 =路径 用于搜索系统库文件的额外目录。 你可以使用 此标志多次用于获取目录列表。
-
--框架外工作直径 =路径 用于搜索框架的额外目录(仅限OS X)。 你可以使用 此标志多次用于获取目录列表。 如果您有标准系统,则可能需要使用此标志 库位于非标准位置,该位置在 程序包 .阴谋集团 文件。 使用此选项的效果与 附加目录 目录 到 类外目录 中的字段 包中的每个库和可执行文件 .cabal公司 文件。 这个 当然,其优点是您不必在 全部。 构建包时将使用这些额外的目录 对于库,它也保存在包注册中 信息,并在编译使用库的模块时使用。
-
--承诺的依赖 [=pkgname=IPID] 非常像 --依赖 但是包裹不需要已经 安装。 这在尝试启动多个组件时很有用 与cabal的multi-repl或Haskell Language Server等项目的会话。 启用的几个检查 --依赖关系``s 是 禁用 对于 许诺的 依赖关系, 所以 更喜欢 到 使用 ``--依赖 如果你知道依赖性 已安装。
-
--精确配置 这使得Cabal要求每个依赖项都显式 使用指定 --依赖 ,而不是使用Cabal的(非常 简单)依赖关系求解器。 这对于编程使用 Cabal的API,如果您没有指定足够的内容,就会在其中出错 --依赖 旗帜。
-
-c(c) 约束 或 -约束 , --约束 =约束 将涉及包的解决方案限制为给定版本 边界、标志设置和其他属性。 以下仅考虑安装计划,其中 酒吧 , 如果使用,则仅限于版本2.1: $ 阴谋集团 安装 --约束 = “巴==2.1” 以下内容可防止 酒吧 根本不会被使用: $ 阴谋集团 安装 --约束 = “bar<0” 版本边界的语法与 取决于构建 . 此外,这里还提供了额外的伪版本边界: 安装 将包修复为已安装的版本。 通常用于GHC提供的包装与 允许更新 , 例如。, --allow-newer='*:base' --constraint='基础 已安装' . 来源 将包修复到本地源副本。
# 要求 那个 一 版本 属于 酒吧 是 习惯于 那个 是 已经 安装 在里面 # 这个 全球的 包裹 数据库。 $ 阴谋集团 安装 --约束 = “已安装酒吧” # 要求 这个 地方的 来源 复制 属于 酒吧 到 是 已使用。 # ( 注: 由 默认情况下, 如果 我们 有 一 地方的 包裹 我们 将 # 自动地 使用 它, 所以 它 将 通常地 不 是 必要的 到 # 指定 这个。 ) $ 阴谋集团 安装 --约束 = “条形源” 此外,我们可以用指定标志赋值 +旗帜 和 -旗帜 或启用测试( 测试 )和基准( 长凳 )套房: # 要求 酒吧 到 是 安装 具有 这个 foo公司 旗帜 转动 在 和 # 这个 巴兹 旗帜 转动 关闭。 $ 阴谋集团 安装 --约束 = “bar+foo-baz” # 要求 那个 酒吧 有 测试 套房 和 基准 启用。 $ 阴谋集团 安装 --约束 = “棒测试” --约束 = “酒吧工作台” 要指定多个约束,可以传递 约束 选项多次。 默认情况下,约束仅适用于生成依赖项 ( 取决于构建 ),生成的生成依赖项 依赖关系等。约束通常不适用于 的依赖项 设置.hs 任何包的脚本 ( 自定义设置:设置取决于 )它们也不适用于构建工具 ( 构建工具依赖项 )或构建的依赖项 工具。 将约束显式应用于设置或生成 工具依赖性,可以添加限定符 设置 或 任何 约束条件如下: # 例子 使用 属于 这个 “任何” 限定符。 这个 约束 # 应用 到 包裹 酒吧 在任何地方 在里面 这个 依赖关系 图表。 $ 阴谋集团 安装 --约束 = “any.bar==1.0” # 例子 使用 属于 “设置” 限定符。 # 这个 约束 应用 到 包裹 酒吧 什么时候 它 是 一 # 依赖关系 属于 任何 设置.hs 脚本。 $ 阴谋集团 安装 --约束 = “setup.bar==1.0” # 这个 约束 应用 到 包裹 酒吧 什么时候 它 是 一 # 依赖关系 属于 这个 设置.hs 脚本 属于 包裹 食品。 $ 阴谋集团 安装 --约束 = “foo:setup.bar==1.0”
-
--禁用响应文件 为较旧版本的程序(如 应收账 或 ld个 不支持响应文件参数(即。 @文件 参数)。 只有当您指定自定义ar时,您才可能需要此标志 可执行文件。 对于系统 应收账 或是捆绑在一起的 温室气体 在 Windows 阴谋集团 应该做正确的事,因此应该 通常不需要此标志。
5.4. runhaskell Setup.hs内部版本
5.5. runhaskell Setup.hs黑线鳕
5.6. runhaskell设置.hs hscolour
-
--css公司 =路径 将给定的CSS文件用于生成的HTML文件。 CSS文件 定义用于给代码着色的颜色。 请注意,此副本 将给定的CSS文件添加到具有生成的HTML文件的目录 (重命名为 hs颜色.css )而不是链接到它。
5.7. runhaskell Setup.hs安装
-
--全球 在系统范围的数据库中注册此软件包。 (这是 默认,除非 runhaskell公司 设置.hs 配置 --用户 已提供选项 到 配置 命令。)
-
--用户 在用户的本地包数据库中注册此包。 (这是 默认值,如果 runhaskell公司 设置.hs 配置 --用户 已提供选项 到 配置 命令。)
5.8. runhaskell Setup.hs副本
-
--目标目录 =路径 指定要在其中放置已安装文件的目录。 如果是这样 未给定,则假定为根目录。
5.9. runhaskell Setup.hs寄存器
-
--全球 在系统范围的数据库中注册此软件包。 (这是 默认设置。)
-
--用户 在用户的本地包数据库中注册此包。
-
--gen-script(通用脚本) 生成包含以下内容的脚本,而不是注册包 用于执行注册的命令。 在Unix上,此文件称为 寄存器.sh ,在Windows上, 寄存器.bat 。此脚本可能是 包含在二进制包中,在解包包后运行 在目标系统上。
-
--gen-pkg-配置 [=路径] 生成包注册而不是注册包 文件(或目录,在某些情况下)。 这仅适用于 支持包注册文件的编译器,这些文件位于 现在只是GHC。 该文件应与编译器的 用于注册包的机制。 此选项主要用于 用于包装系统。 如果可能,请使用 --gen-script(通用脚本) 选项 相反,因为它在Haskell实现中更具可移植性。 这个 路径 是可选的,可用于指定特定 要生成的输出文件。 否则,默认情况下,文件是 包名称和版本 .conf文件 扩展。 如果包需要多个目录,则此选项输出一个目录 注册:如果内部/便利图书馆 已使用。 这些配置文件名经过排序,以便 按顺序注册。
-
--就地 注册包以直接从生成树使用,而不需要 需要安装它。这对测试很有用:没有 需要在修改后安装包,只需重新编译并 测试。 此标志不会创建build-tree-local包数据库。 它 仍然在一个用户或全局数据库中注册包。 然而,也有一些警告。 它仅适用于GHC(目前)。 只有当您的包不依赖于任何 安装了补充文件-普通Haskell库应该是 好的。
5.10. runhaskell Setup.hs未注册
-
--全球 在系统范围的数据库中取消注册此包。 (这是 默认设置。)
-
--用户 在用户的本地包数据库中取消注册此包。
-
--gen-script(通用脚本) 生成包含以下内容的脚本,而不是取消注册包 执行注销的命令。 在Unix上,此文件称为 未注册.sh ,在Windows上, 未注册.bat 。此脚本可能 包含在二进制包中,以便在目标系统上运行。
5.11. runhaskell Setup.hs清洁
-
--保存-配置 , -秒 保留配置信息,因此无需运行 在构建之前再次执行配置步骤。
5.12. runhaskell Setup.hs测试
-
--建筑工人 =直飞 Cabal放置生成的构建文件的目录(默认: 距离 ). 测试日志将位于 测试 子目录。
-
--测试长度 =模板 用于命名可读测试日志的模板; 路径是 相对于 距离/测试 。默认情况下,日志根据 模板 $pkgid-$test-suite.log ,以便每个测试套件 将被记录到自己的可读日志文件中。 模板 允许的变量有: $pkgid(美元) , $编译器 , 美元 , $拱 , abi美元 , $abitag(美元) , $测试套件 、和 $结果 .
-
--测试机器长度 =模板 机器可读日志的路径,相对于
. The距离/测试 默认模板为 $pkgid.log 。允许的模板变量为: $pkgid(美元) , $编译器 , 美元 , $arch(美元) , abi美元 , $abitag(美元) 和 $结果 .
-
--测试显示详细信息 =过滤器 确定单个测试用例的结果是否显示在 终端。 可能是 总是 (始终显示), 从未 (从不显示), 失败 (仅显示失败的结果), 流动 (全部显示 实时结果)和 直接的 (与 流动 但没有日志 文件,可能更漂亮)。 默认值为 直接的 :它使测试输出保持不变,并且不会 制作日志。 这允许彩色输出,这在测试中很流行 框架。 (另一方面, 流动 创建日志但丢失 着色。)
-
--测试选项 =模板 为测试可执行文件提供额外的选项。
-
--测试选项 =模板 为测试可执行文件提供额外的选项。 没有必要 引用包含空格的选项,因为假定只有一个选项, 所以选项不会在空格上分割。
-
--测试记录器 =文件 用于设置和拆除测试的包装脚本/应用程序 执行上下文。 文本可执行路径和测试参数为 作为参数传递给包装器,包装器应该 将返回测试的返回代码,以及stdout/stderr的副本。
5.13. runhaskell Setup.hs工作台
-
--基准选项 =模板 为基准可执行文件提供额外的选项。
-
--基准期权 =模板 为基准可执行文件提供额外的选项。 没有必要 引用包含空格的选项,因为假定只有一个选项, 因此选项不会在空间上分割。
5.14. runhaskell设置.hs sdist
-
--快照 将今天的日期(以“YYYYMMDD”格式)附加到的版本号 生成的源包。 原始包不受影响。