No, alas. Code is proprietary and the compiler is licensed too.

From: David Cole [mailto:david.c...@kitware.com]
Sent: Tuesday, October 25, 2011 1:41 PM
To: Phil Smith
Cc: Eric Noulard; Brad King; cmake@cmake.org; Bill Hoffman; Janet Graff
Subject: Re: [CMake] CMake still broken post-2.8.1

Is your project's source publicly available? And are these compilers freely 
available, too?

It may be easier for us to help with a more complete picture of what's going 
on...

On Tue, Oct 25, 2011 at 1:32 PM, Phil Smith 
<p...@voltage.com<mailto:p...@voltage.com>> wrote:
Replying inline is getting unwieldy, so I've excerpted what I'm replying to 
here.

> Do you have a platform file for IBM_ZOS as well?
Yes, there's a platform file, IBM_ZOS.cmake:

INCLUDE(Platform/UnixPaths)

(exciting, huh?)

> what is the compiler ID found?
-- The C compiler identification is unknown

> may be you could try for force compiler:
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

>You did this in a clean build tree, right?
Well, I whacked the CMakeCache.txt and the CMakeFiles directory.

> May be with a REXX script ?
I don't think I can wrap it in a Rexx script -- that's how we got here, eh? I 
did try this:

SET(CMAKE_C_COMPILER   "cc.rex")
SET(CMAKE_C_FLAGS "dcc.exe")

...since .rex is associated with Regina anyway. That got further, but it got to:
Check for working C compiler: C:/SVN/Dignus/cc.rex
...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!).

> Line 29 for which CMake version?
> Do you mean this line:
Yes, that's the line I meant.

> I think it means replace spaces with ";" in order to get a proper list.
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?

-----Original Message-----
From: Eric Noulard 
[mailto:eric.noul...@gmail.com<mailto:eric.noul...@gmail.com>]
Sent: Tuesday, October 25, 2011 12:40 PM
To: Phil Smith
Cc: Brad King; cmake@cmake.org<mailto:cmake@cmake.org>; Bill Hoffman; David 
Cole; Janet Graff
Subject: Re: [CMake] CMake still broken post-2.8.1
2011/10/25 Phil Smith <p...@voltage.com<mailto:p...@voltage.com>>:
> OK, but it should then reject the extra parameters, since it used to work.

Difficult to warn about a usage you did not even dream of ?
Now that we know I agree there should be a warning
(if not a clean failure with explanation).

>
> In any case, I've changed the toolchain file:
> ----------------------------------------
> # This is a CMake Toolchain file, required for cross-compiling using
> # the Dignus cross-compilers on Windows, compiling for z/OS.
>
> # Tell CMAKE the target system name
> SET(CMAKE_SYSTEM_NAME "IBM_ZOS")

Do you have a platform file for IBM_ZOS as well?

if not
what is the compiler ID found?
"The C compiler identification is <WhatsInHere>"

may be you could try for force compiler:
see
http://www.cmake.org/Wiki/CMake_Cross_Compiling#The_toolchain_file
and
cmake --help-module CMakeForceCompiler

[...]

> ----------------------------------------
> ...and the behavior persists:
> C:/Program Files/Regina/regina.exe  cc.rex;dcc.exe  CMakeCCompilerId.c

You did this in a clean build tree, right?


> 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.

May be with a REXX script ?
Just a wild guess because I did only write 2 lines of REXX in my life
so I may be wrong about the REXX capability.

> 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.

Line 29 for which CMake version?
Do you mean this line:
STRING(REGEX REPLACE " +" ";" CMAKE_${lang}_COMPILER_ID_ARG1
"${CMAKE_${lang}_COMPILER_ID_ARG1}")


>
> Why are the semicolons being inserted? If I wanted semicolons between the 
> parameters, why wouldn't I just specify them?
>
> Brad, your comment in the thread says:
>>Teach compiler identification to support values such as
>>  export CC='gcc -g -O2'
>>by separating the arguments on spaces.
>
> Not sure what "on spaces" means, but again, it seems wrong to me that 
> anything is messing with my option format.

I think it means replace spaces with ";" in order to get a proper list.

May be the compiler args handling is broken in the cross-compiling case?
Such kind of setup?

--
Erk
Membre de l'April - « promouvoir et défendre le logiciel libre » -
http://www.april.org

--

Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake

Reply via email to