[Top][All Lists]
[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...
- Porting m4 to z/OS,
David Crayford <=