Next: Cheap tricks, Previous: Platform quirks, Up: Maintaining [Contents][Index]
libtool
¥¹¥¯¥ê¥×¥È¤ÎÆâÍÆ¥Ð¡¼¥¸¥ç¥ó1.4¤«¤é¤Ï¡¤libtool
¥¹¥¯¥ê¥×¥È¤Ïconfigure
¤Ë¤è¤Ã
¤ÆÀ¸À®¤µ¤ì¤Þ¤¹(see Configuring¡¥°ÊÁ°¤Î¥Ð¡¼¥¸¥ç¥ó¤Ç¤Ï¡¤
ltconfig ¤È¸Æ¤Ð¤ì¤ë¤Ø¥ë¥Ñ¡¼¥¹¥¯¥ê¥×¥È¤ò¸Æ¤Ó½Ð¤¹¤³¤È¤Ç¡¤
configure
¤Ï¤½¤ì¤òãÀ®¤·¤Æ¤¤¤Þ¤·¤¿¡¥libtool¤Î¥Ð¡¼¥¸¥ç¥ó0.7¤«¤é
1.0¤Þ¤Ç¤Ï¡¤¤³¤Î¥¹¥¯¥ê¥×¥È¤Ï¡¤Ã±½ã¤Ë¥·¥§¥ëÊÑ¿ô¤òÀßÄꤷ¡¤libtool¤Î¥Ð¥Ã¥¯
¥¨¥ó¥É¤Îltmain.sh
¤Î¸»¤È¤Ê¤Ã¤Æ¤¤¤Þ¤·¤¿¡¥libtool¥Ð¡¼¥¸¥ç¥ó1.1¤«¤é
1.3¤Þ¤Ç¤Îltconfig
¤Ï¡¤ltmain.sh
¤ÎÆâÍÆ¤ò¡¤À¸À®¤µ¤ì¤¿
libtool
¤Ë¥¤¥ó¥é¥¤¥ó²½¤·¡¤¤½¤ì¤Ï¿¤¯¤Î¥·¥¹¥Æ¥à¤Ç¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¤ò
²þÁ±¤·¤Þ¤·¤¿¡¥ltconfig¤¬¼Â¹Ô¤¹¤ë¤¿¤á¤Ë»ÈÍѤ¹¤ë¥Æ¥¹¥È¤Ï¡¤¸½ºß
libtool.m4¤Ë¤¢¤ê¡¤¤½¤³¤Ç²æ¡¹¤ÏAutoconf¤ò»ÈÍѤ·¤Æ½ñ¤¯¤³¤È¤¬²Äǽ
¤È¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡¥¤³¤ì¤Ï¡¤¥¤¥ó¥é¥¤¥ó²½¤µ¤ì¤¿ltmain.sh
¤Î¼Â¹Ô»þ¤Îư
ºî¤ËÍÍø¤Ç¡¤¤½¤·¤Æ¡¤´ÉÍý¤¬É¬ÍפÊÀ¸¤Î¥·¥§¥ë¥³¡¼¥É¤ÎÎ̤ò¤«¤Ê¤ê¼è
¤ê½ü¤¯¤³¤È¤Ç¡¤¥Ó¥ë¥É»þ´Ö¤òû¤¯¤¹¤ë²þÁ±¤ò¹Ô¤¤¤Þ¤·¤¿¡¥
¸å¤Çɾ²Á¤¹¤ë¤â¤ÎÂФ¹¤ë¥·¥§¥ë¥³¥Þ¥ó¥É¤òÊÝ»ý¤¹¤ëÊÑ¿ô¤Î̿̾¤Ë»ÈÍѤµ¤ì¤ëµ¬
§¤Ï¡¤Í¸ú¤Êñ°ì¹Ô¤Î¥·¥§¥ë¥¹¥¯¥ê¥×¥È¤¬É¬ÍפȤµ¤ì¤ë¤È¤³¤í¤ÇÀÜÈø»Ò
_cmd
¡¤Ê£¿ô¹Ô¤Î¥·¥§¥ë¥¹¥¯¥ê¥×¥È¤¬¸å¤Çɾ²Á¤¹¤ë¤³¤È¤¬²Äǽ
¤Ê¤È¤³¤í¤ÇÀÜÈø»Ò_cmds
¤ò»ÈÍѤ¹¤ë¤³¤È¤Ç¤¹¡¥µ¬Â§¤Ç¤Ï¡¤
_cmds
ÊÑ¿ô¤Ï¡¤É¬ÍפʤȤ³¤í¤Ç¡¤~
ʸ»ú¤Çɾ²Á¥æ¥Ë¥Ã¥È¤ò¶èÀÚ¤ê
¤Þ¤¹¡¥
¤½¤ì¤¾¤ì¤Î¥³¥ó¥Õ¥£¥°¥ì¡¼¥·¥ç¥óÊÑ¿ô¤È¡¤ltmain.sh
¤Ç»ÈÍѤ¹¤ëÊýË¡¤Î
¥ê¥¹¥È¤Ï¡¤°Ê²¼¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹(see Configuring)¡¥
¥·¥¹¥Æ¥à¥é¥¤¥Ö¥é¥ê¥¢¡¼¥«¥¤¥Ð¤Î̾Á°¤Ç¤¹¡¥
ibtool¤ò¥³¥ó¥Õ¥£¥°¥ì¡¼¥·¥ç¥ó¤¹¤ë¤¿¤á¤Ë»ÈÍѤ¹¤ëC¥³¥ó¥Ñ¥¤¥é¤Î̾Á°¤Ç¤¹¡¥
¥ê¥í¡¼¥É²Äǽ¤Ë¤¹¤ë¥ê¥ó¥¯¤È¤ª¤½¤é¤¯¶¦Í¥é¥¤¥Ö¥é¥ê¤ËÂФ·¡¤libtool¤¬ÆâÉô ¤Ç»ÈÍѤ¹¤ë¥ê¥ó¥«¤Î̾Á°¤Ç¤¹¡¥
BSD¸ß´¹¤Înm
¥×¥í¥°¥é¥à¤Î̾Á°¤Ç¡¤¤½¤ì¤Ï°Ê²¼¤Î½ñ¼°¤Î°ì¤Ä¤Ç¡¤Âç°èŪ
¤Ê¥·¥ó¥Ü¥ë¤òÀ¸À®¤·¤Þ¤¹¡¥
address C global-variable-name address D global-variable-name address T global-function-name
¸ºß¤¹¤ë¾ì¹ç¡¤ranlib¥×¥í¥°¥é¥à¤Î̾Á°¤òÀßÄꤷ¤Þ¤¹¡¥
·ë²Ì¤È¤·¤ÆÀ¸¤¸¤ë¶¦Í¥é¥¤¥Ö¥é¥ê¤Ë¡¤Ì¤²ò·è¤Î¥·¥ó¥Ü¥ë¤¬¤¢¤ë¤³¤È¤òÀë¸À¤¹¤ë ¤¿¤á¤Ë¡¤‘archive_cmds’¤Ç»ÈÍѤµ¤ì¤ë¥Õ¥é¥°¤Ç¤¹¡¥¤½¤Î¤è¤¦¤Ê¥Õ¥é¥°¤¬ ÉÔÍפʾì¹ç¤Ï¶õ¤Ç¤¹¡¥¥é¥¤¥Ö¥é¥ê¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤Ê¤¤¥·¥ó¥Ü¥ë¤ò»²¾È¤·¤Æ¡¤¶¦ ͥ饤¥Ö¥é¥ê¤òÀ¸À®¤¹¤ëÊýË¡¤¬¤Ê¤¤¾ì¹ç¡¤‘unsupported’¤òÀßÄꤷ¤Þ¤¹¡¥
¥¢¡¼¥«¥¤¥Ö¤È¥ê¥ó¥¯¤¹¤ëÁ°¤Ë¡¤export_symbols_cmds¤ò»ÈÍѤ·¤Æ¥¨¥¯¥¹ ¥Ý¡¼¥È¤µ¤ì¤ë¥·¥ó¥Ü¥ë¤Î¥ê¥¹¥È¤ò¡¤libtool¤¬¼«Æ°Åª¤ËÀ¸À®¤¹¤ë¤«¤É¤¦¤«¤Ç¤¹¡¥ ‘yes’¤Þ¤¿¤Ï‘no’¤ËÀßÄꤷ¤Þ¤¹¡¥¥Ç¥Õ¥©¥ë¥È¤Ï‘no’¤Ç¤¹¡¥
¤½¤ì¤¾¤ì¡¤¶¦Í¥é¥¤¥Ö¥é¥ê¡¤‘-export-symbols’¤òÍѤ¤¤¿¶¦Í¥é¥¤¥Ö¥é¥ê¡¤ ¤½¤·¤Æ¥¹¥¿¥Æ¥£¥Ã¥¯¥é¥¤¥Ö¥é¥ê¤òÀ¸À®¤¹¤ë¤¿¤á¤Ë»ÈÍѤ¹¤ë¥³¥Þ¥ó¥É¤Ç¤¹¡¥
¶¦Í¥é¥¤¥Ö¥é¥ê¤¬¥¹¥¿¥Æ¥£¥Ã¥¯¥é¥¤¥Ö¥é¥ê¤Ë°Í¸¤¹¤ë¾ì¹ç¡¤ ‘old_archive_from_new_cmds’¤Ï¥¹¥¿¥Æ¥£¥Ã¥¯¥é¥¤¥Ö¥é¥ê¤òÀ¸À®¤¹¤ë¤¿¤á ¤Ë»ÈÍѤ¹¤ë¥³¥Þ¥ó¥É¤ò´Þ¤ß¤Þ¤¹¡¥¤³¤ÎÊÑ¿ô¤¬¶õ¤Î¾ì¹ç¡¤ ‘old_archive_cmds’¤Ï»ÈÍѤµ¤ì¤Þ¤»¤ó¡¥
¥¹¥¿¥Æ¥£¥Ã¥¯¥é¥¤¥Ö¥é¥ê¤¬¡¤¶¦Í¥é¥¤¥Ö¥é¥ê¤ÇÀµ¤·¤¯¥ê¥ó¥¯¤¹¤ë¤¿¤á¤Ë¡¤¥¨¥¯ ¥¹¥Ý¡¼¥È¥·¥ó¥Ü¥ë¥ê¥¹¥È¤«¤éºîÀ®¤µ¤ì¤ëɬÍפ¬¤¢¤ë¾ì¹ç¡¤ ‘old_archive_from_expsyms_cmds’¤Ï¡¤¤½¤Î¥¹¥¿¥Æ¥£¥Ã¥¯¥é¥¤¥Ö¥é¥ê¤òºî À®¤¹¤ë¤¿¤á¤ËɬÍפʥ³¥Þ¥ó¥É¤ò´Þ¤ß¤Þ¤¹¡¥¤³¤ì¤é¤Î¥³¥Þ¥ó¥É¤¬¼Â¹Ô¤µ¤ì¤ë¤È¤¡¤ ÊÑ¿ôsoname¤Ï¡¤¶¦Í¥é¥¤¥Ö¥é¥ê¤Î̾Á°¤òµ¿ÌäÉä¤ÎÃæ¤Ë´Þ¤ß¡¤ $objdir/$newlib¤Ï¡¤¤³¤ì¤é¤Î¥³¥Þ¥ó¥É¤¬¥Ó¥ë¥É¤¹¤ë¥¹¥¿¥Æ¥£¥Ã¥¯¥é¥¤ ¥Ö¥é¥ê¤Î¥Ñ¥¹¤ò´Þ¤ß¤Þ¤¹¡¥¤³¤ì¤é¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤¿¸å¡¤libtool¤Ï¡¤ soname¤ÎÂå¤ï¤ê¤Ë$objdir/$newlib¤ËÂФ·¤Æ¥ê¥ó¥¯¤¹¤ë¤¿¤á¤Î½è Íý¤ò¹Ô¤¤¤Þ¤¹¡¥
¤³¤Î¥·¥¹¥Æ¥à¤Ç¡¤libtool¤¬¶¦Í¥é¥¤¥Ö¥é¥ê¤ò¥Ó¥ë¥É¤Ç¤¤ë¤«¤É¤¦¤«¤Ç¤¹¡¥ ‘yes’¤Þ¤¿¤Ï‘no’¤ËÀßÄꤷ¤Þ¤¹¡¥
¤³¤Î¥·¥¹¥Æ¥à¤Ç¡¤libtool¤¬¥¹¥¿¥Æ¥£¥Ã¥¯¥é¥¤¥Ö¥é¥ê¤ò¥Ó¥ë¥É¤Ç¤¤ë¤«¤É¤¦¤« ¤Ç¤¹¡¥‘yes’¤Þ¤¿¤Ï‘no’¤ËÀßÄꤷ¤Þ¤¹¡¥
¥³¥ó¥Ñ¥¤¥é¤¬¡¤Æ±»þ¤Ë-c
¤È-o
¥ª¥×¥·¥ç¥ó¤ò¥µ¥Ý¡¼¥È¤¹¤ë¤«¤É¤¦
¤«¤Ç¤¹¡¥‘yes’¤Þ¤¿¤Ï‘no’¤ËÀßÄꤷ¤Þ¤¹¡¥
¥³¥ó¥Ñ¥¤¥é¤¬¡¤Ä¾ÀÜ".lo"¥Õ¥¡¥¤¥ë¤Ø¤Î¥³¥ó¥Ñ¥¤¥ë¤ò¥µ¥Ý¡¼¥È¤¹¤ë¤«¤É¤¦¤«¤Ç¡¤ Î㤨¤Ð¡¤¥ª¥Ö¥¸¥§¥¯¥È¥Õ¥¡¥¤¥ë¤¬¡¤ÀÜÈø»Ò".o"¤ò»ý¤ÄɬÍפ¬¤¢¤ë¤«¤É¤¦¤«¤Ç¤¹¡¥ ‘yes’¤Þ¤¿¤Ï‘no’¤ËÀßÄꤷ¤Þ¤¹¡¥
¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ç¡¤dlopen
¤ò¥µ¥Ý¡¼¥È¤¹¤ë¤«¤É¤¦¤«¤Ç¤¹¡¥
‘yes’¤Þ¤¿¤Ï‘no’¤ËÀßÄꤷ¤Þ¤¹¡¥
¼Â¹Ô·Á¼°¼«¿È¤¬dlopen
²Äǽ¤«¤É¤¦¤«¤Ç¤¹¡¥‘yes’¤Þ¤¿¤Ï‘no’
¤ËÀßÄꤷ¤Þ¤¹¡¥
¥¹¥¿¥Æ¥£¥Ã¥¯¤Ë¥ê¥ó¥¯¤µ¤ì¤Æ¤¤¤ë¤È¤(‘-all-static’)¡¤¼Â¹Ô·Á¼°¼«¿È¤¬
dlopen
²Äǽ¤«¤É¤¦¤«¤Ç¤¹¡¥‘yes’¤Þ¤¿¤Ï‘no’¤ËÀßÄꤷ¤Þ¤¹¡¥
¥Ð¥Ã¥¯¥¹¥é¥Ã¥·¥å¤ò¥¨¥¹¥±¡¼¥×ʸ»ú¤È²ò¼á¤·¤Ê¤¤echo
¥×¥í¥°¥é¥à¤Ç¤¹¡¥
¥×¥ê¥ê¡¼¥É¤µ¤ì¤Æ¤¤¤ë¥·¥ó¥Ü¥ë¤Ë¥ê¥¹¥È¥¢¥Ã¥×¤µ¤ì¤Ê¤¤¥·¥ó¥Ü¥ë¤Î¥ê¥¹¥È¤Ç¤¹¡¥
dlopen¤µ¤ì¤ë¶¦Í¥é¥¤¥Ö¥é¥ê¤¬¡¤¥×¥í¥°¥é¥à¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë¥·¥ó¥Ü¥ë¤Ø¤Î»² ¾È¤ò²Äǽ¤Ë¤¹¤ë¥³¥ó¥Ñ¥¤¥é¥ê¥ó¥¯¥Õ¥é¥°¤Ç¤¹¡¥
libobjs¤«¤é¥Õ¥¡¥¤¥ëexport_symbols¤Ø¥¨¥¯¥¹¥Ý¡¼¥È¤µ¤ì¤¿¥·¥ó ¥Ü¥ë¤òÃê½Ð¤¹¤ë¥³¥Þ¥ó¥É¤Ç¤¹¡¥
¶¦Í¥é¥¤¥Ö¥é¥ê¤«¤é¥¨¥¯¥¹¥Ý¡¼¥È¤µ¤ì¤¿¥·¥ó¥Ü¥ë¥ê¥¹¥È¤òÃê½Ð¤¹¤ë¥³¥Þ¥ó¥É¤Ç ¤¹¡¥¤³¤ì¤é¤Î¥³¥Þ¥ó¥É¤Ï¡¤¥Õ¥¡¥¤¥ë$objdir/$soname-def¤¬Ìµ¤¤¾ì¹ç¤Ë ¼Â¹Ô¤µ¤ì¡¤‘old_archive_from_expsyms_cmds’¤¬»ÈÍѤ¹¤ë¤¿¤á¡¤¥¨¥¯¥¹¥Ý¡¼ ¥È¤µ¤ì¤¿¥·¥ó¥Ü¥ë̾¤ò¤½¤Î¥Õ¥¡¥¤¥ë¤Ë½ñ¤½Ð¤·¤Þ¤¹¡¥
libtool¤¬ÆÃ¸¢¤òÍ¿¤¨¤ë¿Í¤ò¡¤¥¤¥ó¥¹¥È¡¼¥ë¼Ô¤Þ¤¿¤Ï³«È¯¼Ô¤Î¤É¤Á¤é¤«¤Ë·èÄê ¤·¤Þ¤¹¡¥¥¤¥ó¥¹¥È¡¼¥ë¼Ô¤¬¥Ó¥ë¥É¥Ä¥ê¡¼¤Ç¥×¥í¥°¥é¥à¤ò¼Â¹Ô¤¹¤ë¤³¤È¤ÏÌÇ¿¤Ë ¤Ê¤¯¡¤³«È¯¼Ô¤ÏÌÇ¿¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤·¤Ê¤¤¤·¤Ê¤¤¤È²¾Äꤷ¤Þ¤¹¡¥¤³¤ì¤Ï¡¤ shlibpath_overrides_runpath¤¬‘yes’¤Ç¤Ê¤¤¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¾å ¤Ç¤Î¤ß°ÕÌ£¤¬¤¢¤ë¤Î¤Ç¡¤¤³¤Î¾ì¹ç¡¤fast_install¤Ï‘needless’Àß Äꤵ¤ì¤Þ¤¹¡¥fast_install¤¬‘yes’¤ËÀßÄꤵ¤ì¤ë¾ì¹ç¡¤libtool¤Ï ¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤¿¥é¥¤¥Ö¥é¥ê¤ò¸¡º÷¤¹¤ë¥×¥í¥°¥é¥à¤òºîÀ®¤·¡¤¥×¥í¥°¥é¥à¤¬ ¥Ó¥ë¥É¥Ä¥ê¡¼¤Ç¼Â¹Ô¤µ¤ì¤ë¾ì¹ç¡¤¤Þ¤À¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤Ê¤¤¥é¥¤¥Ö¥é¥ê¤ò »ÈÍѤ¹¤ë¤¿¤á¡¤Í׵᤬¤¢¤ì¤Ð¡¤¿·¤·¤¤¥³¥Ô¡¼¤¬¥ê¥ó¥¯¤µ¤ì¤Þ¤¹¡¥‘no’¤Ë ÀßÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¡¤libtool¤Ï¡¤¤Þ¤À¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤Ê¤¤¥é¥¤¥Ö¥é¥ê ¤ò»ÈÍѤ¹¤ë¥×¥í¥°¥é¥à¤òºîÀ®¤·¡¤¥¤¥ó¥¹¥È¡¼¥ë»þ¤Ë¥×¥í¥°¥é¥à¤Î¿·¤·¤¤¥³¥Ô¡¼ ¤ò¥ê¥ó¥¯¤·¤Þ¤¹¡¥¥Ç¥Õ¥©¥ë¥ÈÃͤϑyes’¤Þ¤¿¤Ï‘needless’¤Ç¡¤¤½¤ì ¤Ï¡¤¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤È¥³¥ó¥Õ¥£¥°¥ì¡¼¥·¥ç¥ó¥Õ¥é¥°¤Ë°Í¸¤·¡¤¥³¥ó¥Õ¥£¥°¥ì¡¼ ¥·¥ç¥ó¥Õ¥é¥°‘--disable-fast-install’¤òÍѤ¤¤ë¤È¡¤‘yes’¤«¤é ‘no’¤ËÀÚ¤êÂØ¤¨¤é¤ì¤Þ¤¹¡¥
»ØÄꤵ¤ì¤¿¥Ç¥£¥ì¥¯¥È¥ê¤Ç¶¦Í¥é¥¤¥Ö¥é¥ê¤ò¸«¤Ä¤±¤ëÊýË¡¤ò¡¤¥À¥¤¥Ê¥ß¥Ã¥¯¥ê ¥ó¥«¤ËÅÁ¤¨¤ë¥³¥Þ¥ó¥É¤Ç¤¹¡¥
¥³¥Þ¥ó¥É¤¬É½¼¨¤µ¤ì¤Ê¤¤°Ê³°¡¤finish_cmds¤ÈƱ¤¸¤Ç¤¹¡¥
¥³¥ó¥Ñ¥¤¥é¤ËÂФ¹¤ë¥·¥§¥ëÊÑ¿ô$srcfile¤ò½¤Àµ¤¹¤ë¼°¤Ç¤¹¡¥
NM¤Î½ÐÎϤò¼õ¤±¡¤C¤Î̾Á°¤¬Â³¤¯À¸¤Î¥·¥ó¥Ü¥ë¤Î¥ê¥¹¥È¤òÀ¸À®¤¹¤ë¥Ñ¥¤ ¥×¥é¥¤¥ó¤Ç¤¹¡¥Î㤨¤Ð¡¤°Ê²¼¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡¥
$ eval "$NM progname | $global_symbol_pipe" D symbol1 C-symbol1 T symbol2 C-symbol2 C symbol3 C-symbol3 … $
ºÇ½é¤ÎÎó¤Ï¡¤(¤¤¤¯¤Ä¤«¤Î¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¾å¤Ç¥³¡¼¥É¤«¤é¥Ç¡¼¥¿¤òÅÁ¤¨¤ë¤¿ ¤á¤Ë»ÈÍѤµ¤ì¤ë)¥·¥ó¥Ü¥ë·Á¼°¤ò´Þ¤ß¤Þ¤¹¤¬¡¤¤½¤Î°ÕÌ£¤Ï¥·¥¹¥Æ¥à¤Ë°Í¸¤·¤Þ ¤¹¡¥
global_symbol_pipe¤Î½ÐÎϤò¸·Ì©¤ÊCÀë¸À¤ËÊÑ´¹¤¹¤ë¥Ñ¥¤¥×¥é¥¤¥ó¤Ç¤¹¡¥ HP/UX¤Î¤è¤¦¤Ê¡¤¥ê¥ó¥«¤¬¥³¡¼¥É¤È¥Ç¡¼¥¿¤ò¶èÊ̤¹¤ë¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ç¤Ï¡¤ ¥Ç¡¼¥¿¥·¥ó¥Ü¥ë¤Ï¤½¤Î¤è¤¦¤ËÀë¸À¤µ¤ì¡¤¥³¡¼¥É¥·¥ó¥Ü¥ë¤Ï´Ø¿ô¤È¤·¤ÆÀë¸À¤µ¤ì ¤Þ¤¹¡¥µ¤¤Ë¤·¤Ê¤¤¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ç¤Ï¤¹¤Ù¤Æ¤¬¥Ç¡¼¥¿¤È²¾Äꤵ¤ì¤Þ¤¹¡¥
‘immediate’¤Þ¤¿¤Ï‘relink’¤Î¤¤¤º¤ì¤«¤Ç¡¤¶¦Í¥é¥¤¥Ö¥é¥ê¥Ñ¥¹¤¬ ¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤ëÁ°¤Ë¼Â¹Ô·Á¼°¤Ë¥Ï¡¼¥É¥³¡¼¥É¤µ¤ì¤ë¤«¡¤¤Þ¤¿¤Ï¡¤ºÆ¥ê¥ó¥¯ ¤¹¤ëɬÍפ¬¤¢¤ë¤«¤Ë°Í¸¤·¤Þ¤¹¡¥
hardcode_libdir_flag_spec¤¬»ØÄꤵ¤ì¤¿¤È¤¡¤ (‘dir/libname.a’¤Î¤è¤¦¤Ê)¥³¥Þ¥ó¥É¹Ô¤Ç¥é¥¤¥Ö¥é¥ê¤¬Ä¾ÀÜ ¤·¤Æ¤¤¤µ¤ì¤ë¾ì¹ç¡¤¥ê¥ó¥«¤¬¥Ç¥£¥ì¥¯¥È¥ê¤ò¥Ï¡¼¥É¥³¡¼¥É¤¹¤ë¤«¤É¤¦¤«¤Ë°Í¸ ¤·¡¤‘yes’¤Þ¤¿¤Ï‘no’¤ËÀßÄꤷ¤Þ¤¹¡¥
¥é¥¤¥Ö¥é¥êÆâ¤Î¼Â¹Ô¥Ñ¥¹¤Î¥Ï¡¼¥É¥³¡¼¥É¤ò¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤¬¥µ¥Ý¡¼¥È¤¹¤ë¤« ¤É¤¦¤«¤Ç¤¹¡¥²Äǽ¤Ê¾ì¹ç¡¤¥×¥í¥°¥é¥à¤Î¥ê¥ó¥¯¤Ï¤è¤êñ½ã¤Ë¤Ê¤ê¤Þ¤¹¤¬¡¤¥é¥¤ ¥Ö¥é¥ê¤Ï¥¤¥ó¥¹¥È¡¼¥ë»þ¤ËºÆ¥ê¥ó¥¯¤¬É¬ÍפǤ¹¡¥‘yes’¤Þ¤¿¤Ï‘no’ ¤ËÀßÄꤷ¤Þ¤¹¡¥
¼Â¹Ô»þ¤Ë¡¤¶¦Í¥é¥¤¥Ö¥é¥ê¤ËÂФ·¥À¥¤¥Ê¥ß¥Ã¥¯¥ê¥ó¥«¤¬libdir¤ò¸¡º÷¤¹ ¤ë¤¿¤á¤Ë¡¤¥Ð¥¤¥Ê¥ê¤ËlibdirÊÑ¿ô¤ò¥Ï¡¼¥É¥³¡¼¥É¤¹¤ë¤¿¤á¤Î¥Õ¥é¥°¤Ç¤¹¡¥ ¶õ¤Î¾ì¹ç¡¤libtool¤Ï¾¤Î¥Ï¡¼¥É¥³¡¼¥Ç¥£¥ó¥°¥á¥«¥Ë¥º¥à¤Î»ÈÍѤò»î¤ß¤Þ¤¹¡¥
¥³¥ó¥Ñ¥¤¥é¤¬Ã±°ì¤Îhardcode_libdir_flag¤Î¤ß¼õ¤±Æþ¤ì¤ë¾ì¹ç¡¤¤³¤ÎÊÑ ¿ô¤Ï¤½¤Î¥Õ¥é¥°¤ËÂФ¹¤ëÊ£¿ô¤Î°ú¿ô¤òʬ¤±¤ëʸ»úÎó¤ò´Þ¤ß¤Þ¤¹¡¥
hardcode_libdir_flag_spec¤¬»ØÄꤵ¤ì¤¿¤È¤¡¤·ë²Ì¤È¤·¤ÆÀ¸¤¸¤ë¼Â¹Ô ·Á¼°¤Ë‘-L’¥Õ¥é¥°¤Ç»ØÄꤵ¤ì¤ë¥Ç¥£¥ì¥¯¥È¥ê¤ò¡¤¥ê¥ó¥«¤¬¥Ï¡¼¥É¥³¡¼¥É ¤¹¤ë¤«¤É¤¦¤«¤Ë°Í¸¤·¡¤‘yes’¤Þ¤¿¤Ï‘no’¤ËÀßÄꤷ¤Þ¤¹¡¥
hardcode_libdir_flag_spec¤¬»ØÄꤵ¤ì¤¿¤È¤¡¤·ë²Ì¤È¤·¤ÆÀ¸¤¸¤ë¼Â¹Ô ·Á¼°¤Ë‘$shlibpath_var’¤ÎÆâÍÆ¤ò½ñ¤¹þ¤à¤³¤È¤Ç¡¤¥ê¥ó¥«¤¬¥Ç¥£¥ì¥¯¥È ¥ê¤ò¥Ï¡¼¥É¥³¡¼¥É¤¹¤ë¤«¤É¤¦¤«¤Ë°Í¸¤·¡¤‘yes’¤Þ¤¿¤Ï‘no’¤ËÀßÄê ¤·¤Þ¤¹¡¥‘$shlibpath_var’¤Ç»ØÄꤵ¤ì¤¿¥Ç¥£¥ì¥¯¥È¥ê¤¬¡¤¥ê¥ó¥¯»þ¤Ç¤Ï ¤Ê¤¯¼Â¹Ô»þ¤Ë¸¡º÷¤µ¤ì¤ë¾ì¹ç¡¤‘unsupported’¤ËÀßÄꤷ¤Þ¤¹¡¥
¾ðÊó¤òÌÜŪ¤È¤·¤Æ¡¤libtool¤¬¥³¥ó¥Õ¥£¥°¥ì¡¼¥·¥ç¥ó¤µ¤ì¤¿¥·¥¹¥Æ¥à¤Î»ØÄꤵ ¤ì¤¿É¸½à̾¤ËÀßÄꤷ¤Þ¤¹¡¥
export_symbols¤Î»ÈÍÑ»þ¤Ë¡¤¾ï¤Ë¥¨¥¯¥¹¥Ý¡¼¥È¤µ¤ì¤ëɬÍפ¬¤¢¤ë¥·¥ó¥Ü ¥ë¤Î¥ê¥¹¥È¤Ç¤¹¡¥
ɸ½àŪ¤Ê¡¤¸Å¤¤¥¢¡¼¥«¥¤¥Ö¤ÎÀÜÈø»Ò(Ä̾ï¤Ï"a")¤Ç¤¹¡¥
¥é¥¤¥Ö¥é¥ê̾¤ÎÀÜÆ¬¼¤Î½ñ¼°¤Ç¤¹¡¥Unix¥·¥¹¥Æ¥à¤Ç¤Ï¡¤¥¹¥¿¥Æ¥£¥Ã¥¯¥é¥¤¥Ö¥é ¥ê¤Ï‘libname.a’¤È̿̾¤µ¤ì¤Þ¤¹¤¬¡¤(OS/2¤äMS-DOS¤Î¤è¤¦¤Ê)¥·¥¹ ¥Æ¥à¤Ç¤Ï¡¤¥é¥¤¥Ö¥é¥ê¤Ï‘name.a’¤Î¤ß¤Ç̿̾¤µ¤ì¤ë¤³¤È¤â¤¢¤ê¤Þ ¤¹¡¥
¶¦Í¥é¥¤¥Ö¥é¥ê̾¤Î¥ê¥¹¥È¤Ç¤¹¡¥ºÇ½é¤Ï¥Õ¥¡¥¤¥ë̾¤Ç¡¤»Ä¤ê¤Ï¥Õ¥¡¥¤¥ë¤Ø¤Î¥· ¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤Ç¤¹¡¥¥ê¥¹¥ÈÆâ¤Î̾Á°¤Ï¡¤‘-lname’¤ÇÍ¿¤¨¤é¤ì ¤¿¤È¤¥ê¥ó¥«¤¬¸«¤Ä¤±¤ë¥Õ¥¡¥¤¥ë̾¤Ç¤¹¡¥
libtool¤¬¡¤Á´¤Æ¤Î°Í¸¤¹¤ë¥×¥í¥°¥é¥à¤ËÂФ·¥×¥í¥°¥é¥à¤ò¥ê¥ó¥¯¤¹¤ëɬÍפ¬ ¤¢¤ë¤«¤É¤¦¤«¤Ç¤¹¡¥‘yes’¤Þ¤¿¤Ï‘no’¤ËÀßÄꤷ¤Þ¤¹¡¥¥Ç¥Õ¥©¥ë¥È¤Ï ‘unknown’¤Ç¡¤¤½¤ì¤Ï‘yes’¤ÈƱ¤¸¤Ç¤¹¡¥
¥À¥¤¥Ê¥ß¥Ã¥¯¥ê¥ó¥¯¤òÈò¤±¤ë¤¿¤á¤Ë»ÈÍѤ¹¤ë(C¥³¥ó¥Ñ¥¤¥é¤ËÅϤ¹)¥ê¥ó¥«¥Õ¥é ¥°¤Ç¤¹¡¥
¼«Æ°Åª¤Ë¥â¥¸¥å¡¼¥ë̾¤Ë’lib’ÀÜÆ¬¼¤òÉÕ¤±¤ë¤«¤É¤¦¤«¤Ç¤¹¡¥‘yes’¤Þ¤¿
¤Ï‘no’¤ËÀßÄꤷ¤Þ¤¹¡¥¥Ç¥Õ¥©¥ë¥È¤Ç¡¤¤½¤ì¤Ï‘unknown’¤Ë¤Ê¤ê¡¤¤½
¤ì¤Ï‘yes’¤ÈƱ¤¸°ÕÌ£¤Ç¤¹¤¬¡¤ËÜÅö¤Ë³Î¤«¤á¤¿¤ï¤±¤Ç¤Ï¤Ê¤¤¤³¤È¤ò¹ð¤²¤Æ
¤¤¤Þ¤¹¡¥‘yes’¤Ïdlopen
¤È’lib’ÀÜÆ¬¼¤¬¤Ê¤¤¥é¥¤¥Ö¥é¥ê¤Ë¥ê¥ó¥¯
²Äǽ¤Ê¤³¤È¤ò°ÕÌ£¤·¡¤¤¹¤Ê¤ï¤Á¡¤¤½¤ì¤Ïhardcode_direct¤ò‘yes’
¤Ë¤¹¤ë¤³¤È¤òÍ׵ᤷ¤Þ¤¹¡¥
¥Ð¡¼¥¸¥ç¥ó´ÉÍý¤¬¥é¥¤¥Ö¥é¥ê¤ËɬÍפȤµ¤ì¤ë¤«¤É¤¦¤«¤Ç¡¤¤¹¤Ê¤ï¤Á¡¤¥À¥¤¥Ê¥ß¥Ã ¥¯¥ê¥ó¥«¤¬¡¤¤¹¤Ù¤Æ¤Î¥é¥¤¥Ö¥é¥ê¤ËÂФ·¥Ð¡¼¥¸¥ç¥ó¤ÎÀÜÈø»Ò¤òɬÍפȤ¹¤ë¤«¤É ¤¦¤«¤Ç¤¹¡¥‘yes’¤Þ¤¿¤Ï‘no’¤ËÀßÄꤷ¤Þ¤¹¡¥¥Ç¥Õ¥©¥ë¥È¤Ç¡¤¤½¤ì¤Ï ‘unknown’¤Ç¡¤¤½¤ì¤Ï‘yes’¤ÈƱ¤¸°ÕÌ£¤ò»ý¤Á¤Þ¤¹¤¬¡¤¤½¤ì¤ò¼ÂºÝ¤Ë ¤Ï³Î¤«¤á¤Æ¤¤¤Ê¤¤¤³¤È¤ò¹ð¤²¤Æ¤¤¤Þ¤¹¡¥
Ʊ»þ¤Ë¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¤È¤¡¤¾×ÆÍ¤òÈò¤±¤ë¤¿¤á¤Ë¥Õ¥¡¥¤¥ë¤ò¥í¥Ã¥¯¤¹¤ëɬÍפ¬ ¤¢¤ë¤«¤É¤¦¤«¤Ç¤¹¡¥‘yes’¤Þ¤¿¤Ï‘no’¤ËÀßÄꤷ¤Þ¤¹¡¥
char
¤È¤·¤Æ³°Éô¥°¥í¡¼¥Ð¥ë¥·¥ó¥Ü¥ë¤òÀë¸À¤¹¤ë¤³¤È¤È¾×ÆÍ¤¹¤ëÁȤ߹þ
¤ß´Ø¿ô¤ò¡¤ÍøÍÑÉÔ²Äǽ¤Ë¤¹¤ë¥³¥ó¥Ñ¥¤¥é¥Õ¥é¥°¤Ç¤¹¡¥
·ë²Ì¤È¤·¤ÆÀ¸¤¸¤ë¶¦Í¥é¥¤¥Ö¥é¥ê¤Ë¡¤Ì¤²ò·è¤Î¥·¥ó¥Ü¥ë¤¬¤Ê¤¤¤³¤È¤òÀë¸À¤¹¤ë ¤¿¤á¤Î¡¤‘archive_cmds’¤Ç»ÈÍѤµ¤ì¤ë¥Õ¥é¥°¤Ç¤¹¡¥
°ì»þŪ¤Êlibtool¥Õ¥¡¥¤¥ë¤¬´Þ¤Þ¤ì¤ë¥Ç¥£¥ì¥¯¥È¥ê̾¤Ç¤¹¡¥
ɸ½àŪ¤Ê¥ª¥Ö¥¸¥§¥¯¥È¥Õ¥¡¥¤¥ë¤ÎÀÜÈø»Ò(Ä̾ï¤Ï"o")¤Ç¤¹¡¥
¥é¥¤¥Ö¥é¥ê¥ª¥Ö¥¸¥§¥¯¥È¥Õ¥¡¥¤¥ë¤ò¥Ó¥ë¥É¤¹¤ë¤¿¤á¤Î¡¤¤¢¤é¤æ¤ëÄɲäΥ³¥ó¥Ñ ¥¤¥ë¥Õ¥é¥°¤Ç¤¹¡¥
¤½¤ì¤¾¤ì¡¤¶¦Í¤Þ¤¿¤Ï¥¹¥¿¥Æ¥£¥Ã¥¯¥é¥¤¥Ö¥é¥ê¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤¿¸å¤Ë¼Â¹Ô¤¹ ¤ë¥³¥Þ¥ó¥É¤Ç¤¹¡¥
¤½¤ì¤¾¤ì¡¤¶¦Í¤Þ¤¿¤Ï¥¹¥¿¥Æ¥£¥Ã¥¯¥é¥¤¥Ö¥é¥ê¤ò¥¢¥ó¥¤¥ó¥¹¥È¡¼¥ë¤·¤¿¸å¤Ë¼Â ¹Ô¤¹¤ë¥³¥Þ¥ó¥É¤Ç¤¹¡¥
¥ê¥í¡¼¥É²Äǽ¤Ê¥ª¥Ö¥¸¥§¥¯¥È¤òºîÀ®¤¹¤ë¥³¥Þ¥ó¥É¤Ç¤¹¡¥
·ë²Ì¤È¤·¤ÆÀ¸¤¸¤ë¼Â¹Ô·Á¼°Æâ¤Ë¥Ï¡¼¥É¥³¡¼¥É¤¹¤ë¥Ç¥£¥ì¥¯¥È¥ê¤ò¥ê¥ó¥«¤ËÅÁ¤¨ ¤ë´Ä¶ÊÑ¿ô¤Ç¤¹¡¥
´Ä¶ÊÑ¿ô¤Ç¥×¥í¥°¥é¥à¤Î¥Ï¡¼¥É¥³¡¼¥É¤µ¤ì¤¿¥é¥¤¥Ö¥é¥ê¸¡º÷¥Ñ¥¹¤òÍ¥Àè²Äǽ¤«
¤É¤¦¤«¤ò¼¨¤·¤Þ¤¹¡¥¤³¤ì¤¬‘no’¤ËÀßÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¡¤libtool¤Ï¥Ó¥ë¥É
¥Ä¥ê¡¼¤Ë¥×¥í¥°¥é¥à¤Î¥³¥Ô¡¼¤òÆó¤ÄºîÀ®¤¹¤ëɬÍפ¬¤¢¤ë²ÄǽÀ¤¬¤¢¤ê¡¤°ì¤Ä¤Ï
¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¡¤¤â¤¦°ì¤Ä¤Ï¥Ó¥ë¥É¥Ä¥ê¡¼¤Î¤ß¤Ç¼Â¹Ô¤µ¤ì¤Þ¤¹¡¥¤³¤ì¤é¤Î¥³
¥Ô¡¼¤Î¤É¤Á¤é¤«¤¬ºîÀ®¤µ¤ì¤ë¤È¤¡¤fast_install
¤ÎÃͤ˰͸¤·¤Þ¤¹¡¥
¥Ç¥Õ¥©¥ë¥ÈÃͤϑunknown’¤Ç¡¤¤½¤ì¤Ï‘no’¤ÈƱ¤¸¤Ç¤¹¡¥
¥À¥¤¥Ê¥ß¥Ã¥¯¥ê¥ó¥«¤Ë¶¦Í¥é¥¤¥Ö¥é¥ê¤òõ¤¹¾ì½ê¤òÅÁ¤¨¤ë´Ä¶ÊÑ¿ô¤Ç¤¹¡¥
¶¦Í¥é¥¤¥Ö¥é¥ê¤¬¥Õ¥¡¥¤¥ë¤ÎËÜÅö¤Î̾Á°¤È°Û¤Ê¤ë¾ì¹ç¡¤¤½¤ÎÃæ¤ËÉ乿²½¤µ¤ì¤¿ ¥³¡¼¥É¤µ¤ì¤¿Ì¾Á°¤Ç¤¹¡¥
¶¦Í(striplib
)¤ä¥¹¥¿¥Æ¥£¥Ã¥¯(old_striplib
)¤Î¥é¥¤¥Ö¥é¥ê¤ò
strip¤¹¤ë¥³¥Þ¥ó¥É¤Ç¤¹¡¥¤³¤ì¤é¤ÎÊÑ¿ô¤¬¶õ¤Î¾ì¹ç¡¤¥¤¥ó¥¹¥È¡¼¥ë¥â¡¼¥É¤Î
strip¥Õ¥é¥°¤Ï¡¤¥é¥¤¥Ö¥é¥ê¤ËÂФ·Ìµ»ë¤µ¤ì¤Þ¤¹(see Install mode)¡¥
¼Â¹Ô»þ¤Ë¥é¥¤¥Ö¥é¥ê¤Î¸¡º÷¥Ñ¥¹¤ò¼èÆÀ¤¹¤ë¼°¤Ç¤¹¡¥¤³¤Î¥ê¥¹¥È¤Ë¸½¤ì¤ë¥Ç¥£¥ì ¥¯¥È¥ê¤¬¼Â¹Ô·Á¼°¤Ë¥Ï¡¼¥É¥³¡¼¥É¤µ¤ì¤ë¤³¤È¤Ï·è¤·¤Æ¤¢¤ê¤Þ¤»¤ó¡¥
¥³¥ó¥Ñ¥¤¥ë»þ¤Ë¥é¥¤¥Ö¥é¥ê¤Î¸¡º÷¥Ñ¥¹¤ò¼èÆÀ¤¹¤ë¼°¤Ç¤¹¡¥¤³¤ÎÊÑ¿ô¤Ï¡¤ÆÃÄê¤Î
¥é¥¤¥Ö¥é¥ê¤¬¶¦Í¤«¥¹¥¿¥Æ¥£¥Ã¥¯¤«¤ò¥Æ¥¹¥È¤¹¤ëɬÍפ¬¤¢¤ë¤È¤¡¤libtool¤¬
»ÈÍѤ·¤Þ¤¹¡¥shlibpath_var¤Ç¥ê¥¹¥È¥¢¥Ã¥×¤µ¤ì¤ë¥Ç¥£¥ì¥¯¥È¥ê¤Ï¡¤¤³
¤Î¥ê¥¹¥È¤Ë¼«Æ°Åª¤Ë¸½¤ì¡¤¥é¥¤¥Ö¥é¥ê¸¡º÷¥Ñ¥¹¤ò³ÈÄ¥¤¹¤ë¤¿¤á¤Ë¤³¤ÎÊÑ¿ô¤ò»È
ÍѤ¹¤ë¥ê¥ó¥«¤â¤¢¤ë¤Î¤Ç¡¤Ëè²ó(¤¹¤Ê¤ï¤Á¡¤¥³¥ó¥Õ¥£¥°¥ì¡¼¥·¥ç¥ó»þ°Ê³°)
libtool¤Ï¼Â¹Ô¤·¤Þ¤¹¡¥¥ê¥ó¥«¤Ï-L
¤Î¤è¤¦¤Ê¸¡º÷¥Ñ¥¹°ú¿ô¤âÀÚ¤êÂØ¤¨¤Þ
¤¹¡¥
¥¹¥ì¥Ã¥É¥»¡¼¥Õ¤Ê¥é¥¤¥Ö¥é¥ê¤òÀ¸À®¤¹¤ë¤¿¤á¤Ë»ÈÍѤ¹¤ë(C¥³¥ó¥Ñ¥¤¥é¤ËÅϤ¹) ¥ê¥ó¥«¥Õ¥é¥°¤Ç¤¹¡¥
¥é¥¤¥Ö¥é¥ê¥Ð¡¼¥¸¥ç¥ó¥Ê¥ó¥Ð¡¼¤Î·Á¼°¤Ç¤¹¡¥‘libtool’¡¤ ‘freebsd-aout’¡¤‘freebsd-elf’¡¤‘irix’¡¤‘linux’¡¤ ‘osf’¡¤‘sunos’¡¤‘windows’¡¤¤Þ¤¿¤Ï‘none’¤Î°ì¤Ä¤Ç¤¹¡¥
¥³¥ó¥Ó¥Ë¥¨¥ó¥¹¥¢¡¼¥«¥¤¥Ð¤«¤é¶¦Í¥é¥¤¥Ö¥é¥ê¤òÀ¸À®¤¹¤ë¥³¥ó¥Ñ¥¤¥é¥Õ¥é¥°¤Ç ¤¹¡¥
libtool¤¬Ä¾ÀÜ¥ê¥ó¥«¤Ë¥Õ¥é¥°¤òÅϤ¹¤³¤È¤ò²Äǽ¤È¤¹¤ëC¥³¥ó¥Ñ¥¤¥é¥Õ¥é¥°¤Ç¤¹¡¥
${wl}some-flag
¤È¤·¤Æ»ÈÍѤµ¤ì¤Þ¤¹¡¥
‘_cmds’¤ä‘_eval’¤Ç½ª¤ï¤ëÊÑ¿ô¤Ï¡¤‘~’¤Çʬ¤±¤é¤ì¤¿¡¤½çÈÖ¤Ë
eval
¤µ¤ì¤ë¥³¥Þ¥ó¥É¤Î¥ê¥¹¥È¤ò´Þ¤ß¤Þ¤¹¡¥¥¼¥í°Ê³°¤Î½ªÎ»¥¹¥Æ¡¼¥¿¥¹
¤òÊÖ¤¹¥³¥Þ¥ó¥É¤¬¤¢¤ë¾ì¹ç¡¤libtool¤Ï°ìÈÌŪ¤Ë¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤È¤È¤â¤Ë½ª
λ¤·¤Þ¤¹¡¥
‘_spec’¤Ç½ª¤ï¤ëÊÑ¿ô¤Ï¡¤libtool¤Ç»ÈÍѤµ¤ì¤ëÁ°¤Ëeval
¤µ¤ì¤Þ¤¹¡¥
Next: Cheap tricks, Previous: Platform quirks, Up: Maintaining [Contents][Index]