什么';设置MACOSX_部署_目标的最佳方法是什么?

什么';设置MACOSX_部署_目标的最佳方法是什么?,macos,perl,compilation,Macos,Perl,Compilation,很长一段时间以来,Perl社区的所有Perl版本都依赖于MACOSX\u DEPLOYMENT\u TARGET=10.3。但是现在,在El Capitan beta。看起来他们应该把它往上撞,但是为了什么?有没有一种方法可以通过编程将其设置为当前正在构建Perl的OSX版本所支持的最早版本?或者有其他方法动态设置它吗?或者它必须是静态的并且定期更新?如果是后者,它会如何影响旧版本OS X上的构建?这应该是提示/darwin.sh中的一个相当简单的更改,它会检查正在运行的OSX版本,并相应地设置

很长一段时间以来,Perl社区的所有Perl版本都依赖于
MACOSX\u DEPLOYMENT\u TARGET=10.3
。但是现在,在El Capitan beta。看起来他们应该把它往上撞,但是为了什么?有没有一种方法可以通过编程将其设置为当前正在构建Perl的OSX版本所支持的最早版本?或者有其他方法动态设置它吗?或者它必须是静态的并且定期更新?如果是后者,它会如何影响旧版本OS X上的构建?

这应该是
提示/darwin.sh
中的一个相当简单的更改,它会检查正在运行的OSX版本,并相应地设置
MACOSX部署目标


Perl是一个开源项目,因此开发人员的时间总是很短。如果您为此制作一个补丁并提交给p5p,我相信您会非常感激。

接受@Calle Dybedahl的回答,因为它在技术上是正确的。Perl 5核心黑客Jarkko Hietaniemi推动了这一过程,事实证明,这比您一眼就能想到的要复杂一些。他得出的基本配方是:

对于OS X 10.6或更高版本,不要再使用
MACOSX_部署_目标
, 工具链在没有任何损坏的情况下应能正常工作。到目前为止,部署目标 已硬连线到10.3。这个逻辑来自于

对于从10.3到10.5的OSX版本,没有更改,仍然使用 链接的
MACOSX\u部署\u目标=10.3

对于10.3之前的OSX版本,没有更改,仍然没有使用
MACOSX_部署_目标=10.3

新增:始终将
-mmacosx version min
添加到
ccflags
ldflags
中 环境变量
$MACOSX\u部署\u目标
,如果已设置。如果未设置var, 从OSX版本、软件版本(1)设置最小值。设置var 对于构建和打包早期版本的Perl的人来说应该变得很方便 OSX版本


我不知道有谁在运行MacOS 10.3。。。你真的想支持2003年发布的操作系统吗?@MichaelDautermann People在各种疯狂的配置上测试Perl。世卫组织早在OS X 10.4就进行了测试。谢谢,我在过去鼓励使用这种解决方案。