如何更改默认的autoconf configure --help输出

时间:2017-03-29 17:11:33

标签: autotools autoconf m4

我想更改autoconf的默认<?xml version="1.0" encoding="utf-8"?> <layout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools"> <data> </data> <com.yourcompany.yourapp.ParentView android:id="@+id/parent_view" android:layout_width="match_parent" android:layout_height="wrap_content" > <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical"> <com.yourcompany.yourapp.ImageSlideshowView android:id="@+id/slideshow_view" android:layout_width="match_parent" android:layout_height="match_parent"> </LinearLayout> </com.yourcompany.yourapp.ParentView> </layout> 输出的内容,特别是configure --help转移HELP_BEGIN的文本。

我意识到这将是一个在autoconf原则下并非完全“犹太”的黑客攻击,但我愿意忍受可移植性等方面的任何后果。但是我不想直接编辑autoconf实现,或者需要对生成的配置脚本执行后处理步骤。

似乎m4的力量应该让我这样做,但我尝试过许多不同的东西,但都没有效果。其中大多数导致m4崩溃,例如:

_AC_INIT_HELP

我该如何做到这一点?

1 个答案:

答案 0 :(得分:3)

终于找到了自己的答案。

关键是利用m4_copy

AC_PREREQ(2.69)
m4_copy([_AC_INIT_HELP],[_MY_INIT_HELP])
m4_define([_AC_INIT_HELP],[patsubst(m4_defn([_MY_INIT_HELP]),[Fine],[Foo])])
AC_INIT(foo,1.0)
AC_OUTPUT()