autoconfはconfig.h
、、、、、、などの文字列マクロを提供するPACKAGE
を提供PACKAGE_NAME
します。PACKAGE_STRING
PACKAGE_VERSION
VERSION
(Argp引数パーサーを使用する場合、単に使用します
#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
#include <argp.h>
const char *argp_program_version = PACKAGE_STRING;
const char *argp_program_bug_address = PACKAGE_BUGREPORT;
/* et cetera */
int main(int argc, char **argv) {
error_t argp_result = argp_parse(&argp, argc, argv, 0, 0, NULL);
if (argp_result) return argp_result;
/* et cetera */
}
その後、、--help
など--version
が自動的に機能します。)
追加することもできます
AC_CANONICAL_HOST
AC_DEFINE_UNQUOTED([CHOST], ["$host"], [Canonical host])
AC_CANONICAL_BUILD
AC_DEFINE_UNQUOTED([CBUILD], ["$build"], [Canonical build])
AC_CANONICAL_TARGET
AC_DEFINE_UNQUOTED([CTARGET], ["$target"], [Canonical target])
あなたがあなたconfigure.ac
にもそれらの文字列マクロを持ちたいのなら、あなたにconfig.h
。これらは通常、形式の文字列です$arch-$vendor-$kernel-$libc
。ここで、はソフトウェアのビルド後にソフトウェア
CHOST
を実行
CBUILD
するプラットフォーム、は現在ソフトウェアをビルドして
CTARGET
いるプラットフォーム、はソフトウェアが動作するプラットフォームです。
(クロスコンパイルまたはクロスコンパイルツールチェーンを構築しない限り、これらはすべて同じです。)