Hi, Eric Blake <ebl...@redhat.com> writes:
> On 3/14/19 5:46 PM, Nikolai Merinov wrote: >> * tests/demo.at (_LT_DEMO_SETUP): $@ expanded to empty string during >> _LT_DEMO_SETUP expanding. Avoid $@ usage inside m4_define call. > > It is not necessary to avoid $@, you just merely have to quote it so > that m4 doesn't eat it. > >> --- >> tests/demo.at | 15 ++++++++++----- >> 1 file changed, 10 insertions(+), 5 deletions(-) >> >> diff --git a/tests/demo.at b/tests/demo.at >> index 4eb156cf..a10520b0 100644 >> --- a/tests/demo.at >> +++ b/tests/demo.at >> @@ -121,11 +121,16 @@ else >> >> # Create a script that says that -dlopen is not supported. >> bin_SCRIPTS = helldl >> -helldl helldl$(EXEEXT): >> - rm -rf $@ >> - echo '#! /bin/sh' > $@ >> - echo 'echo sorry, -dlopen is unsupported' >> $@ >> - chmod +x $@ > > Writing $[@] is generally sufficient to keep m4 from eating things. If > that fails, m4sh supports quadrigraphs, where you can write @S|@@ to get > $@ in the resulting file. An additional quotation had had no effect: $@ --> empty string $[@] --> $[@] [$@] --> [] But your suggestion with quadrigraph works well. Updated patch attached. Regards, Nikolai
>From 0a9bd9dab0a2ad7149ab0411a7a93837abdcf5b7 Mon Sep 17 00:00:00 2001 From: Nikolai Merinov <nikolai.meri...@member.fsf.org> Date: Fri, 15 Mar 2019 01:39:46 +0500 Subject: [PATCH 2/2] tests: fix helldl rule generation in _LT_DEMO_SETUP macro * tests/demo.at (_LT_DEMO_SETUP): $@ expanded to empty string during _LT_DEMO_SETUP expanding. Use quadrigrapth to emit $@ in resulting file. --- tests/demo.at | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/tests/demo.at b/tests/demo.at index 4eb156cf..7d66e2aa 100644 --- a/tests/demo.at +++ b/tests/demo.at @@ -122,10 +122,10 @@ else # Create a script that says that -dlopen is not supported. bin_SCRIPTS = helldl helldl helldl$(EXEEXT): - rm -rf $@ - echo '#! /bin/sh' > $@ - echo 'echo sorry, -dlopen is unsupported' >> $@ - chmod +x $@ + rm -rf @S|@@ + echo '#! /bin/sh' > @S|@@ + echo 'echo sorry, -dlopen is unsupported' >> @S|@@ + chmod +x @S|@@ endif -- 2.21.0