問題タブ [makemaker]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
perl - ExtUtils::Makemaker でテスト ファイルを保持しているディレクトリを変更するにはどうすればよいですか?
Makefile.PLのデフォルト テスト パスをデフォルト値t/*.tから変更するにはどうすればよいですか? ドキュメントに記載されている属性がありますが、機能しません。その方法を知っている人はいますか?
perl - 新しい Perl モジュールの配布を開始するにはどうすればよいですか?
Perl で書かれた大規模なプロジェクトをセットアップしようとしています。IBM MakeMakerのチュートリアルはこれまでのところ非常に役に立ちましたが、すべてのモジュールをメイン プログラムにリンクする方法がわかりません。私のプロジェクト ルートには、、、、ディレクトリMANIFEST
、Makefile.PL
およびディレクトリがあります。ディレクトリには、メイン スクリプト ( ) があります。ディレクトリには、各モジュールがあり、それぞれのディレクトリに分割されています (つまり、ディレクトリ内など)。各モジュール ディレクトリには、テストを含むディレクトリもあります。README
bin
lib
bin
Main.pl
lib
Utils::Util1
Utils::Utils2
utils
t
私のMANIFEST
ファイルには次のものがあります:
Makefile.PL
は次のとおりです。
作成して実行すると、プログラムがクラッシュし、 が見つからないと不平を言い、Utils::Util1
実行すると 'make test
と表示されますno tests defined
。誰でも提案できますか?このような大規模なプロジェクトを perl で行ったことはありません。さらに多くのモジュールを追加する必要があります。
perl - モジュールをビルドするときにperlのコンパイルフラグを上書きするにはどうすればよいですか?
Perlモジュールを構築する場合、ExtUtils :: MakeMakerは、ccflagsやldflagsなどの値にConfig.pm(perldoc Configを参照)で定義されたフラグを使用します。
これらの値をオーバーライドするにはどうすればよいですか(Makefile.PLを編集する以外)?
動作しないようです。
コンテキスト:OSX10.6でTerm::Readline::Gnuをコンパイルしようとしています。デフォルトのOSXperlはユニバーサルバイナリであるため、-arch i386 -arch ppcなどのccflagsがあります。
一方、私のバージョンのGnu Readline(6.0)は、-archi386のソースからのみコンパイルされています。そのため、-archppcを使用してリンクしようとしているモジュールに期待されるシンボルは含まれていません。
perl - Makefile.PLに複数のPerlモジュールを追加するにはどうすればよいですか?
MakeMakerスクリプトに複数のPMファイルを追加する方法についての洞察をお探しですか?
このドキュメントを見ると、すべての例が1つのファイルが追加されているように見えますが、複数のファイルを追加するにはどうすればよいですか?
別の値のセットを追加するだけですか?
perl - XS プロジェクトの構築に役立つツールは何ですか?
私は最近、perlxstutを使用して XS の学習を開始しました。チュートリアルでは、 ExtUtils::MakeMakerベースのプロジェクトを作成するために、古いh2xsツールを使用してモジュールを作成することを提案しています。ただし、純粋な Perl プロジェクトの場合、 h2xs/EUMM はModule::Install、Module::BuildまたはDist::Zillaを支持して長い間好まれていませんでした。
XS プロジェクトを作成するためのより現代的な方法はありますか? Module::Starterは XS プロジェクトを作成できますか? Module::Build または Dist::Zilla は XS プロジェクトをビルドできますか? 彼らのポッドページはこの問題について沈黙しています。
反対に、h2xs/EUMM で平準化された批判は XS プロジェクトにも当てはまりますか? とにかく C コンパイラが必要な場合、make ツールも要求するのは理にかなっていますか?
編集:この質問は、プロジェクトの作成に関する私の質問に答えています。ビルドについて知りたいのですが、EUMM が唯一のオプションですか、それとも Module::Build と Dist::Zilla も XS をビルドできますか?
c - ExtUtils::MakeMaker は、外部 *.mk を含み、*.mk ファイル内の LIBS および WriteMakefile の INC パラメータの定義を使用します
プロジェクトに応じて含める特定のディレクトリとCライブラリをリストするトップレベルの define.mk ファイルがあります。
XS を使用して perl スクリプトがこれらのライブラリにアクセスできるようにし、MakeMaker を使用してこれらのライブラリをリンクする Makefile を生成します。Makefile が生成されるときに、これらの定義を取り込むようにしたいと考えています。
このような WriteMakefile が与えられた場合
これを達成したい
@mobrule から、この Makefile.PL を取得しました。
それは私が望むことをするように見えます。ありがとう!
perl - MakeMaker:maketestとmakedist
を使用してディレクトリを作成しmodule-starter
、それ以降、いくつかの追加モジュールとテストを作成したとします。
make test
次に、のすべてのモジュールですべてのテストを実行しますが、tar.gzに記載されているファイルのみをパックします。t/
lib/
make dist
MANIFEST
だから私は最近走っmake test && make dist
てまだ壊れたパッケージを手に入れてやけどを負った。
私の質問は次のとおりです。何かが足りないのですか、それともMakeMakerのマイナーバグとして報告できますか?(どのMakefile.PLが依存しているようです)。
perl - Perl CPAN モジュール エラーの修正方法: バージョン 0.82 が必要ですが、これはバージョン 0.78 のみですか?
CPAN を使用するか手動でインストールするかに関係なく、「perl Makefile.PL」を実行して Perl モジュールの Makefile をビルドしようとするたびに、次のエラーが発生します。
Makefile.PL の評価からのエラー: /usr/lib/perl5/5.8.8/ExtUtils/MM_Any.pm 行 1199 のパッケージ "CPAN::Meta" 経由でオブジェクト メソッド "new" が見つかりません
CPAN::Meta モジュールがインストールされているので、これには完全に困惑しています。
実行すると:perl -MCPAN::Meta -e1
エラーが返されます:
バージョン 0.82 が必要です。これは /usr/lib/perl5/5.8.8/CPAN/Meta/Converter.pm の 12 行目のバージョン 0.78 のみです。
perl - ExtUils ::MakeMakerINST_SCRIPTと同等のModule::Buildとは何ですか?
プロジェクトをExtUtils::MakeMakerの使用からModule::Buildに変換したいと思います。Makefile.PLはほとんどデフォルトであり、Module :: Build :: Convertが機能しなかったため(以下を参照)、手動で変換したいのですが、実行可能ファイルをPerlのbin/ディレクトリに配置するためのINST_SCRIPTに相当するものが見つかりませんでした。
私のWriteMakefileは次のようになります。
Module :: Build :: Convertを使用しようとしましたが、make2buildがエラーをスローして解決できませんでした:
perlバージョン:
perl - MakeMaker のデフォルトの CFLAGS を変更する方法
Perl MakeMaker が Makefile に挿入する CFLAGS のデフォルト値を変更するにはどうすればよいですか? この投稿に基づいて、私はこれを試しました:
それからcpanの中で、私はそれを確認しました
しかし、Perl が構築されたものは何でも CFLAGS を使用します。
この投稿で提案されているように lib/perl/.../Config.pm を調べましたが、CFLAGS が設定されていないようです。
回答を得た関連する質問があります: How to tell CPAN about path to make and cc
CPAN/Config.pm で少し前進しました
ただし、これは、gcc が理解できない CFLAGS に既に存在しているものに値を追加するだけです (「-x03」や「-KPIC」など)。