Next: , Up: Writing configure.ac   [Contents][Index]


3.1.1 ¥·¥§¥ë¥¹¥¯¥ê¥×¥È¥³¥ó¥Ñ¥¤¥é

¾¤Î¥³¥ó¥Ô¥å¡¼¥¿¸À¸ì¤ËÂФ·¤Æ¡¤Autoconf¤Çconfigure.ac¤òÀµ¤·¤¯¥×¥í ¥°¥é¥à¤¹¤ë¤¿¤á¤Ë¡¤¸À¸ì¤¬²ò·è¤·¤è¤¦¤È¤¹¤ëÌäÂ꤬²¿¤Ç¡¤¤½¤¦¤¹¤ë¤¿¤á ¤Ë¤É¤¦¤¹¤ë¤Î¤«¤òÍý²ò¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡¥

Autoconf¤¬²ò·è¤¹¤ëÌäÂê¤Ï¡¤À¤³¦¤¬º®Í𤷤Ƥ¤¤ë¤È¤¤¤¦¤³¤È¤Ç¤¹¡¥·ë¶É¡¤Á´¤Æ¤Î °Û¤Ê¤ë¼ïÎà¤Î¥·¥¹¥Æ¥à¤Ç¥Ñ¥Ã¥±¡¼¥¸¤Î¥³¥ó¥Ñ¥¤¥ë¤ò´Êñ¤Ë¤¹¤ë¤¿¤á¤ËAutoconf¤ò »ÈÍѤ·¤Þ¤¹¤¬¡¤¤½¤ì¤ò¶Ëü¤Ë·ù¤¦¿Í¤âÃæ¤Ë¤Ï¤¤¤Þ¤¹¡¥Autoconf¼«¿È¤Ï¡¤¤³¤ì¤é¤Î º¹¤ò²ÁÃͤ¢¤ë¤â¤Î¤È¤·¤Æ°·¤¤¤Þ¤¹¡¥configure¤ò¤³¤ì¤é¤ÎÁ´¤Æ¤Î¥·¥¹ ¥Æ¥à¤Ç¼Â¹Ô¤¹¤ëɬÍפ¬¤¢¤ê¡¤¤½¤Î¤¿¤á¡¤configure ¤Ë¤Ï¡¤µ¡Ç½Åª¤Ë¤½ ¤ì¤é¤ÎºÇ¾®¸øÇÜ¿ô¤ËÀ©¸Â¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡¥

Ä̾¥·¥§¥ë¥¹¥¯¥ê¥×¥È¤ò¹Í¤¨¤ë¤Ç¤·¤ç¤¦¡¥autoconf¤¬É¬ÍפǤ·¤ç¤¦ ¤«¡©Àµ¤·¤¯½ñ¤«¤ì¤¿¥·¥§¥ë´Ø¿ô¤ÎÁȤ߹ç¤ï¤»¤Ç¡¤¼ê¤Çconfigure¥¹¥¯ ¥ê¥×¥È¤ò½ñ¤¯¤³¤È¤ò½½Ê¬¤Ë´Êñ¤Ë¤·¤Þ¤¹¡¥¤¢¤¢¡ª»Äǰ¤Ê¤¬¤é¡¤¥·¥§¥ë´Ø¿ô¤ÏºÇ¾® ¸øÇÜ¿ô¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡¥¤½¤Î¤¿¤á¡¤´Ø¿ô¤òÄêµÁ¤·¤½¤ì¤ò½½²ó»ÈÍѤ·¤¿¤¤¤È¤³¤í¤Ç¡¤ ¤½¤ÎËÜÂΤò½½²ó¥³¥Ô¡¼¤¹¤ëɬÍפ¬¤¢¤ë¤Ç¤·¤ç¤¦¡¥

¤½¤Î¤¿¤á¡¤ËÜÅö¤ËɬÍפʤâ¤Î¤Ï¡¤¥³¥ó¥Ñ¥¤¥é¤Î¤è¤¦¤Ê¤â¤Î¡¤¤¹¤Ê¤ï¤Á autoconf¡¤Autoconf¥×¥í¥°¥é¥à¤¬¼õ¤±Æþ¤ì¤ë¤â¤Î¡¤¤¹¤Ê¤ï¤Á configure.ac¡¤¤½¤·¤Æ¡¤¤½¤ì¤ò°Ü¿¢À­¤Î¹â¤¤¥·¥§¥ë¥¹¥¯¥ê¥×¥È configure¤ËÊÑ´¹¤¹¤ë¤â¤Î¤Ç¤¹¡¥

¤É¤Î¤è¤¦¤Ë¤·¤Æ¡¤autoconf¤¬¤³¤Îºî¶È¤ò¼Â¹Ô¤¹¤ë¤Î¤Ç¤·¤ç¤¦¡©

²ÄǽÀ­¤È¤·¤Æ¤ÏÌÀ¤é¤«¤ËÆó¤Ä¤¢¤ê¤Þ¤¹¡¥¿·¤·¤¤¸À¸ì¤òºîÀ®¤¹¤ë¤³¤È¡¤¤Þ¤¿¤Ï´û¸ ¤Î¤â¤Î¤ò³ÈÄ¥¤¹¤ë¤³¤È¤Ç¤¹¡¥Á°¼Ô¤ÏÈó¾ï¤ËÌ¥ÎÏŪ¤Ç¤¹¡¥¤¢¤é¤æ¤ëºÇŬ²½¤¬´Êñ¤Ë ¼ÂÁõ²Äǽ¤Ç¡¤Autoconf¥×¥í¥°¥é¥à¤Ç¸·Ì©¤Ê¥Á¥§¥Ã¥¯¤ò¼Â¹Ô¤¹¤ë¤³¤È¤¬²Äǽ¤Ç¤¹ (Î㤨¤Ð¡¤°Ü¿¢À­¤Î¤Ê¤¤¤¢¤é¤æ¤ë¹½À®Êª¤Ï½ü³°¤·¤Þ¤¹)¡¥¤¢¤ë¤¤¤Ï¡¤ sh(Bourne shell) ¸À¸ì¤Î¤è¤¦¤Ë¡¤´û¸¤Î¸À¸ì¤ò³ÈÄ¥¤¹¤ë¤³¤È¤¬²Äǽ¤Ç¤¹¡¥

Autoconf¤Ï¸å¼Ô¤ÎÊýË¡¤Ç¹Ô¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡¥¤½¤ì¤Ïsh¤ÎºÇ¾å°ÌÁؤǤ¹¡¥¤½ ¤Î¤¿¤á¡¤¥Þ¥¯¥í¤òŸ³«¤¹¤ë¤â¤Î¤È¤·¤Æautoconf¤ò¼ÂÁõ¤¹¤ë¤³¤È¤¬ºÇ¤â ÊØÍø¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡¥¥Þ¥¯¥í¸Æ¤Ó½Ð¤·¤ò¥Þ¥¯¥í¤ÎËÜÂΤÇÃÖ´¹¤·¡¤ºÇ½ªÅª¤Ë¥Ô¥å¥¢ ¤Êsh¥¹¥¯¥ê¥×¥È¤òÀ¸À®¤·¤Ê¤¬¤é¡¤¥Æ¥­¥¹¥ÈÆþÎϤǥޥ¯¥íŸ³«(macro expansion)¤ò·«¤êÊÖ¤·¼Â¹Ô¤¹¤ë¥×¥í¥°¥é¥à¤Ç¤¹¡¥Autoconf¥Þ¥¯¥í¤ÎŸ³«¤ËÀìǰ ¤·¤Æ¼ÂÁõ¤¹¤ëÂå¤ï¤ê¤Ë¡¤M4¤Î¤è¤¦¤Ê´û¸¤Î°ìÈÌŪ¤ÊÌÜŪ¤ò»ý¤Ä¥Þ¥¯¥í¸À¸ì¤ò»ÈÍÑ ¤·¡¤M4¥Þ¥¯¥í¤ÎÁȤ߹ç¤ï¤»¤È¤·¤Æ³ÈÄ¥Éôʬ¤ò¼ÂÁõ¤¹¤ëÊý¤¬¼«Á³¤Ç¤¹¡¥