Is your project's source publicly available? And are these compilers freely available, too?<div><br></div><div>It may be easier for us to help with a more complete picture of what's going on...<div><br><br><div class="gmail_quote">
On Tue, Oct 25, 2011 at 1:32 PM, Phil Smith <span dir="ltr"><<a href="mailto:phil@voltage.com">phil@voltage.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
Replying inline is getting unwieldy, so I've excerpted what I'm replying to here.<br>
<div class="im"><br>
> Do you have a platform file for IBM_ZOS as well?<br>
</div>Yes, there's a platform file, IBM_ZOS.cmake:<br>
<br>
INCLUDE(Platform/UnixPaths)<br>
<br>
(exciting, huh?)<br>
<div class="im"><br>
> what is the compiler ID found?<br>
</div>-- The C compiler identification is unknown<br>
<div class="im"><br>
> may be you could try for force compiler:<br>
</div>I don't understand what that means. Well, maybe I partly do: it means skipping the compile-a-tiny-program. Since I don't understand why I care about that, I don't understand the rest. I inherited our use of CMake, hacked it into working three+ years ago, so maybe<br>
<div class="im"><br>
>You did this in a clean build tree, right?<br>
</div>Well, I whacked the CMakeCache.txt and the CMakeFiles directory.<br>
<div class="im"><br>
> May be with a REXX script ?<br>
</div>I don't think I can wrap it in a Rexx script -- that's how we got here, eh? I did try this:<br>
<br>
SET(CMAKE_C_COMPILER "cc.rex")<br>
SET(CMAKE_C_FLAGS "dcc.exe")<br>
<br>
...since .rex is associated with Regina anyway. That got further, but it got to:<br>
Check for working C compiler: C:/SVN/Dignus/cc.rex<br>
...and that hung. It never called cc.rex in that case (I suspect this is why I was explicitly prefacing it with regina.exe -- it was a long time ago that I set this up!).<br>
<div class="im"><br>
> Line 29 for which CMake version?<br>
> Do you mean this line:<br>
</div>Yes, that's the line I meant.<br>
<div class="im"><br>
> I think it means replace spaces with ";" in order to get a proper list.<br>
</div>OK, but why are arguments to the compiler supposed to be separated with semicolons? That doesn't seem right. Is something later supposed to undo this?<br>
<div class="im"><br>
-----Original Message-----<br>
From: Eric Noulard [mailto:<a href="mailto:eric.noulard@gmail.com">eric.noulard@gmail.com</a>]<br>
Sent: Tuesday, October 25, 2011 12:40 PM<br>
To: Phil Smith<br>
</div><div class="im">Cc: Brad King; <a href="mailto:cmake@cmake.org">cmake@cmake.org</a>; Bill Hoffman; David Cole; Janet Graff<br>
Subject: Re: [CMake] CMake still broken post-2.8.1<br>
<br>
</div><div><div></div><div class="h5">2011/10/25 Phil Smith <<a href="mailto:phil@voltage.com">phil@voltage.com</a>>:<br>
> OK, but it should then reject the extra parameters, since it used to work.<br>
<br>
Difficult to warn about a usage you did not even dream of ?<br>
Now that we know I agree there should be a warning<br>
(if not a clean failure with explanation).<br>
<br>
><br>
> In any case, I've changed the toolchain file:<br>
> ----------------------------------------<br>
> # This is a CMake Toolchain file, required for cross-compiling using<br>
> # the Dignus cross-compilers on Windows, compiling for z/OS.<br>
><br>
> # Tell CMAKE the target system name<br>
> SET(CMAKE_SYSTEM_NAME "IBM_ZOS")<br>
<br>
Do you have a platform file for IBM_ZOS as well?<br>
<br>
if not<br>
what is the compiler ID found?<br>
"The C compiler identification is <WhatsInHere>"<br>
<br>
may be you could try for force compiler:<br>
see<br>
<a href="http://www.cmake.org/Wiki/CMake_Cross_Compiling#The_toolchain_file" target="_blank">http://www.cmake.org/Wiki/CMake_Cross_Compiling#The_toolchain_file</a><br>
and<br>
cmake --help-module CMakeForceCompiler<br>
<br>
[...]<br>
<br>
> ----------------------------------------<br>
> ...and the behavior persists:<br>
> C:/Program Files/Regina/regina.exe cc.rex;dcc.exe CMakeCCompilerId.c<br>
<br>
You did this in a clean build tree, right?<br>
<br>
<br>
> So it's not clear that that's a solution. I can't wrap the regina call because what will I wrap it in? BAT is criminally busted -- it eats equals signs. So later calls with -fwhatever=value will be broken.<br>
<br>
May be with a REXX script ?<br>
Just a wild guess because I did only write 2 lines of REXX in my life<br>
so I may be wrong about the REXX capability.<br>
<br>
> If I comment out line 29 in CMakeDetermineCompilerId.cmake, it works with my old toolchain file, but fails later with the new one, because it appears to call "the compiler" without the "flags", and regina with no arguments produces Help and exits.<br>
<br>
Line 29 for which CMake version?<br>
Do you mean this line:<br>
STRING(REGEX REPLACE " +" ";" CMAKE_${lang}_COMPILER_ID_ARG1<br>
"${CMAKE_${lang}_COMPILER_ID_ARG1}")<br>
<br>
<br>
><br>
> Why are the semicolons being inserted? If I wanted semicolons between the parameters, why wouldn't I just specify them?<br>
><br>
> Brad, your comment in the thread says:<br>
>>Teach compiler identification to support values such as<br>
>> export CC='gcc -g -O2'<br>
>>by separating the arguments on spaces.<br>
><br>
> Not sure what "on spaces" means, but again, it seems wrong to me that anything is messing with my option format.<br>
<br>
I think it means replace spaces with ";" in order to get a proper list.<br>
<br>
May be the compiler args handling is broken in the cross-compiling case?<br>
Such kind of setup?<br>
<br>
--<br>
Erk<br>
Membre de l'April - « promouvoir et défendre le logiciel libre » -<br>
<a href="http://www.april.org" target="_blank">http://www.april.org</a><br>
</div></div></blockquote></div><br></div></div>