m4-discuss
[Top][All Lists]
Advanced

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

Porting m4 to z/OS


From: David Crayford
Subject: Porting m4 to z/OS
Date: Wed, 30 Jul 2008 20:23:44 +0800
User-agent: Thunderbird 2.0.0.16 (Windows/20080708)

ouch... This ones tough! I want to port m4 to z/OS. It's been done before but not thoroughly ftp://ftp.mks.com/pub/s390/gnu/.

Of course, my motivation is really to port the GNU build chain, of which m4 is an intrinsic part. Our goal is to port:

-autoconf 2.61
-automake 1.10.1
-m4 1.4.10
-gmake 3.8.1
-libtool 2.2.4
-gzip 1.3.12

What I have found is that porting m4 is non-trivial on an EBCDIC platform. I understand that the industry has spoken and ASCII and it's successors are the dominant forces, but please take pity on us poor EBCDIC sufferers!

IBM made a good start porting GNU tools to the mainframe back in 2001 with the help of mks. There's a site of ported tools which is now starting to look geriatric http://www-03.ibm.com/servers/eserver/zseries/zos/unix/redbook/index.html. The port of m4 was, AFAIK, the base code. It's now time to update the GNU tool chain on z/OS.

EBCDIC is the big issue, m4 relies on the ASCII collating sequence. This was true with the original cut and has become even more prevalent with each new release. I'm thinking it's a good idea for us to maintain a separate patch for EBCDIC?

What's choking the port right now is the expand_ranges function. I can easily patch it by converting EBCDIC to ASCII and then back again but I'm not sure if I quite understand how it's supposed to work. For example, take the following autoconf
code:

m4_translit(AC_Header, [./-], [___])

Does m4_translit treat the [./-] - as a range? Right now it's mangling the headers. What I'm looking for is a fast start, what version of m4 is compatible with autoconf 2.61? Where are the ASCII-EBCDIC hot spots?

Any help will be warmly received...






reply via email to

[Prev in Thread] Current Thread [Next in Thread]