問題タブ [autotools]
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.
c++ - GNU autotools の推奨バージョンは何ですか?
サポートするすべてのプラットフォームで共通のソフトウェア セットを使用できるように、RPM ベースのソフトウェア ディストリビューションを維持しています。その結果、多くのサードパーティ製ソフトウェアをビルドする必要があり、Solaris または別のプラットフォームでビルドするために autoconf/automake/libtoolize/etc を実行する必要がある状況が頻繁に見つかります。
私はこれで非常に複雑な結果を得ました。これらのツールはかなり壊れやすいようで、多くの場合、ファイルは元々書かれたバージョンの autoconf/automake/etc でしか動作しません。
理想的には、GNU autotools の 1 つのバージョンのみをサポートする必要があることを望んでいますが、最終的にはすべてのバージョンのコピーをあちこちに置く必要があるという印象を受けます。
これは珍しいことですか、それとも他の人も同じ問題を抱えていますか? すべてのケースをカバーする autotools のバージョンのサブセットはありますか?
linux - faac のブートストラップ スクリプトを実行しようとしていますが、エラーが発生しています
faac をインストールしようとしていますが、エラーが発生しています。ビルドしようとしたときに発生するエラーは次のとおりです。
これが何を意味するか知っている人はいますか?これについては何も見つけることができなかったので、皆さんに質問することにしました。ご協力ありがとうございました。
編集: Linux、libtool、automake、および autoconf の私のバージョンは次のとおりです。
unit-testing - GNU autotools を使用して「make check」のテストを作成するにはどうすればよいですか
特定のプロジェクトのビルド システムに GNU autotools を使用しています。検証用の自動テストの作成を開始したいと考えています。これらを自動的に実行するには、「make check」と入力するだけです。私のプロジェクトは C++ で書かれていますが、他の言語用の自動テストを書くことにもまだ興味があります。
これは、ほとんどすべての単体テスト フレームワークと互換性がありますか (cppunit を使用することを考えていました)。これらの単体テスト フレームワークを make check にフックするにはどうすればよいですか? プロジェクトの残りの部分を構成およびビルドできるようにするために、単体テスト ソフトウェアをインストールする必要がないことを確認できますか?
unix - シェルスクリプトの比較でx$VAR = xyesがよく使用されるのはなぜですか?
これは、autotools(autoconf、automake)を使用するプロジェクトのビルドスクリプトでよく見られます。誰かがシェル変数の値をチェックしたいとき、彼らは頻繁にこのイディオムを使用します:
単に次のように値をチェックするよりも、これの利点は何ですか。
私はこれを頻繁に見る理由があるに違いないと思いますが、それが何であるかを理解することはできません。
c++ - maven2 を使用して autotools ベースの C/C++ パッケージをビルドする
私は、MATLAB、Java、および C/C++ コンポーネントのコレクションに取り組んでいます。これらはすべて相互運用されますが、コンパイル/インストール手順が明らかに異なります。現在、MATLAB 用には何もコンパイルせず、Java のビルドと単体テストには maven2 を使用し、C/C++ のビルドと単体テストには autotools を使用しています。
maven2 を使用して、すべてを単一のビルドおよび単体テスト システムに移行したいと考えていますが、C/C++ コードストリームを autotools ベースのままにし、maven ビルドにラップするだけのプラグインを見つけることができませんでした。autotools のサポートを取り除き、maven ですべての依存関係を再作成する必要があることは、契約を破る可能性が最も高いため、maven と autotools のどちらかを選択するのではなく、うまく連携させる方法を探しています。
これは可能ですか、それとも望ましいですか? 私が見落としているリソースはありますか?
c++ - Automake : Makefile.am の *_la_LDFLAGS の有効な値は何ですか?
Makefile.am の *_la_LDFLAGS の可能な値は何ですか?
この質問をするのは、次のことを希望するためです。
ただし、-releaseフラグを使用して得られるものは次のとおりです。
私もフラグなしで試してみましたが、
どうすればいいですか?どのフラグを使用すればよいですか?
前もって感謝します
shared-libraries - pkglib_LTLIBRARIES = test.la を使用して *.so のみをビルドする方法
autotools を使用して共有オブジェクトを構築しています。
pkglib_LTLIBRARIES
Makefile.am で使用すると、 libtest.la
ANDlibtest.so
が構築されます。
ビルド/インストールするだけですlibtest.so
。
これは可能ですか?
c++ - autotoolsを使用してPythonC拡張モジュールを構築する方法
Python拡張モジュールの構築に利用できるドキュメントのほとんどはdistutilsを使用していますが、代わりに適切なpythonautoconfおよびautomakeマクロを使用してこれを実現したいと思います。
まさにこれを行うオープンソースプロジェクトがあるかどうか知りたいのですが。私が見つけたもののほとんどは、setup.pyファイルに依存することになります。そのアプローチを使用することは機能しますが、残念ながら、モジュールのソースファイルに変更を加えるたびにソースツリー全体を再構築することになります。
c++ - Autotools : グローバル コンパイル フラグの設定方法
私はいくつかのソースディレクトリを持つプロジェクトを持っています:
それぞれの Makefile.am には次の内容が含まれています。
各ソースフォルダーでこれを繰り返さないようにするにはどうすればよいですか?
src/Makefile.am と configure.in を変更しようとしましたが、成功しませんでした。AC_PROG_CXX を使用してコンパイル フラグをグローバルに設定できると思いましたが、これらのマクロの使用方法に関するドキュメントがあまり見つかりません (そのようなドキュメントへのポインタはありますか?)。
前もって感謝します
64-bit - autotools はマルチプラットフォームの makefile を作成できますか
私が数年間開発してきたプラグイン プロジェクトがあり、プラグインは [プライマリ アプリケーション バージョン、サードパーティ ライブラリ バージョン、32 ビットと 64 ビット] のさまざまな組み合わせで動作します。autotools を使用して、プラグインのすべてのバージョンをビルドする単一のメイクファイルを作成する (クリーンな) 方法はありますか?
autotools のドキュメントをざっと読んでわかる限り、私が望むものに最も近いのは、プロジェクトの N 個の独立したコピーを作成し、それぞれに独自のメイクファイルを作成することです。これは、(a) コードの変更をすべての異なるコピーに継続的に伝達する必要があり、(b) プロジェクトを何度も複製すると多くの無駄なスペースがあるため、テストと開発には最適とは言えません。より良い方法はありますか?
編集:
私はしばらくの間、独自のソリューションを展開してきました。そこでは、派手なメイクファイルと、さまざまなサードパーティのライブラリ バージョンなどを追跡するためのいくつかの perl スクリプトがあります。そのため、他の非 autotools ソリューションに対してオープンです。他のビルド ツールについては、エンド ユーザーが非常に簡単にインストールできるようにしたいと考えています。また、ツールは、さまざまなサード パーティのライブラリやヘッダーを問題なく検索できるほどスマートである必要があります。私は主に Linux ソリューションを探していますが、Windows や Mac でも機能するソリューションがあればおまけになります。