私はsconscript(例えばmake uninstall
)で書くのに面倒な多くの機能を自動的に生成するようだから、プロジェクトをsconsからautotoolsに移行する作業をしています。setup.pyよりもMakefile.amを使用する上で不利な点はありますか?
プロジェクトは主にC++ベースですが、Pythonで書かれたモジュールも含まれています。多くの読書用オートツールの後、私は最終的に共有ライブラリを作成し、実行ファイルをコンパイルしてリンクし、C++ヘッダファイルをインストールすることができます。美しい。今、彼らはPythonの部分になります。 configure.acでAM_PYTHON_PATHを含むことで、私はまた、このような
autopy_PYTHON=autopy/__init__.py autopy/noindent.py autopy/auto.py submoda_PYTHON=autopy/submoda/moda.py autopy/submoda/modb.py autopy/submoda/modc.py autopy/submoda/__init__.py submodb_PYTHON=autopy/submodb/moda.py autopy/submodb/modb.py autopy/submodb/modc.py autopy/submodb/__init__.py
autopydir=$(pythondir)/autopy submodadir=$(pythondir)/submoda submodbdir=$(pythondir)/submodb
dist_bin_SCRIPTS=scripts/script1 scripts/script2 scripts/script3
としてMakefile.amファイルでのpythonモジュールをインストールしていますこれは私のすべてのモジュールを配置するようで、 Pythonモジュールをインストールする方法は、distutils経由のsetup.pyスクリプトを使用しているように思えるので、これが正しいかどうか疑問に思います。私はpythonモジュールの中にsetup.pyスクリプトを持っていますが、scotはautotoolsを使用するまでそれらを呼び出していました。 1つの方法が他の方法よりも優先されますか? autotoolsでビルドするときに私はまだsetup.pyを使用するべきですか?私は、人々が通常、autotoolsを使ってC++ とのpythonモジュールでビルドを解決する方法を理解したいと思います。他にも多くのautotoolsに関する質問がありますが、後でそれらを保存します。
Autotoolsはひどいです。私は始めることすらできません...ここに例があります:http://voices.canonical.com/jussi.pakkanen/2011/09/13/autotools/ – Zulan
ハ。はい、私はすでにそれを読んでいます。先週、私はたくさんの意見を読んだ。これまで私はautotoolsを嫌うことはありませんが(少なくとも髪を引っ張って数日後)、私は現在のスコーンの実装が嫌いです。 – jonthalpy
cmakeの使用を検討しましたか?私はこれが反対であると言っているわけではない、正直にもcmakeについて好きではないものがある。しかし、私の経験では、cmakeはautotoolsよりも痛みが少なく、ほとんどの場合うまく動作します。問題がある場合は役立つ情報を見つけるのが難しくありません。私は間違いなくautotoolsのためにこれを言うことはできません。 –