我需要识别软件的主要版本,要做到这一点主要是为了执行
命令--version |头| awk -F"。" ' {print $ 1}'
现在,我需要将此输出分配给AC_DEFINE变量。
我已经尝试过了;
majorvar = $(命令--version | head | awk -F"。"' {print $ 1}')
AC_DEFINE_UNQUOTED([myVar的],[" $ majorvar"],[描述])
这里'命令'出现在生成的config.h文件中
和
AC_DEFINE([myVar的],0,[DESCR])
AC_SUBST([myVar],[$(命令--version | head | awk -F"。"' {print $ 1}')])
其中define(0)设置的值出现在结果中。
是否有可能获得我想要的结果,即
#define myVar 5
或者我是以错误的方式解决这个问题,如果是这样,我应该怎么做呢?
BR /帕特里克
答案 0 :(得分:0)
我需要几个月的时间才能将宏的概念付诸实践。 顾名思义,宏比脚本“大”。我希望这个例子能对您有所帮助。
AC_DEFUN([VERSION],
[$(test -f $srcdir/VERSION && cat $srcdir/VERSION || AS_ECHO(["$PACKAGE_VERSION"]); )])
am_stable_version_rx='[[1-9]\.[0-9]+(\.[0-9]+)?]'
am_beta_version_rx="[$am_stable_version_rx[bdfhjlnprtvxz]]"
am_release_type=`AS_ECHO(["$VERSION"]) | LC_ALL=C awk ["
/^$am_stable_version_rx$/ { print \"stable\"; exit(0); }
/^$am_beta_version_rx$/ { print \"beta version\"; exit(0); }
{ print \"development snapshot\"; }"]`
test "$am_release_type" = stable || cat <<EOF
WARNING: You are about to use a $am_release_type of AC_PACKAGE_NAME VERSION.
WARNING: It might easily suffer from new bugs or regressions.
WARNING: You are strongly advised not to use it in production code.
Please report bugs, problems and feedback to <AC_PACKAGE_BUGREPORT>.
EOF
代码段定义: