autoconf with -pthread

vy3*_*y32 10 autoconf pthreads

问候.我正在尝试创建一个autoconf配置脚本,它自动检查要使用哪个pthread选项,理想情况下,在使用gcc编译时指定-pthread.

我希望AX_PTHREAD能够正常工作,但似乎都不适用于MacOS 10.6.

我正在使用来自http://www.nongnu.org/autoconf-archive/ax_pthread.html的 AX_PTHREAD

由于我不理解的原因,它只是不使用-pthread选项来构建在mac上的脚本.

问题似乎是"none"正在编译而没有错误,因此ax_pthread_flags变量中的其他线程未被检查.

所以我在"无"情况之前移动了-pthread案例并将此案例添加到case语句中:

        -pthread)
        PTHREAD_CFLAGS="-pthread"
        PTHREAD_LIBS="-pthread"
        ;;
Run Code Online (Sandbox Code Playgroud)

这似乎有效,但我不确定它是否适用于非GCC编译器.我甚至不确定我是否应该关心.

同样令人烦恼的是AX_PTHREAD宏只更新CFLAGS,而不更新CPPFLAGS.

有没有更好的方法来使用autoconf测试-pthread选项?

Pet*_*aut 3

PostgreSQL 有一个 AX_PTHREAD 的破解版本,可以解决一些问题:http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/config/acx_pthread.m4。PostgreSQL 构建于 Mac OS X 之上,所以不妨尝试一下。