問題タブ [autoconf]
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.
autotools - Autotools を使用したプリコンパイル済みヘッダー
automake / libtool を使用するプロジェクトで gcc プリコンパイル済みヘッダーを使用することは可能ですか?
新しい make ルールを追加してプリコンパイル済みヘッダーを作成することは難しくありません。問題は、libtool によって導入されたコンパイル フラグも追加する必要があり、AFAIK ではヘッダー入力ファイルを処理できないことです。
どうやってそれができる?
autoconf - autoconf/automake を非標準パッケージに向ける方法
RedHat Linux ボックスで ZooKeeper をビルドしようとしています。(ZooKeeper が正確に何であるかは、おそらく重要ではありません :-)
パッケージの指示に従うと、次のようになります。
CPPPUNIT を標準の場所にインストールできません。(ルート権限を持たないでください。システム チームには、標準構成から「逸脱しない」というポリシーがあります。)
configure.ac ファイル内の Tへの参照をコメント アウトすることでこの問題を回避しました
AM_PATH_CPPUNI
が、実際にやりたいことは、自分の個人用ディレクトリに CPPPUNIT をインストールしてそれを指すことですが、あまり効果がありません。 autoconf/auotmake システムに非標準の場所を探すように指示する方法を考え出す作業が進んでいます。それを行う方法についてのヒントはありますか?
autotools - libtool は「make distclean」によって削除されました
libtool をプログラムのソース ツリーにコピーして、プログラムと共に配布しました。しかし、「make distclean」を実行すると、libtool は生成された残りのファイルとともに削除されます。どうすればそれが起こらないようにできますか?
Makefile.amを入れてみEXTRA_DIST = libtool
ましたが、うまくいきません。
基本的に、configure.ac は次のようになります。
variables - 構成から完全に展開された変数を取得する方法は?
次のような configure.ac ファイルを作成しました。
これの目的は、configure スクリプトが を使用して作成する使用可能なすべての環境変数を出力することなset
ので、次のようにします。
次のような一連の変数を出力します
ここまでは順調ですね。問題は:
- のように変数を展開したいのです
${prefix}/share
が、すべてをファイルにパイプしexample.sh
て bash を使用して実行することはできUID
ません。 - 拡張が機能するこのためにa を使用しようとしました
makefile
が、上記の出力の行のように、文字列の改行について不平を言いますIFS=' causes an error message Makefile:24: *** missing separator. Stop.
configureの出力の完全に拡張されたバージョンを取得する方法を知っている人はいますか?
c - Autoconfの問題:「エラー:Cコンパイラは実行可能ファイルを作成できません」
GNU autotoolsを使用してCで作成したプログラムを作成しようとしていますが、configure
実行すると吐き出されるため、設定が間違っているようです。
調べてみるとconfig.log
、次のようになります。
何らかの理由で、autoconfは無効なテストファイルを生成しています:セミコロンとして表示されるその行には何が必要ですか?ビルドはUbuntu9.04とMacOSX 10.6でも同じように失敗するので、これは間違いなく私のせいであり、環境のせいではありません。
c - Tint2 コンパイル
root アクセス権のないネットワーク上にいるため、インストールするものはすべてプレフィックス ~/bin の下にあります (実際にはフル パスで参照されます)。だから私はこれを送信するために使用しているものです。Imlib2 です./configure --prefix=~/bin; make; make install
。次に、tint2 ソース ディレクトリから実行します。
この魅力的なメッセージを私に残します
編集:
そのため、Imlib2 は --with-x でコンパイルされ、参照している場所にインストールされます。同じエラー メッセージが引き続き表示されます。
autoconf - ライブラリを検索する構成スクリプトを取得する方法
結果のconfigureスクリプトが、libsomething.aなどの特定の静的ライブラリを含むライブラリディレクトリを検索するように、configure.acファイルを作成しようとしています。これどうやってするの?現時点では、次のように1つの場所だけをチェックしています:
しかし、私はそれを自動的に見つけようとします。また、ライブラリがデフォルトの場所のいずれにもない場合は、ライブラリが見つからず、通常のように --use-something=path でカスタムの場所を指定できるように構成したいと思います。そのため、 --use-something=path が提供されているかどうかも確認する必要があります。私は構成ファイルを作成するのはかなり新しいもので、M4 のドキュメントは簡単に理解できるものではないので、助けていただければ幸いです。
ありがとう!
autotools - Makefile.am からビルド済みの Makefile を実行するにはどうすればよいですか?
Makefile.am からビルド済みの Makefile を実行するにはどうすればよいですか?
automake/autoconf ビルド システムは初めてです。私が autotools を実装しているパッケージには、それぞれにいくつかのライブラリとテスト実行可能ファイルがあります。一部のライブラリは自動生成された ASN1C コードで、ビルド済みの makefile が付属しています。Makefile.am 内で「ビルド済みの makefile を使用して ASN1C ライブラリをビルドする」と言う最善の方法がわかりません。
このようなものでグーグルを検索しようとするのは、メイクファイルのドキュメントが豊富にあるため、少し難しいです.
ありがとう、チェンツ
autotools - C/C++ プロジェクトでライブラリの依存関係を自動検出する最良の方法は何ですか?
C/C++ プロジェクトでライブラリの依存関係を自動検出する最良の方法は何ですか?
マシンにすべての依存関係があるプロジェクトがあります。ビルドして実行します。今、私は autotools ビルドシステムをまとめたいと思っています。使用されるヘッダー ファイルやリンクに必要なライブラリなど、必要なすべての依存関係を自動検出する良い方法を探しています。
ライブラリビットは、私が理解するのが最も難しいようです。リストなどのすべての関数に対して AC_CHECK_LIB コマンドを生成できるようにしたいと思います。おそらく Perl でこれを行うことができますが、既に他の場所に存在することを想像する必要があります。
私が知っているのは、objdump と nm でシンボルを表示できること、関数が属するライブラリをこれらのユーティリティで見つけることができること、そして configure.ac に手動で AC_CHECK_LIB コマンドを入力してチェックできることです。この時点で、自動化は素晴らしいものになるでしょう。
ありがとう、チェンツ
solaris - Solaris ネットワーク ライブラリで autoconf リンクを作成する正規の方法は何ですか?
Solaris では、ソケットを使用するプログラムをコンパイルするときに、それを とリンクする必要があります-lnsl -lsocket
。そのようなプログラムの多くは、もともと Linux (追加のライブラリは必要ありません) 用に作成されたものであり、構成スクリプトでこれらのライブラリをチェックしていません。このようなもの(テストされていません):
このチェックを行う標準的な方法はありますか? たぶん autoconf ディストリビューションに含まれていますか? その必要性がかなり広まっていることは想像できるでしょうが、Google は教えてくれません。