問題タブ [automake]
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 - VERSION、PACKAGEなどの再定義を回避する方法
GNU autoconf / automakeビルドに関する質問は見たことがありませんが、少なくとも何人かがそれに精通していることを願っています。ここに行きます:
別のプロジェクト(ベンダー)を含むプロジェクト(myprojectと呼びます)があります。ベンダープロジェクトは、他の誰かによって維持されているスタンドアロンプロジェクトです。このようなプロジェクトを含めるのはかなり簡単ですが、この場合は小さな問題があります。各プロジェクトは独自のconfig.h
ファイルを生成し、各ファイルはPACKAGE、VERSIONなどの標準マクロを定義します。これは、ビルド中、ベンダーがビルド中ですが、次のようなエラーがたくさん発生します。
これらは、少なくとも当面は単なる警告ですが、私はそれらを取り除きたいと思います。私がグーグル検索で見つけた唯一の関連情報は、automakeメーリングリストのこのスレッドであり、それはあまり役に立ちません。他にもっと良いアイデアはありますか?
java - JNI と Java: ant 呼び出し make または make 呼び出し ant?
プラットフォーム固有の C/C++ コードから Java へのファイル システム変更通知を提供するために、JNI (Java Native Interface) の世界に初めて足を踏み入れようとしています。それは、私が見逃したこれを行うための素晴らしいライブラリを誰かが提案しない限りです。
JNI を初めて使用したので、インターフェイス側とライブラリ生成側に関する多くのドキュメントを見つけることができましたが、ネイティブ ライブラリの構築に関するドキュメントはあまり見つかりませんでした。
既存の Java ソースの ant に基づく既存のビルドがあるので、ライブラリを作成するために ant に make を呼び出させるべきか、または作成後に make に ant を呼び出させるのが最善かを解決しようとしています。図書館?
どちらのオプションも非常に優れているとは言えませんが、コードをコンパイルしてライブラリを直接生成するために ant にコンパイラを呼び出させるよりは優れているように思えます。
autoconf - GNU autoconf / automakeでヘルパースクリプトをどこに置くか?
私はGNUautoconf/ automakeで配布されるプロジェクトに取り組んでおり、awkスクリプトを呼び出す一連のbashスクリプトがあります。bashスクリプトを$PATHに入れたいのですが、awkスクリプトは入れません。これらをプロジェクトにどのように挿入すればよいですか?それらは他のバイナリと一緒に入れる必要がありますか?
また、インストール後にファイルの最終的な場所を特定する方法はありますか?/ usr / local/binが実行可能ファイルの最終的な場所であるとは限らないと思います...
unit-testing - KDevelop で automake ベースのプロジェクトにカスタム ビルド ステップを追加するにはどうすればよいですか?
私は最近、C++ と KDevelop を使用して個人的なコーディング プロジェクトに取り組み始めました。私はハッキングすることから始めましたが、先に進む前に適切な単体テスト スイートをセットアップした方が、長期的にはより良くなると思います。別のテスト ランナー実行可能ファイルをサブ プロジェクトとして作成しましたが、それに追加したテストは適切に機能しているように見えます。これまでのところ、成功。
ただし、明示的に実行するときだけでなく、ビルドするたびに単体テストを実行したいと思っています。これは、作成した混乱を便利なライブラリに分割する場合に特に当てはまります。それぞれのライブラリには、おそらく独自のテスト実行可能ファイルがあります。それらをすべて手動で実行するのではなく、ビルド プロセスの最終ステップとして実行したいと考えています。プロジェクト メニューと automake マネージャのオプションをすべて調べましたが、これを設定する方法がわかりません。
これは、makefile を手動で編集することでおそらく実行できると思います。残念ながら、私の makefile-fu は少し脆弱です。また、次に IDE で何かを変更したときに、手動で行った変更が KDevelop によって上書きされるのではないかと心配しています。したがって、KDevelop 自体を使用してこれを行う方法がある場合は、その方法を選択したいと思います。
ビルド プロセスの一部として KDevelop にテスト実行可能ファイルを実行させる方法を知っている人はいますか? ありがとうございました!
(私は KDevelop に 100% 縛られているわけではありません。KDevelop でこれができない場合、またはこれをはるかに簡単にする IDE があれば、私は確信して切り替えることができます。)
linux - automake でファイルごとのフラグを設定する
automake でファイルごとにフラグを設定する方法はありますか?
特に、c++ プロジェクトがあり、特定の警告を無効にしたいファイルを除くすべてのファイルを -WAll でコンパイルしたい場合、どうすればよいでしょうか?
私は次のようなものを試しました:
しかし、うまくいきませんでした。
編集済み: automake マニュアルへの参照を削除しましたが、これは実際には誤解を招くものでした (Douglas Leeder に感謝)。
c++ - Automake : Makefile.am の *_la_LDFLAGS の有効な値は何ですか?
Makefile.am の *_la_LDFLAGS の可能な値は何ですか?
この質問をするのは、次のことを希望するためです。
ただし、-releaseフラグを使用して得られるものは次のとおりです。
私もフラグなしで試してみましたが、
どうすればいいですか?どのフラグを使用すればよいですか?
前もって感謝します
c++ - Autotools : グローバル コンパイル フラグの設定方法
私はいくつかのソースディレクトリを持つプロジェクトを持っています:
それぞれの Makefile.am には次の内容が含まれています。
各ソースフォルダーでこれを繰り返さないようにするにはどうすればよいですか?
src/Makefile.am と configure.in を変更しようとしましたが、成功しませんでした。AC_PROG_CXX を使用してコンパイル フラグをグローバルに設定できると思いましたが、これらのマクロの使用方法に関するドキュメントがあまり見つかりません (そのようなドキュメントへのポインタはありますか?)。
前もって感謝します
cygwin - cygwin で slapd をコンパイルしようとすると、この automake エラーはどういう意味ですか?
cygwin で非常に古いバージョンの slapd (LDAP サーバー) をコンパイルしようとしています。これは以前は Linux ボックスで実行されていましたが、私の手に負えない理由により、Windows サーバーで動作するようにする必要があります。ソースコードのコンパイルに cygwin を使用することが提案されています。
残念ながら、「構成」中にビルドが失敗し、次のエラー メッセージが表示されます。
config.log の最後の数行は次のとおりです。
更新: これは win32 コンピューターです。cygwin には user32 という共有オブジェクトが含まれていませんが、Windows XP には user32.dll というオブジェクトが含まれています。
UPDATE2: w32api は既にインストールされています (3.13-1) - visual-stuido 2003 .Net の一部として user32.lib があることに注意してください - Cygwin の GCC でこれを使用する方法はありますか?
autotools - GNU Autotools 用に大きなプログラムを再構成する方法
C で書かれたかなり大きなプログラムがあります。これは複数のファイルにまたがっており、プラットフォームの問題を補うために少しツールを変更しています。具体的には、さまざまな OS、アーキテクチャ、および処理に使用するマクロを定義するコンパイラのヘッダー ファイルがあります。例として、-v
フラグは、それを構築したコンパイラの名前、構築されたオペレーティング システムとアーキテクチャを含むバージョン情報を出力します。これが重要な理由の例として、プログラムは C コード ファイルを作成し、必要に応じてそれをコンパイルできます。このタスクでは、ビルドに使用したコンパイラにシステム コールを実行するだけです。
また、GNU Readline ライブラリ (または BSD Editline ライブラリ - 同じもの) がシステムにある場合はサポートし、ない場合は純粋な ANSI であるすべての優れた Readline 機能を含まない同等のライブラリもサポートします。
肝心なのは、いくつかの機能は、使用している OS/アーキテクチャ/コンパイラにかなり大きく依存しているため、プラットフォームに依存する部分を取り除くことはできません。持っている人にもいい機能を提供したい。そして、標準./configure
のインターフェースでダウンロードしてインストールしてもらいたいのです。make
make install
configure
現在、Makefile をゼロから作成し、OS/アーキテクチャ/コンパイラに基づいてどのヘッダー ファイルを含めるかを決定する、申し訳ありませんが手作りのシェル スクリプトを使用しています。より効率的なアプローチが必要で、GNU Autotools を使用したより標準的なビルド システムを使用したいと考えています。そうすれば、私が行っていることは、他の人のコンピューターでテストしなくても、他の人のコンピューターで機能することがわかります。
私の質問は、そのすべてに苦労してきた人への質問です (ありがとう!)、1) 自作ビルドシステムから GNU Autotools に切り替えるにはどうすればよいですか? 2) GNU Autotools を使い始めるための優れたチュートリアルは何ですか? 3) どうすればこれを比較的簡単なプロセスにすることができますか?
c - GNU make %-style パターン ルールのポータブルな同等物
(現在の) 小さな C プロジェクトで単体テストのサポートを組み込むために、Autotools で Check を使用するページの指示に従っています。Checkの代わりにCgreenを使用していますが。
ステップ 9 で問題が発生しました。これにより automake は、GNU make 拡張である「%」スタイルのパターン ルールの使用について警告を発します。
特定の make 規則は次のとおりです。
gnu make 拡張機能に依存しない、このルールを指定する同等の方法があるかどうか疑問に思っています。