Previous: Particular Functions, Up: Library Functions   [Contents][Index]


5.5.3 °ìÈ̤δؿô¤ÎÄ´ºº

¤³¤ì¤é¤Î¥Þ¥¯¥í¤Ï¡¤“ÆÃÄê¤Î”¥Æ¥¹¥È¥Þ¥¯¥í¤Ë¤è¤Ã¤Æ¥«¥Ð¡¼¤Æ¤¤¤Ê¤¤´Ø¿ô¤ò¸«¤Ä ¤±¤ë¤¿¤á¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡¥´Ø¿ô¤¬¡¤¥Ç¥Õ¥©¥ë¥È¤ÎC¥é¥¤¥Ö¥é¥ê°Ê³°¤Î¥é¥¤¥Ö¥é¥ê ¤Ë¤¢¤ë¾ì¹ç¡¤ºÇ½é¤Ë¤½¤ì¤é¤Î¥é¥¤¥Ö¥é¥ê¤ËÂФ·¤ÆAC_CHECK_LIB¤ò¸Æ¤Ó½Ð ¤·¤Æ¤¯¤À¤µ¤¤¡¥Â¸ºß¤Î³Îǧ¤À¤±¤Ç¤Ê¤¯Æ°ºî¤âÄ´ºº¤·¤¿¤¤¾ì¹ç¡¤ÆÈ¼«¤Î¥Æ¥¹¥È¤ò½ñ ¤¯É¬Íפ¬¤¢¤ê¤Þ¤¹(see Writing Tests)¡¥

Macro: AC_CHECK_FUNC (function, [action-if-found], [action-if-not-found])

C¤Î´Ø¿ôfunction¤¬ÍøÍѲÄǽ¤Ê¾ì¹ç¡¤¥·¥§¥ë¥³¥Þ¥ó¥É action-if-found¤ò¡¤¤½¤ì°Ê³°¤Ç¤Ïaction-if-not-found¤ò¼Â¹Ô¤·¤Þ ¤¹¡¥´Ø¿ô¤¬ÍøÍѲÄǽ¤Ê¾ì¹ç¤Ë¥·¥ó¥Ü¥ë¤òÄêµÁ¤·¤¿¤¤¤À¤±¤Ê¤é¤Ð¡¤Âå¤ï¤ê¤Ë AC_CHECK_FUNCS¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡¥¤³¤Î¥Þ¥¯¥í¤Ï¡¤ C¤Î¤Û¤¦¤¬C++¤è¤ê ɸ½à²½¤µ¤ì¤Æ¤¤¤ë¤Î¤Ç¡¤AC_LANG_CPLUSPLUS¤¬¸Æ¤Ó½Ð¤µ¤ì¤¿¾ì¹ç¤Ç¤â¡¤C ¤Ë¥ê¥ó¥¯¤µ¤ì¤ë´Ø¿ô¤òÄ´ºº¤·¤Þ¤¹¡¥(¸À¸ì¤ÎÁªÂò¤ÎÄ´ºº¤Ä¤¤¤Æ¤Î¾ÜºÙ¤Ï¡¤ see Language Choice¡¥)

Macro: AC_CHECK_FUNCS (function…, [action-if-found], [action-if-not-found])

¶õÇò¤Ç¶èÀÚ¤é¤ì¤¿°ú¿ô¤Î¥ê¥¹¥È¤ÇÍ¿¤¨¤é¤ì¤Æ¤¤¤ë¤½¤ì¤¾¤ì¤Îfunction¤ËÂÐ ¤·¡¤ÍøÍѲÄǽ¤Ê¾ì¹ç¤ÏHAVE_function¤ò(Á´¤ÆÂçʸ»ú¤Ç)ÄêµÁ¤·¤Þ¤¹¡¥ action-if-found¤¬Í¿¤¨¤é¤ì¤Æ¤¤¤ë¾ì¹ç¡¤´Ø¿ô¤Î°ì¤Ä¤¬¸«¤Ä¤«¤Ã¤¿¤È¤­¼Â ¹Ô¤¹¤ë¡¤ÄɲäΥ·¥§¥ë¥³¡¼¥É¤Ë¤Ê¤ê¤Þ¤¹¡¥ºÇ½é¤Ë°ìÃפ·¤¿¥ë¡¼¥×¤Ç¥Ö¥ì¥¤¥¯¤¹¤ë ¤¿¤á¤Ë¤Ï¡¤‘break’¤òÍ¿¤¨¤ë¤³¤È¤Ç²Äǽ¤Ë¤Ê¤ê¤Þ¤¹¡¥ action-if-not-found¤¬Í¿¤¨¤é¤ì¤Æ¤¤¤ë¾ì¹ç¡¤¤½¤ì¤Ï´Ø¿ô¤¬°ì¤Ä¤Ç¤â¸«¤Ä ¤«¤é¤Ê¤¤¤È¤­¤Ë¼Â¹Ô¤µ¤ì¤Þ¤¹¡¥


Autoconf¤Ï¡¤°Ü¿¢À­¤Ë¤Ä¤¤¤Æ¶ì¿´¤·¤Æ¤­¤¿¿Í¡¹¤Ë¤è¤Ã¤Æ¡¤²¿Ç¯¤â¤«¤±¤Æ·Áºî¤é¤ì ¤Æ¤­¤¿Å¯³Ø¤Ë½¾¤¤¤Þ¤¹¡¥ÆÃÄê¤Î¥Õ¥¡¥¤¥ë¤Î°Ü¿¢À­¤ÎÌäÂê¤È¡¤POSIX´Ä ¶­¤Ë¤¤¤ë¤«¤Î¤è¤¦¤ÊÌäÂê¤È¤ÏÊÌʪ¤Ç¤¹¡¥´Ø¿ô¤Ë¤è¤Ã¤Æ¤Ï¡¤Ìµ¤¤¤â¤Î¤¬¤¢¤Ã¤¿¤ê½¤ ÀµÉÔ²Äǽ¤À¤Ã¤¿¤ê¤¹¤ë¤â¤Î¤â¤¢¤ê¡¤¥Ñ¥Ã¥±¡¼¥¸¤Ç¤Ï¤½¤ì¤é¤òÃÖ¤­´¹¤¨¤ë½àÈ÷¤¬É¬ Íפˤʤê¤Þ¤¹¡¥

Macro: AC_LIBOBJ (function)

̵¤«¤Ã¤¿¤ê²õ¤ì¤¿¤ê¤·¤Æ¤¤¤ëfunction¤Î¼ÂÁõ¤òÃÖ´¹¤¹¤ë¤¿¤á¤Ë¡¤¼Â¹Ô·Á¼° ¤Ë´Þ¤á¤ëɬÍפ¬¤¢¤ë‘function.c’¤ò»ØÄꤷ¤Þ¤¹¡¥

µ»½ÑŪ¤Ë¤Ï¡¤¤½¤ì¤Ï‘function.$ac_objext’¤ò¡¤¤½¤ì¤¬¤Þ¤À̵¤¤¾ì¹ç ¤Ï½ÐÎÏÊÑ¿ôLIBOBJS¤ËÄɲä·¡¤‘function.c’¤ËÂФ· AC_LIBSOURCE¤ò¸Æ¤Ó½Ð¤·¤Þ¤¹¡¥LIBOBJS¤ÏÄÉÀ×ÉÔ²Äǽ¤Ê¤Î¤Ç¡¤Ä¾ ÀÜLIBOBJS¤òÊѹ¹¤¹¤Ù¤­¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡¥

Macro: AC_LIBSOURCE (file)

¥×¥í¥¸¥§¥¯¥È¤ò¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¤¿¤á¤ËɬÍפˤʤëfile¤ò»ØÄꤷ¤Þ¤¹¡¥ configure.ac¤ÇɬÍפˤʤë¥Õ¥¡¥¤¥ë¤òÃΤëɬÍפ¬¤¢¤ë¾ì¹ç¡¤ AC_LIBSOURCE¤òÄÉÀ×Ä´ºº¤·¤Æ¤¯¤À¤µ¤¤¡¥file¤Ï¥ê¥Æ¥é¥ë¤Ë¤¹¤ëɬ Íפ¬¤¢¤ê¤Þ¤¹¡¥

¤³¤Î¥Þ¥¯¥í¤Ï¡¤¼«Æ°Åª¤ËAC_LIBOBJ¤«¤é¸Æ¤Ó½Ð¤µ¤ì¤Þ¤¹¤¬¡¤¥·¥§¥ëÊÑ¿ô¤Ë AC_LIBOBJ¤òÅϤ¹¾ì¹ç¡¤ÌÀ¼¨Åª¤Ë»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡¥¤³¤Î¾ì¹ç¡¤¥·¥§ ¥ëÊÑ¿ô¤ÏÀÅŪ¤ÊÄÉÀ×Ä´ºº¤¬¤Ç¤­¤Ê¤¤¤Î¤Ç¡¤AC_LIBOBJ¤òÀ¸À®¤¹¤ë¤¿¤á¤Ëɬ Íפˤʤꤽ¤¦¤Ê¤¢¤é¤æ¤ë¥·¥§¥ëÊÑ¿ô¤ò¡¤AC_LIBSOURCE¤ËÅϤ¹É¬Íפ¬¤¢¤ê ¤Þ¤¹¡¥Î㤨¤Ð¡¤"foo"¤Þ¤¿¤Ï"bar"¤òÊÝ»ý¤·¤Æ¤¤¤ë AC_LIBOBJ¤ËÊÑ¿ô$foo_or_bar¤òÅϤ·¤¿¤¤¾ì¹ç¤Ï¡¤°Ê²¼¤Î¤è¤¦¤Ë¤¹ ¤Ù¤­¤Ç¤·¤ç¤¦¡¥

AC_LIBSOURCE(foo.c)
AC_LIBSOURCE(bar.c)
AC_LIBOBJ($foo_or_bar)

¤·¤«¤·¡¤¤³¤ì¤òÈò¤±¤ë°ìÈÌŪ¤ÊÊýË¡¤â¤¢¤ê¡¤¤½¤ì¤Ë¤Ïñ½ã¤Ë¥ê¥Æ¥é¥ë¤Î°ú¿ô¤Ç AC_LIBOBJ¤ò¸Æ¤Ó½Ð¤¹¤³¤È¤ò¿ä¾©¤·¤Þ¤¹¡¥

¤³¤Î¥Þ¥¯¥í¤Ï¡¤»þÂåÃÙ¤ì¤ÎAC_LIBOBJ_DECL¤ò¼ã´³°Û¤Ê¤ë°ÕÌ£¤ÇÃÖ´¹¤¹¤ë ¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡¥¸Å¤¤¥Þ¥¯¥í¤Ï¡¤¥Õ¥¡¥¤¥ë̾¤Ç¤Ï¤Ê¤¯´Ø¿ô̾¡¤Î㤨¤Ð foo¤ò°ú¿ô¤È¤·¤Æ¤È¤ê¤Þ¤¹¡¥

Macro: AC_LIBSOURCES (files)

AC_LIBSOURCE¤Ë»÷¤Æ¤¤¤Þ¤¹¤¬¡¤¥«¥ó¥Þ¤Çʬ¤±¤é¤ì¤Æ¤¤¤ëM4¥ê¥¹¥È¤Ë¡¤°ì ¤Ä°Ê¾å¤Îfiles¤ò¼õ¤±Æþ¤ì¤Þ¤¹¡¥¤³¤Î¤¿¤á¡¤¾åµ­¤ÎÎã¤Ï°Ê²¼¤Î¤è¤¦¤Ë½ñ¤­ ´¹¤¨¤é¤ì¤ë¤Ç¤·¤ç¤¦¡¥

AC_LIBSOURCES([foo.c, bar.c])
AC_LIBOBJ($foo_or_bar)
Macro: AC_CONFIG_LIBOBJ_DIR (directory)

AC_LIBOBJ¤ÇÃÖ´¹¤¹¤ë¥Õ¥¡¥¤¥ë¤¬directory¤Ç¸«¤Ä¤«¤ë¤è¤¦¤Ë¡¤¥½¡¼ ¥¹¥Ä¥ê¡¼¤Î¥È¥Ã¥×¥ì¥Ù¥ë¤«¤é»Ï¤Þ¤ëÁêÂХѥ¹¤ò»ØÄꤷ¤Þ¤¹¡¥ÃÖ´¹¥Ç¥£¥ì¥¯¥È¥ê¤Î ¥Ç¥Õ¥©¥ë¥È¤Ï¥È¥Ã¥×¥ì¥Ù¥ë¥Ç¥£¥ì¥¯¥È¥ê¤Î.¤Ç¡¤ºÇ¤â°ìÈÌŪ¤ÊÃÍ¤Ï lib¤Ç¡¤‘AC_CONFIG_LIBOBJ_DIR(lib)’¤ÇÂбþ¤·¤Þ¤¹¡¥

configure¤Ï°Ê²¼¤ÎÍýͳ¤Ç¡¤ÃÖ´¹¥Ç¥£¥ì¥¯¥È¥ê¤òÃΤëɬÍפ¬¤Ê¤¤¤«¤â ¤·¤ì¤Þ¤»¤ó¡¥(i)ÃÖ´¹¥Õ¥¡¥¤¥ë¤ò»ÈÍѤ¹¤ëÄ´ºº¤â¤¢¤ê¤Þ¤¹¡¥(ii)ÃÖ´¹¥Ø¥Ã¥À¤Î¥ê ¥ó¥¯¤òƳÆþ¤¹¤ë¤³¤È¤Ç¡¤²õ¤ì¤¿¥·¥¹¥Æ¥à¥Ø¥Ã¥À¤ò¥Ð¥¤¥Ñ¥¹¤¹¤ë¥Þ¥¯¥í¤â¤¢¤ê¤Þ¤¹¡¥ Åù¡¹¡¥


AC_LIBOBJ¤¬Ìµ¤¤¾ì¹ç¡¤Ã±¤Ë´Ø¿ô¤Î¸ºß¤òÄ´ºº¤·¡¤ÃÖ´¹¤¹¤ë¤«¤É¤¦¤«¿Ò¤Í ¤ë¤À¤±¤Î¤³¤È¤Ï°ìÈÌŪ¤Ç¤¹¡¥°Ê²¼¤Î¥Þ¥¯¥í¤Ï¡¤ÊØÍø¤Ç¼êû¤Ê¤â¤Î¤Ç¤¹¡¥

Macro: AC_REPLACE_FUNCS (function…)

AC_CHECK_FUNCS¤Ë»÷¤Æ¤¤¤Þ¤¹¤¬¡¤action-if-not-found ¤È¤·¤Æ ‘AC_LIBOBJ(function)’¤ò»ÈÍѤ·¤Þ¤¹¡¥‘#if !HAVE_function’¤Ë¥×¥í¥È¥¿¥¤¥×¤ò´Þ¤á¤ë¤³¤È¤Ç¡¤ÃÖ´¹¤¹¤ë´Ø¿ô¤òÀë¸À¤¹ ¤ë¤³¤È¤¬²Äǽ¤Ç¤¹¡¥¥·¥¹¥Æ¥à¤Ë´Ø¿ô¤¬Â¸ºß¤¹¤ë¾ì¹ç¡¤¤ª¤½¤é¤¯¥¤¥ó¥¯¥ë¡¼¥É¤·¤Æ ¤¤¤ë¥Ø¥Ã¥À¥Õ¥¡¥¤¥ë¤ÇÀë¸À¤µ¤ì¤Æ¤¤¤ë¤Î¤Ç¡¤Àë¸À¤¬¾×ÆÍ¤·¤Ê¤¤¤è¤¦¤Ë¡¤¤½¤ì¤òºÆ ÄêµÁ¤¹¤Ù¤­¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡¥