5.13 Erlang图书馆

以下宏检查Erlang/OTP的安装,以及存在某些Erlang库。所有这些宏都需要Erlang解释器和Erlang编译器的配置(请参见Erlang编译器和解释器特性).

宏:AC_ERLANG_SUBST_ERTS_VER公司

设置输出变量ERLANG_ERTS_VER公司到的版本Erlang运行时系统(由Erlang返回erlang:system_info(版本)功能)。此测试的结果如果在运行时启用缓存,则缓存配置. TheERLANG_ERTS_VER公司变量不用于测试用于特定ERTS版本的功能,但用于替代Erlang/OTP发布资源文件中的ERTS版本(.rel文件文件),如下所示。

宏:AC_ERLANG_SUBST_ROOT_DIR公司

设置输出变量ERLANG_ROOT_DIR公司通往基地的道路安装Erlang/OTP的目录(由Erlang返回代码:root_dir/0功能)。如果运行时启用缓存配置.

宏:AC_ERLANG_SUBST_LIB_DIR公司

设置输出变量ERLANG_LIB_DIR公司到图书馆的路径Erlang/OTP的目录(由Erlang返回代码:lib_dir/0函数),每个子目录包含一个已安装的Erlang/OTP库。如果启用了缓存,则会缓存此测试的结果运行时配置.

宏:AC_ERLANG_CHECK_LIB公司 (图书馆,[已找到操作if],[非基金行动])

测试Erlang/OTP库图书馆由安装呼叫Erlang的代码:lib_dir/1功能。这一切的结果如果在运行时启用了缓存,则会缓存测试配置.已找到操作if是要在库已安装;非基金行动是用于如果不是,就跑。此外,如果安装了库,则输出变量'ERLANG_LIB_DIR公司_图书馆'设置为指向库安装目录和输出变量ERLANG_LIB_VER公司_图书馆'设置为子目录名称的一部分(如果是标准格式)(图书馆-版本). 如果目录名没有有版本部件,'ERLANG_LIB_VER公司_图书馆'设置为空字符串。如果未安装库,ERLANG_LIB_DIR公司_图书馆'和ERLANG_LIB_VER公司_图书馆'设置为“未找到”。对于示例,检查库标准库已安装:

AC_ERLANG_CHECK_LIB([标准库],[echo“stdlib版本\”$ERLANG_LIB_VER_stdlib\“”echo“安装在\“$ERLANG_LIB_DIR_stdlib\”“]中,[AC_MSG_ERROR([未找到stdlib!])])

ERLANG_LIB_VER公司_图书馆'变量(由设置AC_ERLANG_CHECK_LIB公司)和ERLANG_ERTS_VER公司变量(套通过AC_ERLANG_SUBST_ERTS_VER公司)不打算用于测试特定版本的库或Erlang的功能运行时系统。这些变量拟在Erlang版本资源文件(.rel文件文件)。例如,到生成示例.rel应用程序的文件取决于标准库图书馆,配置.ac可能包含:

AC_ERLANG_SUBST_ERTS_VER公司AC_ERLANG_CHECK_LIB([标准库],[],[AC_MSG_ERROR([未找到stdlib!])])AC_CONFIG_FILES([example.rel])

这个示例.rel.in用于生成的文件示例.rel应包含:

{释放,{“@PACKAGE@”,“@VERSION@”},{erts,“@ERLANG_erts_VER@”},[{stdlib,“@ERLANG_LIB_VER_stdlib@”},{@PACKAGE@,“@VERSION@”}]}。

除了测试安装的Erlang库的上述宏之外以下宏确定新生成的目录的路径要安装Erlang库:

宏:AC_ERLANG_SUBST_INSTALL_LIB_DIR公司

设置ERLANG_INSTALL_LIB_DIR公司将变量输出到目录中每个构建的Erlang库都应该安装在单独的子目录。如果在以下情况下未在环境中设置此变量配置跑,其默认值为${libdir}/erlang/lib.

宏:AC_ERLANG_SUBST_INSTALL_LIB_SUBDIR公司 (图书馆,版本)

设置“ERLANG_INSTALL_LIB_DIR公司_图书馆'输出变量到内置Erlang库所在的目录图书馆版本版本应安装。如果未在环境,当配置运行时,其默认值为$ERLANG_INSTALL_LIB_DIR(美元)/图书馆-版本',的值ERLANG_安装_LIB_DIR变量由AC_ERLANG_SUBST_INSTALL_LIB_DIR公司宏。