你给他们打过电话吗? autocrap 工具?

是的,事实上我做到了,因为对于一个自己造成的问题,它们是最糟糕的可能无法解决的问题。

早在20世纪80年代,无数的小型和微型计算机公司都加入了Unix的行列,因为它为他们的硬件提供了一个操作系统,但他们也试图通过“增值”将自己与竞争对手“区分开来”。

那个“价值”是不相容的。

你永远不知道他们把东西放在哪里,编译器需要什么参数才能合理地运行,或者就这一点而言,如果有编译器的话。

所以一些疯狂的想象力,想出了 configure 脚本,该脚本嗅探您的系统并设置一个 Makefile 这会奏效的。

编写配置脚本是一项艰苦的工作,首先,您需要大量不同的系统来测试它们,因此复制和粘贴成为当务之急。

然后,一些更疯狂的想象力产生了编写脚本来编写配置脚本的想法,并在一次令人惊叹和大胆的尝试中,使用了一种名为 m4 用于实施。

现在,事实证明,编写配置生成宏的规范很繁琐,所以有人编写了一个工具来...

...你察觉到这里的模式了吗?

现在,如果所有这些废话的结果是,我可以写我的源代码,告诉一个工具文件在哪里,不仅假设,而且实际上 trust 一切都会好起来的,然后我就可以接受了。

但事实证明,情况并非如此。首先,所有的自动破解工具都增加了另一层版本狂热,你需要在考虑编译源代码之前得到正确的版本。

其次,它实际上并不起作用,你仍然需要做艰苦的工作,找出正确的方法来向AutoCrap工具解释你试图做什么以及如何做,只是你必须用一种用于产生M4宏调用的语言来这样做,等等。

与此同时,Unix的多样性已经从50多种明显不同的方言缩减到仅有的几种:Linux、BSD、Solaris和AIX,AutoCrap工具已经成为可移植性问题的一部分,而不是解决方案的一部分。

在用Varnish生成的自动垃圾处理配置脚本的愚蠢活动中包括:

  • 查找ANSI-C头文件(向我展示1995年以后没有它们的系统?)

  • 存在并支持POSIX强制符号链接(Varnish btw未使用)。

  • 测试,19种不同的方式,编译器不是从SYSIII时代的遗物。(给我找一台运行有以太网接口的SYSIII的计算机?)

  • 检查ISO-C和POSIX是否强制 cos() 函数存在于 libm (不,我也不知道……)

&c.&c.&c.

总有一天当我有时间的时候,我会去掉所有的汽车垃圾,并用一个5行的Shell脚本来取代它,该脚本调用 uname -s

保尔-亨宁,2010-04-20