Previous: Test Functions, Up: Writing Test Programs   [Contents][Index]


6.2.3 ¥½¡¼¥¹¤ÎÀ¸À®

Autoconf¤Ï¡¤¥Æ¥¹¥È¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤òÀ¸À®¤¹¤ë¤¿¤á¤Ë»ÈÍѤ¹¤ë¤³¤È¤¬²Äǽ¤Ê¥Þ¥¯ ¥í¤ÎÁȤߤòÄ󶡤·¤Æ¤¤¤Þ¤¹¡¥¤½¤ì¤é¤Ï¡¤°ìÈÌŪ¤Ê¸À¸ì¤Ç½ñ¤«¤ì¤Æ¤¤¤Æ¡¤¤¹¤Ê¤ï¤Á¡¤ ¤½¤ì¤é¤Ï¼ÂºÝ¤Ë¸½ºß¤Î¸À¸ì(see Language Choice)¤Ë°Í¸¤·¤ÆÅ¬ÀڤʽÐÎÏ “¥Õ¥©¡¼¥Þ¥Ã¥È”¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡¥

Macro: AC_LANG_CONFTEST (source)

¸½ºß¤Î¥Æ¥¹¥È¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Ësource¤Î¥Æ¥­¥¹¥È¤òÊݸ¤·¤Þ¤¹¡¥ conftest.extension¤Îextension¤Ï¸½ºß¤Î¸À¸ì¤Ë°Í¸¤·¤Þ¤¹¡¥

Ä̾ï¤ÎAutoconf¥Þ¥¯¥í°ú¿ô¤Î¤è¤¦¤Ë¡¤source¤Ï°ìÅÙ¤À¤±É¾²Á¤µ¤ì¡¤¤½¤Î¤¿ ¤á¡¤(i)¥Þ¥¯¥í¸Æ¤Ó½Ð¤·¤ËÅϤ·¤Æ¤â¤«¤Þ¤ï¤º¡¤(ii)¤½¤¦¤Ç¤Ê¤±¤ì¤Ð¡¤É¬Íפ¬¤¢¤ì ¤ÐÆó½Å¤Ë°úÍÑÉä¤Ç°Ï¤àɬÍפ¬¤¢¤ë¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡¥

Macro: AC_LANG_SOURCE (source)

¤¹¤Ù¤Æ¤ÎAC_DEFINE¤Ç¼Â¹Ô¤µ¤ì¤ë¤³¤ì¤Þ¤Ç¤ÎÄêµÁ¤òÍѤ¤¤Æ¡¤source ¤ËŸ³«¤·¤Þ¤¹¡¥

Î㤨¤Ð¡¤°Ê²¼¤ò¼Â¹Ô¤·¤Þ¤¹(Æó½Å¤Î°úÍÑÉä¤ò¼é¤Ã¤Æ¤¯¤À¤µ¤¤¡ª)¡¥

AC_INIT(Autoconf Documentation, 2.59, bug-autoconf@gnu.org)
AC_DEFINE([HELLO_WORLD], ["Hello, World\n"])
AC_LANG_CONFTEST(
   [AC_LANG_SOURCE([[const char hw[] = "Hello, World\n";]])])
gcc -E -dD conftest.c -o -

·ë²Ì¤Ï°Ê²¼¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡¥


#define PACKAGE_NAME "Autoconf Documentation"
#define PACKAGE_TARNAME "autoconf-documentation"
#define PACKAGE_VERSION "2.59"
#define PACKAGE_STRING "Autoconf Documentation 2.59"
#define PACKAGE_BUGREPORT "bug-autoconf@gnu.org"
#define HELLO_WORLD "Hello, World\n"

const char hw[] = "Hello, World\n";
Macro: AC_LANG_PROGRAM (prologue, body)

prologue¤ÎÆâÍÆ¤È¡¤body¤òmain´Ø¿ô(Î㤨¤ÐC¤Îmain)¤È¤·¤Æ ¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ËŸ³«¤·¤Þ¤¹¡¥¤½¤ì¤ÏAC_LANG_SOURCE¤ò»ÈÍѤ¹¤ë¤Î¤Ç¡¤ ¸å¼Ô¤Îµ¡Ç½¤ÏÍøÍѲÄǽ¤Ç¤¹¡¥

Î㤨¤Ð°Ê²¼¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡¥

AC_INIT(Autoconf Documentation, 2.59, bug-autoconf@gnu.org)
AC_DEFINE([HELLO_WORLD], ["Hello, World\n"])
AC_LANG_CONFTEST(
[AC_LANG_PROGRAM([[const char hw[] = "Hello, World\n";]],
                 [[fputs (hw, stdout);]])])
gcc -E -dD conftest.c -o -

·ë²Ì¤Ï°Ê²¼¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡¥


#define PACKAGE_NAME "Autoconf Documentation"
#define PACKAGE_TARNAME "autoconf-documentation"
#define PACKAGE_VERSION "2.59"
#define PACKAGE_STRING "Autoconf Documentation 2.59"
#define PACKAGE_BUGREPORT "bug-autoconf@gnu.org"
#define HELLO_WORLD "Hello, World\n"

const char hw[] = "Hello, World\n";
int
main ()
{
fputs (hw, stdout);
  ;
  return 0;
}
Macro: AC_LANG_CALL (prologue, function)

prologue¤ÎÆâÍÆ¤È¡¤function¤Î¸Æ¤Ó½Ð¤·¤òmain´Ø¿ô(Î㤨¤ÐC¤Î main)¤ÎËÜÂΤȤ·¤Æ¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ËŸ³«¤·¤Þ¤¹¡¥¤½¤ì¤Ï AC_LANG_SOURCE¤ò»ÈÍѤ¹¤ë¤Î¤Ç¡¤¸å¼Ô¤Îµ¡Ç½¤ÏÍøÍѲÄǽ¤Ç¤¹¡¥

¤³¤Î´Ø¿ô¤Ï¡¤¤ª¤½¤é¤¯¾­Íè¤Î°ú¿ô»ØÄê¤¬ÍøÍѲÄǽ¤Ê¥Ð¡¼¥¸¥ç¥ó¤ÇÃÖ´¹¤µ¤ì¤Þ¤¹¡¥ ¤³¤Î¥Þ¥¯¥í¤ÏÆÃÄê¤Î¥·¥¹¥Æ¥à¤ò¤Ò¤É¤¯¿¯³²¤¹¤ë¤Î¤Ç¡¤¤½¤Î»ÈÍѤϿ侩¤·¤Þ¤»¤ó¡¥

Macro: AC_LANG_FUNC_LINK_TRY (function)

main´Ø¿ô(Î㤨¤ÐC¤Ç¤Ïmain)¤ÎËÜÂΤȤ·¤Æ¡¤µ¶¤Îfunction¤ò»ÈÍѤ· ¤Æ¤¤¤ëÆâÍÆ¤ò¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ËŸ³«¤·¤Þ¤¹¡¥Ã±½ã¤Ê(´Ø¿ô¥Ý¥¤¥ó¥¿¤Î)³äÅö¤Ç¤¹¡¥ ¤½¤ì¤ÏAC_LANG_SOURCE¤ò»ÈÍѤ¹¤ë¤Î¤Ç¡¤¸å¼Ô¤Îµ¡Ç½¤ÏÍøÍѲÄǽ¤Ç¤¹¡¥

AC_LANG_CALL¤¬¤¢¤ë¤Î¤Ç¡¤¤³¤Î¥Þ¥¯¥í¤Ï¡¤Êä´°¤Î°ÕÌ£¤ÇÀâÌÀ¤·¤Æ¤¤¤Þ¤¹¡¥ ¤Ò¤É¤¯²õ¤ì¤Æ¤¤¤Æ¡¤(ŬÀڤʷ¿¤Î°ú¿ô¤òÍѤ¤¤¿)¼ÂºÝ¤Î´Ø¿ô¤Î¸Æ¤Ó½Ð¤·¤Ë¾­Íè¤ÏÊÑ ¹¹¤·¤è¤¦¤È¹Í¤¨¤Æ¤¤¤Þ¤¹¡¥