Next: , Previous: The GNU Build System, Up: Top   [Contents][Index]


3 configure¥¹¥¯¥ê¥×¥È¤ÎºîÀ®

Autoconf¤¬À¸À®¤¹¤ë¥³¥ó¥Õ¥£¥®¥å¥ì¡¼¥·¥ç¥ó¥¹¥¯¥ê¥×¥È¤Ï¡¤´·½¬Åª¤Ë configure¤È¸Æ¤Ð¤ì¤Þ¤¹¡¥¼Â¹Ô»þ¤Ë¡¤configure¤Ï¤¤¤¯¤Ä¤« ¤Î¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¡¤¤½¤³¤Ç¡¤¥³¥ó¥Õ¥£¥®¥å¥ì¡¼¥·¥ç¥ó¥Ñ¥é¥á¡¼¥¿¤òŬÀÚ¤ÊÃÍ¤Ë ÃÖ´¹¤·¤Þ¤¹¡¥configure¤¬ºîÀ®¤¹¤ë¥Õ¥¡¥¤¥ë¤Ï°Ê²¼¤ÎÄ̤ê¤Ç¤¹¡¥

Autoconf¤òÍѤ¤¤Æconfigure¥¹¥¯¥ê¥×¥È¤òºîÀ®¤¹¤ë¤¿¤á¤Ë¡¤Autoconf ¤ÎÆþÎÏ¥Õ¥¡¥¤¥ëconfigure.ac(¤Þ¤¿¤Ïconfigure.in)¤ò½ñ¤­¡¤ autoconf¤ò¤½¤³¤Ç¼Â¹Ô¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡¥Autoconf¤Ç¤â¤¿¤é¤µ¤ì¤¿ ¤â¤Î¤òÊ䤦¤¿¤á¤ËÆÈ¼«¤Îµ¡Ç½¥Æ¥¹¥È¤ò½ñ¤¯¾ì¹ç¡¤aclocal.m4¤È acsite.m4¤È¤¤¤¦Ì¾¤Î¥Õ¥¡¥¤¥ë¤â½ñ¤¯¤³¤È¤Ë¤Ê¤ë¤Ç¤·¤ç¤¦¡¥ #define¥Ç¥£¥ì¥¯¥Æ¥£¥Ö¤ò´Þ¤àC¥Ø¥Ã¥À¥Õ¥¡¥¤¥ë¤ò»ÈÍѤ¹¤ë¾ì¹ç¡¤ autoheader¤â¼Â¹Ô¤·¡¤¥Ñ¥Ã¥±¡¼¥¸¤ÇÀ¸À®¤µ¤ì¤ë¥Õ¥¡¥¤¥ë config.h.in¤òÇÛÉÛ¤¹¤ë¤³¤È¤Ë¤Ê¤ë¤Ç¤·¤ç¤¦¡¥

¥³¥ó¥Õ¥£¥®¥å¥ì¡¼¥·¥ç¥ó¤Ç»ÈÍѲÄǽ¤Ê¥Õ¥¡¥¤¥ë¤òÀ¸À®¤¹¤ëÊýË¡¤Ï¡¤°Ê²¼¤Ç¼¨¤¹¿Þ ¤ÎÍѤˤʤê¤Þ¤¹¡¥¼Â¹Ô¤¹¤ë¥×¥í¥°¥é¥à¤Ë¤Ï¡¤‘*’¤¬ÉÕ¤¤¤Æ¤¤¤Þ¤¹¡¥¥ª¥×¥·¥ç ¥ó¤Î¥Õ¥¡¥¤¥ë¤Ï³Ñ¥«¥Ã¥³(‘[]’)¤Ç°Ï¤Ã¤Æ¤¤¤Þ¤¹¡¥autoconf¤È autoheader¤Ï¡¤Autoconf¤Ç¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤ë(autoconf.m4 ¤¬ÆÉ¤à)¥Þ¥¯¥í¥Õ¥¡¥¤¥ë¤âÆÉ¤ß¹þ¤ß¤Þ¤¹¡¥

¥½¥Õ¥È¥¦¥§¥¢¥Ñ¥Ã¥±¡¼¥¸¤òÇÛÉÛ¤¹¤ë½àÈ÷¤Ç»ÈÍѤµ¤ì¤ë¥Õ¥¡¥¤¥ë¤Ï¡¤°Ê²¼¤Î¤è¤¦¤Ë ¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡¥

your source files --> [autoscan*] --> [configure.scan] --> configure.ac

configure.ac --.
               |   .------> autoconf* -----> configure
[aclocal.m4] --+---+
               |   `-----> [autoheader*] --> [config.h.in]
[acsite.m4] ---'
Makefile.in -------------------------------> Makefile.in

¥½¥Õ¥È¥¦¥§¥¢¥Ñ¥Ã¥±¡¼¥¸¤Î¥³¥ó¥Õ¥£¥°¥ì¡¼¥·¥ç¥ó¤Ç»ÈÍѤµ¤ì¤ë¥Õ¥¡¥¤¥ë¤Ï¡¤°Ê²¼ ¤Î¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡¥

                       .-------------> [config.cache]
configure* ------------+-------------> config.log
                       |
[config.h.in] -.       v            .-> [config.h] -.
               +--> config.status* -+               +--> make*
Makefile.in ---'                    `-> Makefile ---'