【发布时间】:2011-06-23 14:35:32
【问题描述】:
我想概括一个构建系统以在几个(有些相似的)平台上编译。确定运行 shell 脚本或 Makefile 的主机类型的好方法是什么。我想区分 mac 和 linux,还有 linux 的不同特定发行版(例如 RHEL、Ubuntu)。 Cygwin 对我来说并不重要,但如果您将其包含在您的回复中,我相信其他人会发现它很有价值。
基本原理可能包括使用主机类型来获取和安装正确版本的二进制包,因为这样做比从源代码编译更方便。此外,一些商业软件是针对特定发行版进行二进制打包的,因此部分动机是为了获取正确的二进制文件。
谢谢,
SetJmp
【问题讨论】:
-
如果你必须知道你正在使用的发行版,那么你的方法有问题。
-
@user562374 某些软件是商业的和/或为特定发行版打包的。另外
-
@user562374 某些软件是商业的和/或为特定发行版打包的。此外,对于基于源代码的包,我可能有一个“编译一次”的方法,然后到处 rsync。为了自动“拉”正确的二进制包,我需要确定要抓取哪个变体。 (例如 RHEL 与 Ubuntu)。
标签: linux build conditional compilation vendor