9 个不稳定版本

0.5.4 2021年4月6日
0.5.3 2020年7月14日
0.5.2 2020年1月9日
0.5.1 2019年5月22日
0.2.0 2017年7月18日

#306 in 构建工具

Download history 17/week @ 2024-03-11 8/week @ 2024-03-18 28/week @ 2024-04-01 6/week @ 2024-04-08 9/week @ 2024-04-22 4/week @ 2024-04-29 2/week @ 2024-05-06 2/week @ 2024-05-13 7/week @ 2024-05-20 14/week @ 2024-05-27 24/week @ 2024-06-03 26/week @ 2024-06-10 17/week @ 2024-06-17 22/week @ 2024-06-24

91 每月下载次数

GPL-2.0+

760KB
4K SLoC

Rust 3K SLoC // 0.1% comments Python 810 SLoC // 0.3% comments Shell 47 SLoC // 0.1% comments

Fac

Build Status Build status

Fac 是一个受 make 启发的通用构建系统,它使用 ptrace 确保所有依赖关系都被列举出来,并将所有源文件添加到(git)仓库中。Fac 的重要特性是它自动处理依赖关系,而不是抱怨它们或给出错误的构建。目前,Fac 仅在 Linux 系统上运行,但在这些系统上使用它非常简单!

  • Fac 以一种独立于编程语言的方式自动跟踪构建依赖关系。您只需要为每个规则指定最小依赖关系,Fac 会为您计算其余部分。如果您未指定依赖关系,Fac 在尝试足够多次后仍应能够成功构建,前提是您的构建规则在缺少依赖关系时失败(而不仅仅是产生错误的输出)。一旦 Fac 成功构建了您的项目,它就知道了每个命令的依赖关系,该源树后续的构建将等同于您已指定所有依赖关系和所有输出。

  • Fac 支持并行构建。

  • 您必须用自己的语言编写配置。(或者相反,您不必强制使用我选择的任何语言,更不用说我自己开发的定制语言了。)

  • 与 git 集成,以确保您不会忘记为构建添加所需文件。

要了解更多关于 Fac 的信息,包括基准测试和完整文档,请访问 Fac 网页:

http://physics.oregonstate.edu/~roundyd/fac

构建和安装

要构建 Fac(假设您已克隆 Fac,并且没有旧的 Fac 版本),只需运行

cargo build

这应在已安装 rust 的 x86-64 Linux 系统上构建 Fac。您可能可以使用 build-freebsd.sh 在 freebsd 上构建(但很可能已经过时)。然后,您可以运行以下命令来构建优化版本:

target/debug/fac fac

要使用 Fac,您可以复制 Fac 可执行文件到您的路径中的某个位置。

构建依赖项和详细信息

您需要安装 Rust。此外,fac 需要同时安装 python2python3(需要修复),构建 fac 文档(默认构建目标)需要 sasspython-markdown

有关构建 fac 的更多详细信息,请参阅 构建 fac 的网页,该网页也位于 fac 仓库中,路径为 web/building.md

许可证

Fac 是免费软件,并且根据 GNU 通用公共许可证(版本 2 或更高版本)授权。

依赖项

~5–13MB
~149K SLoC