10.2宏名称

所有公共Autoconf宏在命名空间'^交流_“防止他们意外地与其他文本;Autoconf还保留名称空间^_交流_'用于内部宏。它们用于内部的所有shell变量目的的大多数小写名称以“”开头交流_’. 自动控制也在名称空间中使用here-document分隔符'^_交流[A-Z]’. 期间配置,Autoconf生成的文件大量使用文件系统名称空间'^conf公司’.

由于Autoconf是建立在M4sugar之上的(请参阅M4sugar编程)和M4sh(参见M4sh编程),你也必须意识到这些命名空间('^_?\(m4\|AS\)_’). 从那以后配置.ac也可通过Autoheader进行扫描,自动扫描、自动更新和自动生成,您应该知道^_?A【HNUM】_'命名空间。总的来说,你不应使用不拥有宏或shell代码的包的命名空间正在写作。

确保宏不与当前或将来冲突Autoconf宏,您应该在自己的宏名称和任何shell前面加前缀它们与其他序列一起使用的变量。可能包括您的缩写,或组织名称的缩写,或软件包。历史上,人们并不总是遵循使用适合其包的名称空间的规则很难确定宏的起源(以及在何处报告有关该宏的错误),以及对真命名空间所有者可以添加新宏,而不受预先存在的宏的干扰使用第三方宏。也许是这种困惑的最好例子AM_GNU_GETTEXT公司宏,它不属于Automake,但到Gettext。

大多数Autoconf宏的名称都遵循结构化命名约定通过名称指示功能检查的类型。宏名称由几个单词组成,由下划线分隔一般到最具体。其缓存变量的名称使用相同的约定(参见缓存变量名称,有关的详细信息他们)。

名称空间首字母缩写之后的名称的第一个单词(例如交流_')通常告诉类别正在测试的功能。以下是Autoconf中使用的类别特定的测试宏,您更可能使用的宏类型写入。它们还用于全小写的缓存变量。使用适用时;如果没有,创建自己的类别。

C

C语言内置功能。

DECL(减速)

头文件中C变量的声明。

FUNC公司

库中的函数。

集团

Posix组文件所有者。

集管

头文件。

伦敦银行同业拆借利率

C库。

黄体脂酮素

程序的基本名称。

成员

骨料的成员。

系统

操作系统功能。

类型

C内置或声明的类型。

变量

库中的C变量。

类别之后是特定功能的名称测试。宏名称中的任何其他单词都表示特定方面功能的。例如,AC_进程_标记_设置检查是否制作将变量设置为自己的名称。

内部宏的名称应以下划线开头;因此,Autoconf内部应以“_交流_’.此外,一个宏是另一个宏的内部子例程应具有以下划线开头的名称及其名称其他宏,后面跟着一个或多个单词,说明内部宏可以。例如,交流路径X具有内部宏_AC_PATH_X_XMKMF接口_AC_PATH_X_方向.