Previous: Test Functions, Up: Writing Test Programs [Contents][Index]
Autoconf¤Ï¡¤¥Æ¥¹¥È¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤òÀ¸À®¤¹¤ë¤¿¤á¤Ë»ÈÍѤ¹¤ë¤³¤È¤¬²Äǽ¤Ê¥Þ¥¯ ¥í¤ÎÁȤߤòÄ󶡤·¤Æ¤¤¤Þ¤¹¡¥¤½¤ì¤é¤Ï¡¤°ìÈÌŪ¤Ê¸À¸ì¤Ç½ñ¤«¤ì¤Æ¤¤¤Æ¡¤¤¹¤Ê¤ï¤Á¡¤ ¤½¤ì¤é¤Ï¼ÂºÝ¤Ë¸½ºß¤Î¸À¸ì(see Language Choice)¤Ë°Í¸¤·¤ÆÅ¬ÀڤʽÐÎÏ “¥Õ¥©¡¼¥Þ¥Ã¥È”¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡¥
¸½ºß¤Î¥Æ¥¹¥È¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Ësource¤Î¥Æ¥¥¹¥È¤òÊݸ¤·¤Þ¤¹¡¥ conftest.extension¤Îextension¤Ï¸½ºß¤Î¸À¸ì¤Ë°Í¸¤·¤Þ¤¹¡¥
Ä̾ï¤ÎAutoconf¥Þ¥¯¥í°ú¿ô¤Î¤è¤¦¤Ë¡¤source¤Ï°ìÅÙ¤À¤±É¾²Á¤µ¤ì¡¤¤½¤Î¤¿ ¤á¡¤(i)¥Þ¥¯¥í¸Æ¤Ó½Ð¤·¤ËÅϤ·¤Æ¤â¤«¤Þ¤ï¤º¡¤(ii)¤½¤¦¤Ç¤Ê¤±¤ì¤Ð¡¤É¬Íפ¬¤¢¤ì ¤ÐÆó½Å¤Ë°úÍÑÉä¤Ç°Ï¤àɬÍפ¬¤¢¤ë¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡¥
¤¹¤Ù¤Æ¤Î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";
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; }
prologue¤ÎÆâÍÆ¤È¡¤function¤Î¸Æ¤Ó½Ð¤·¤òmain´Ø¿ô(Î㤨¤ÐC¤Î
main
)¤ÎËÜÂΤȤ·¤Æ¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ËŸ³«¤·¤Þ¤¹¡¥¤½¤ì¤Ï
AC_LANG_SOURCE
¤ò»ÈÍѤ¹¤ë¤Î¤Ç¡¤¸å¼Ô¤Îµ¡Ç½¤ÏÍøÍѲÄǽ¤Ç¤¹¡¥
¤³¤Î´Ø¿ô¤Ï¡¤¤ª¤½¤é¤¯¾Íè¤Î°ú¿ô»ØÄê¤¬ÍøÍѲÄǽ¤Ê¥Ð¡¼¥¸¥ç¥ó¤ÇÃÖ´¹¤µ¤ì¤Þ¤¹¡¥ ¤³¤Î¥Þ¥¯¥í¤ÏÆÃÄê¤Î¥·¥¹¥Æ¥à¤ò¤Ò¤É¤¯¿¯³²¤¹¤ë¤Î¤Ç¡¤¤½¤Î»ÈÍѤϿ侩¤·¤Þ¤»¤ó¡¥
main´Ø¿ô(Î㤨¤ÐC¤Ç¤Ïmain
)¤ÎËÜÂΤȤ·¤Æ¡¤µ¶¤Îfunction¤ò»ÈÍѤ·
¤Æ¤¤¤ëÆâÍÆ¤ò¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ËŸ³«¤·¤Þ¤¹¡¥Ã±½ã¤Ê(´Ø¿ô¥Ý¥¤¥ó¥¿¤Î)³äÅö¤Ç¤¹¡¥
¤½¤ì¤ÏAC_LANG_SOURCE
¤ò»ÈÍѤ¹¤ë¤Î¤Ç¡¤¸å¼Ô¤Îµ¡Ç½¤ÏÍøÍѲÄǽ¤Ç¤¹¡¥
AC_LANG_CALL
¤¬¤¢¤ë¤Î¤Ç¡¤¤³¤Î¥Þ¥¯¥í¤Ï¡¤Êä´°¤Î°ÕÌ£¤ÇÀâÌÀ¤·¤Æ¤¤¤Þ¤¹¡¥
¤Ò¤É¤¯²õ¤ì¤Æ¤¤¤Æ¡¤(ŬÀڤʷ¿¤Î°ú¿ô¤òÍѤ¤¤¿)¼ÂºÝ¤Î´Ø¿ô¤Î¸Æ¤Ó½Ð¤·¤Ë¾Íè¤ÏÊÑ
¹¹¤·¤è¤¦¤È¹Í¤¨¤Æ¤¤¤Þ¤¹¡¥