[CMake] FW: cmake newbie questions

Phil Smith phil at voltage.com
Mon Aug 4 21:29:21 EDT 2008


I'm not sure, but when I look at the -fascii-ized version of CheckTypeSizeC.o using my text editor on Windows, I find:
        INFO:sizeof[00008]
as I'd expect.

Well, actually I know one answer: the square brackets are a problematic character, and depend on the codepage. I haven't really looked at the code otherwise; since -fascii exists, it would seem to me to be the simpler fix.  To get it to work, I added:

   IF(ZOS)
      SET(MACRO_CHECK_TYPE_SIZE_FLAGS
        "${MACRO_CHECK_TYPE_SIZE_FLAGS} -fasciiout")
   ENDIF(ZOS)

around line 60 of CheckTypeSize.cmake.  Admittedly this is only going to work with Dignus; OTOH, any *other* z/OS cross-compiler will need some other magic, plus it's Really Unlikely that anyone else is going to create such a cross-compiler, so it "feels" safe(ish).  Or I suppose a z/OS-specific variable containing special options could exist, defaulting to -fascii.

...phsiii

-----Original Message-----
From: Alexander Neundorf [mailto:a.neundorf-work at gmx.net]
Sent: Monday, August 04, 2008 5:50 PM
To: cmake at cmake.org
Cc: Phil Smith
Subject: Re: [CMake] FW: cmake newbie questions

On Friday 01 August 2008, Phil Smith wrote:
> Sure, here are two files:
> ctsc.fascii   -- CheckTypeSizeC.c compiled with the Dignus -fascii option
> ctsc.nofascii -- CheckTypeSizeC.c compiled without the Dignus -fascii
> option

The file indeed looks different than all object files I have ever seen.
I tried to "translate" it using the encoding given here:
http://en.wikipedia.org/wiki/EBCDIC but that doesn't seem to work. I
get "info_sizeof" instead of "INFO:sizeof" (note the casing the colon which
became an underscore). Why does that happen ?
And according to that table '0' is 0xF0, and the other digits follow. So why
doesn't
'0' +  (SIZE    % 10)
work to get the correct digit ?
And why are the square brackets missing completely ?

Alex


More information about the CMake mailing list