使用 M4 宏处理器与 Autoconf 及在 Windows 上使用 Autotools
1. 编写宏及文档化
在从现有代码编写宏时,需要考虑现有代码块的输入和输出。输入可能成为宏的参数,输出则成为文档化的效果。例如在xflaim/configure.ac中,将 ftk 搜索代码替换为新的宏调用时,若没有输入则无参数,但要明确代码可文档化的效果。
Listing 16-3: xflaim/configure.ac: Replacing the ftk search code with the new macro call在上述代码中,FTKLIB和FTKINC变量被定义,FTK_LTLIB和FTK_INCLUDE变量通过AC_SUBST定义并替换。
一个合适的宏定义应提供头部注释,记录可能的参数、结果和潜在的副作用。以下是FLM_FTK_SEARCH宏的示例:
# FLM_FTK_SEARCH # -------------- # Define AC_ARG_VAR (user variables), FTKLIB, and FTKINC, # allowing the user to specify the location of the flaim