在bash中,AC_PATH_PROG宏总是在标准路径(如/usr/bin、/bin等)中搜索给定的命令,并返回找到的路径。如果你想要AC_PATH_PROG返回自定义路径,可以通过设置PATH环境变量来实现。
下面是一个示例代码,演示如何使用AC_PATH_PROG宏来搜索自定义路径中的命令:
AC_INIT([myproject], [1.0], [email@example.com])
# 设置自定义路径
MY_OWN_PATH="/my/own/path"
# 设置PATH环境变量,将自定义路径添加到开头
PATH="$MY_OWN_PATH:$PATH"
AC_PATH_PROG([MY_PROG], [prog])
# 打印找到的路径
AC_MSG_NOTICE([Found prog at $MY_PROG])
AC_CONFIG_FILES([Makefile])
AC_OUTPUT
在这个示例中,我们首先定义了一个名为MY_OWN_PATH的变量,将其设置为自定义的路径。然后,我们通过将MY_OWN_PATH添加到PATH环境变量的开头,使得AC_PATH_PROG能够在自定义路径中搜索命令。
接着,我们使用AC_PATH_PROG宏来搜索名为prog的命令,并将找到的路径保存在MY_PROG变量中。最后,我们使用AC_MSG_NOTICE宏打印找到的路径。
请注意,AC_PATH_PROG宏仅在configure脚本运行时生效,对于生成的Makefile或编译后的代码来说是不可见的。如果你需要在编译时使用自定义路径,你需要在Makefile中手动设置。
希望这个示例能帮助你解决问题!