gpt4 book ai didi

autoconf - 如何让autoconf检查-R是否可以传递给flex?

转载 作者:行者123 更新时间:2023-12-03 06:41:29 25 4
gpt4 key购买 nike

显然,MacOS 和 Linux 上的 gnuflex 需要 -R 选项或 %option reentrant 来生成可重入扫描器,但在 FreeBSD 上,它默认生成可重入扫描器并抛出异常如果提供 -R%option reentrant ,则会出现错误。我想让 autoconf 自动检查 gnuflex 是否允许 -R 选项,如果允许,则提供它。我不清楚如何为此进行 autoconf 测试。我的猜测是,我应该使用 -R 在空文件上运行 gnuflex 并检查结果代码并设置某种变量,然后将其添加到 FLEX 选项中,但我不太确定。有什么想法吗?

最佳答案

我假设您已经设置了 $FLEX,可能是 AC_ARG_VARAC_PATH_PROG 的组合。

AC_CACHE_CHECK([whether $FLEX supports -R],
[my_cv_prog_flex_dash_r],
[mv_cv_prog_flex_dash_r=no
echo '%%' | "$FLEX" -R && my_cv_prog_flex_dash_r=yes
rm -f lex.yy.c])
AS_IF([test $my_cv_prog_flex_dash_r = yes], [FLEX="$FLEX -R"])

关于autoconf - 如何让autoconf检查-R是否可以传递给flex?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13545903/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com