[RFC PATCH] configure: Create sh.config based on Makefile.config data
Tomi Ollila
tomi.ollila at iki.fi
Sun May 25 08:54:08 PDT 2014
On Sun, May 25 2014, Jani Nikula <jani at nikula.org> wrote:
> On Sun, 11 May 2014, Tomi Ollila <tomi.ollila at iki.fi> wrote:
>> Read Makefile.config and when line matches var = val assignment
>> create _var='val' from it. var must match [a-zA-Z_][a-zA-Z0-9_]*
>> and val [^'\]* ('\' usually meaning multiline assignments).
>>
>> Write these lines to sh.config.
>>
>> sh.config can then be used e.g. in test scripts.
>
> I like the general idea here much better than [1] or the symlinks that
> we have now. However I'm wary of the sed magic and the various ways it
> might trip over. The resulting file has way more info than we need, but
> then it also misses the multiline settings (which we luckily don't
> need).
>
> At the risk of duplicating stuff, I'd go with manually generated config
> for shell with minimal amount of information. For now, we'd only need
> this for HAVE_XAPIAN_COMPACT and HAVE_MAN (the latter of which could
> also be dropped from Makefile.config).
I agree with this. It looks simpler and cleaner to an outside observer.
I don't think the duplication of (one variable now) stuff is of any issue
here (now or in foreseeable future).
>
> BR,
> Jani.
>
>
> [1] id:1399737224-79348-1-git-send-email-cceleri at cs.stanford.edu
In any case, this sh.config to be useful sourcing of it needs to be
added to test/test-lib.sh and then used in the followup patch of
the above...
Tomi
>> ---
>> configure | 5 +++++
>> 1 file changed, 5 insertions(+)
>>
>> diff --git a/configure b/configure
>> index 9bde2eb72b0e..feb0e480f86a 100755
>> --- a/configure
>> +++ b/configure
>> @@ -935,3 +935,8 @@ CONFIGURE_CXXFLAGS = -DHAVE_GETLINE=\$(HAVE_GETLINE) \$(GMIME_CFLAGS) \\
>>
>> CONFIGURE_LDFLAGS = \$(GMIME_LDFLAGS) \$(TALLOC_LDFLAGS) \$(ZLIB_LDFLAGS) \$(XAPIAN_LDFLAGS)
>> EOF
>> +
>> +# Create sh.config based on Makefile.config values.
>> +# Output will be _var='val', val not containing ' nor \ (skipping multiline).
>> +sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\) *= *\([^\\'\'']*\)$/_\1='\''\2'\''/p' \
>> + Makefile.config > sh.config
>> --
>> 1.8.0
>>
>> _______________________________________________
>> notmuch mailing list
>> notmuch at notmuchmail.org
>> http://notmuchmail.org/mailman/listinfo/notmuch
> _______________________________________________
> notmuch mailing list
> notmuch at notmuchmail.org
> http://notmuchmail.org/mailman/listinfo/notmuch
More information about the notmuch
mailing list