Re: Issue with AS_TR_CPP, m4_cr_all and EBCDIC codeset

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

 



On 03/27/2010 04:48 PM, Steve Goetze wrote:
> I'm trying to port autoconf to z/os, which uses an EBCDIC codeset.
> I'm having trouble with autoconf where AC_CHECK_HEADERS_ONCE is
> causing a bad string to be emitted to config.h.in.
> 
> For example, what should be "HAVE_STRING_H" is appearing as "_____STRING_H".

Thanks for the report.

> When tracing the call to m4_translit, I see that the second argument
> (the one that uses m4_cr_not_symbols2) looks something like this:
> 
> *[]abcdefghijklmnopqrstuvwxyz...<(+|&.........!HAVE_string.h);^/-...
> 
> The ... represent ranges of mostly unprintable characters.  In the
> middle of the argument, the HAVE_string.h is embedded,
> inappropriately.  Probably unfortunately in the EBCDIC codeset, the
> characters !,$,*,) are adjacent; it appears as if the $* is being
> interpolated to "HAVE_string.h".

That is _exactly_ what is causing the problem.  This is certainly a bug
in autoconf, although EBCDIC is so infrequently encountered that no one
else has ever mentioned it.

It is only $* that is problematic; $! is just fine.  So, the trick is to
figure out how to make m4_cr_not_symbols2 rearrange the symbols to be in
an order that does not interfere with m4 processing.

> 
> At this point, I'm stuck - I'd appreciate any suggestions on how to
> fix this, or even report it as a bug.

You have already reported it as a bug.  However, as I don't have access
to an EBCDIC machine, I will need your help to fix it.  The fix will be
in lib/m4sugar/m4sugar.m4, in the places where all the m4_cr_* macros
are defined, but I'm not exactly sure what to define them to while still
being friendly to your encoding.

-- 
Eric Blake   eblake@xxxxxxxxxx    +1-801-349-2682
Libvirt virtualization library http://libvirt.org

Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
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