2016-10-27 4 views
0

特定のバージョンのプロジェクトをビルドするように構成するバージョンを作成したいとします。autotoolsでオプションのバージョンのconfigureを有効にするには?

基本的に私は、コンパイラフラグ-Dfooと、いくつかの異なるコンパイラオプションでビルドするコマンドラインオプション に./configure --enable-FOO を取るのconfigureを作成したいです。

どうすればいいですか?

+1

これは、これを行う方法の概要です。https://autotools.io/autoconf/arguments.html – ptomato

答えて

1

ここでは、2つの異なる質問をしています。まず、--enable引数をconfigureに追加する方法。第二に、この議論を特定の方法でビルドに与える方法。

引数を追加するには、AC_ARG_ENABLEを使用します。これは、機能の名前、ヘルプ文字列、およびいくつかのオプションのアクションを取ります。したがって、たとえば:

AC_ARG_ENABLE(something, [enable the something feature]) 

(。現実には、あなたがここにヘルプ文字列を構築するためにAS_HELP_STRINGを使用する必要があります)

これはconfigure--enable-something--disable-somethingを追加します。重要なことは、ユーザーが何をしたかを確認するために使用できる新しいenable_something変数を追加することです。

Cコンパイラに渡されるマクロの定義は、AC_DEFINEで行われます。だから、新しい変数をチェックして、あなたが望むものを達成することができます

if test "$enable_something" = yes; then 
    AC_DEFINE([SOMETHING], [1], [define to enable the something feature]) 
fi 

これは-DSOMETHING=1は、コンパイルに渡すことになります。またはconfig.h#define SOMETHING 1を送信します。

関連する問題