测试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@”}]}。