如何在m4_esyscmd中使用m4_define宏定义的变量?
How to use a variable which is defined by m4_define macro in m4_esyscmd?
我想用 configure.ac
中的以下代码做一些类似的事情:
m4_define([product], [NGU29832])
m4_define([version], [R1A1])
然后像这样在 AC_INIT
宏中使用这些变量:
AC_INIT([foo], m4_esyscmd([$(pwd)/modify_version_script.sh $version $product]))
不幸的是,这不起作用,因为 $version
和 $product
在解析为 m4_esyscmd
宏时都是空的。
有人知道怎么做吗?
$version
和$product
在M4Sugar层中不存在:它们是M4变量:
m4_define([product], [NGU29832])
m4_define([version], [R1A1])
AC_INIT([foo], [m4_esyscmd([$(pwd)/modify_version_script.sh version product])])
应该适合你。
我找到了解决方案:
m4_define([product], [NGU29832])
m4_define([version], [R1A1])
AC_INIT([foo], m4_esyscmd([$(pwd)/modify_version_script.sh m4_defn([version] m4_defn([product])))
我想用 configure.ac
中的以下代码做一些类似的事情:
m4_define([product], [NGU29832])
m4_define([version], [R1A1])
然后像这样在 AC_INIT
宏中使用这些变量:
AC_INIT([foo], m4_esyscmd([$(pwd)/modify_version_script.sh $version $product]))
不幸的是,这不起作用,因为 $version
和 $product
在解析为 m4_esyscmd
宏时都是空的。
有人知道怎么做吗?
$version
和$product
在M4Sugar层中不存在:它们是M4变量:
m4_define([product], [NGU29832])
m4_define([version], [R1A1])
AC_INIT([foo], [m4_esyscmd([$(pwd)/modify_version_script.sh version product])])
应该适合你。
我找到了解决方案:
m4_define([product], [NGU29832])
m4_define([version], [R1A1])
AC_INIT([foo], m4_esyscmd([$(pwd)/modify_version_script.sh m4_defn([version] m4_defn([product])))