Re: [PATCH 2/2] tests: fix helldl rule generation in _LT_DEMO_SETUP macro

Nikolai Merinov <[email protected]>
Newsgroups gmane.comp.gnu.libtool.patches
Message-ID <[email protected]>
Hi,

Eric Blake <[email protected]> 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
0002-tests-fix-helldl-rule-generation-in-_LT_DEMO_SETUP-m.patch (text/x-patch, 958 B)
From 0a9bd9dab0a2ad7149ab0411a7a93837abdcf5b7 Mon Sep 17 00:00:00 2001
From: Nikolai Merinov <[email protected]>
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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.