9. ¹Ì½ÃÀû autotools ÀÇ ÀÌ¿ë

ÀÌ ¹®¼­´Â multi platform ¿¡¼­ ÇØ´ç platform ¿¡ ¸Â´Â build ¸¦ Çϱâ À§ÇÑ howto ¸¸À» Á¦°øÇϰí ÀÖ´Ù. ÇÏÁö¸¸ ¾Õ¿¡¼­ Àá±ñ À̾߱âÇßµíÀÌ autotools À» ¹Ì½ÃÀûÀÎ ¹üÀ§±îÁö »ç¿ëÇϸ鼭, config.h ¸¦ È¿°úÀûÀ¸·Î »ç¿ëÇÑ´Ù¸é ÇϳªÀÇ code ¸¦ ¾ó¸¶µçÁö ´Ù¸£°Ô build ÇÒ ¼ö ÀÖ´Ù.

¿¹¸¦ µé¾î ¾ÕÀåÀÇ configure.ac ¸¦ º¼¶§,

AC_CHECK_FUNCS(strcpy bcopy)

¶ó´Â ºÎºÐÀÌ ÀÖ´Ù. ÀÌ macro ¸¦ ½ÇÇàÇÏ°í ³ª¸é config.h ¿¡ ÇöÀç configure °¡ ÀϾ system¿¡ strcpy, bcopy ¶ó´Â ÇÔ¼ö°¡ ÀÖ´ÂÁö ¾ø´ÂÁö¿¡ ´ëÇÑ ±â·ÏÀÌ ³²°Ô µÈ´Ù.µû¶ó¼­ °³¹ßÀÚ°¡ ¹Ì¸® Ȥ½Ã³ª strcpy ³ª bcopy ¸¦ °¡Áö°í ÀÖÁö ¾Ê´Â system¿¡ ´ëÇÑ Ã³¸®¸¦ ÇØÁÙ¼ö°¡ ÀÖ´Ù.

config.h ÀÇ ³»¿ë

#define HAVE_BCOPY 1

strcpy ¸¦ »ç¿ëÇÏ´Â code ½ÃÀÛ ºÎºÐ ȤÀº ±× code °¡ include ÇÏ´Â header file

#if !HAVE_STRCPY
#	if HAVE_BCOPY
#		define strcpy(dest,src) bcopy(src, dest, 1+strlen(src))
#	else 
		error no strcpy or bcopy
#	endif
#endif

À§Ã³·³ Çϸé strcpy ¸¦ °¡Áö°í ÀÖÁö ¾ÊÀº machine ¿¡ ´ëÇØ À̸¦ bcopy ¸¦ ÀÌ¿ëÇØ ±¸ÇöÇÒ ¼ö ÀÖ°Ô ÇØÁÙ ¼ö ÀÖ´Ù. Áï ÀÛÀº ¹üÀ§¿¡±îÁö Àß ÀÌ¿ëÇÑ´Ù¸é ¿Ïº®È÷ system independent ÇÑ code ¸¦ ¸¸µé ¼ö ÀְԵȴÙ.