Re: Proper m4 quoting

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 4/14/11 11:49 AM, "Eric Blake" <eblake@xxxxxxxxxx> wrote:

>[please don't top-post on technical lists]

I have much to learn =)

>
>On 04/14/2011 12:39 PM, Too, Justin A. wrote:
>> Hi Eric,
>> 
>> Sorry, here you are:
>
>Thanks.
>
>> 
>> I've tried many permutations of quoting, but obviously I'm missing a
>> fundamental understanding for this use case:
>> 
>> ------------------------------------------------------------------------
>> 
>> AC_DEFUN([SUPPORT_TEST],
>> [
>> AC_MSG_CHECKING([for test])
>> 
>> test_executable="$$][(top_builddir)/scripts/test/bin/my_test"
>
>Why the $$ here?  M4 doesn't give $$ any special treatment, and the m4
>end-quote/start-quote sequence of ][ doesn't really matter.  You ended
>up creating the following line of shell code:
>
>test_executable="$$(top_builddir)/scripts/test/bin/my_test"
>
>and, at shell time, $$ is the process id, explaining your results.

I think in my rush, I was confusing Automake/m4 issues, hence the '$$',
since I was trying to keep the '$'.

>
>> AC_SUBST(QMTEST, [$test_executable])
>
>While this line works as-is (provided QMTEST is not an m4 macro name),
>you are better off getting in the habit of recommended quoting style:
>
>AC_SUBST([QMTEST], [$test_executable])
>
>> 
>> 22839(top_builddir)/scripts/test_harness/test/bin/my_test
>> 
>> I need
>> 
>> $(top_builddir)/scripts/test_harness/test/bin/my_test
>
>Then use:
>
>test_executable="\$(top_builddir)/scripts/test/bin/my_test"
>
>to get a literal $ into the contents of $test_executable, or:
>
>test_executable="$top_builddir/scripts/test/bin/my_test"
>
>if you wanted the shell to expand $top_builddir prior to assigning to
>$test_executable.  At any rate, neither line variant contains anything
>that requires extra m4 quoting or escaping.
>
>-- 
>Eric Blake   eblake@xxxxxxxxxx    +1-801-349-2682
>Libvirt virtualization library http://libvirt.org
>

Thank you for your help, everything is good to go now.


Justin


>


_______________________________________________
Autoconf mailing list
Autoconf@xxxxxxx
http://lists.gnu.org/mailman/listinfo/autoconf


[Index of Archives]     [GCC Help]     [Kernel Discussion]     [RPM Discussion]     [Red Hat Development]     [Yosemite News]     [Linux USB]     [Samba]

  Powered by Linux