【问题标题】:How to make an installable Perl program with makefile/autoconf?如何使用 makefile/autoconf 制作可安装的 Perl 程序?
【发布时间】:2016-12-24 04:18:34
【问题描述】:

我有一个用 Perl 编写的软件,现在我想发布它,我希望它像其他 GNU 软件一样是一个安装包,可以通过键入来安装:

./configure; make; make install

我注意到在 autoconf 的包中,大部分代码都是用 Perl 编写的,而 Perl 脚本是通过运行“make”生成的。这正是我想做的。我该怎么做呢?

=== 添加了

感谢您的精彩回答!但我写的不是一个模块,它实际上是一组脚本,它们会在管道中做一些事情,我唯一需要设置的是我在 Perl 脚本中使用的一些程序的位置。对此有什么建议吗?

【问题讨论】:

    标签: perl makefile configure


    【解决方案1】:

    ExtUtils::MakeMakerModule::Install使用的流程非常相似。

    perl Makefile.PL
    make
    make test
    make install
    

    如果您准备使用您发布的特定命令链,您可以将以下内容放入文件 configure

    #!/bin/sh
    perl Makefile.PL
    

    如果您不打算使用您发布的特定命令链,还有Module::Build

    perl Build.PL
    ./Build
    ./Build test
    ./Build install
    

    我个人使用 Module::Build。

    【讨论】:

    • 为了完整起见,Makefile.PL 来自使用 ExtUtils::MakeMakerModule::Install
    • @daxim,谢谢,已合并。还提到了 Module::Build。
    • 感谢您的精彩回答!但是我写的不是一个模块,它实际上是一组脚本,可以在管道中做一些事情,我唯一需要设置的是我在 perl 脚本中使用的一些程序的位置。对此有什么建议吗?
    • @sohutu,我知道你的意思是脚本。我命名的所有模块也可以安装它们。使用 Module::Build,请参阅 script_files。至于从用户那里获取路径,那是一个完全不同的问题。
    • @ikegami,非常感谢!那么你对获得路径有什么想法吗?我要做的是根据configure找到的环境生成最终的perl程序......非常感谢!
    【解决方案2】:

    在您的 perl 脚本所在的 Makefile.am 中,添加该行

     dist_bin_SCRIPTS = your_perl_program
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-29
      • 2017-10-20
      • 2014-06-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多