CMakeVMMaker patch

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
12 messages Options
Reply | Threaded
Open this post in threaded view
|

CMakeVMMaker patch

Luc Fabresse
 
Hi Guys,
 
 Find attached CMakeVMMaker-LucFabresse.143.
 
What I did:
 - Add hook CPlatformConfig>>printExtraHeader: to be able to change compiler in Config
 - add config CogMTCocoaIOSGCC42Config which forces gcc-4.2 (useful on OSX with XCode 4.2 that now uses llvm backend)
 - fix StackCocoaIOSCLANGConfig to use compiler clang 

 It seems to work for me ;-)
 Perhaps it could be added in VMMaker repo? 

Cheers,

#Luc


CMakeVMMaker-LucFabresse.143.mcz (118K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: CMakeVMMaker patch

Luc Fabresse
 

2011/12/22 Luc Fabresse <[hidden email]>
Hi Guys,
 
 Find attached CMakeVMMaker-LucFabresse.143.
 
What I did:
 - Add hook CPlatformConfig>>printExtraHeader: to be able to change compiler in Config
 - add config CogMTCocoaIOSGCC42Config which forces gcc-4.2 (useful on OSX with XCode 4.2 that now uses llvm backend)
 - fix StackCocoaIOSCLANGConfig to use compiler clang 

 It seems to work for me ;-)
 Perhaps it could be added in VMMaker repo? 

Cheers,

#Luc


I forgot to say that the other alternative is to use a regular config and the following cmake line:

cmake -D CMAKE_C_COMPILER=gcc-4.2 -D CMAKE_CXX_COMPILER=g++-4.2 . 

it may help someone.

#Luc

Reply | Threaded
Open this post in threaded view
|

Re: CMakeVMMaker patch

EstebanLM
 
Hi,

what you say is to avoid changing default compiler? (without redirecting llvm to gcc)?

cheers,
Esteban


El 22/12/2011, a las 9:32a.m., Luc Fabresse escribió:


2011/12/22 Luc Fabresse <[hidden email]>
Hi Guys,
 
 Find attached CMakeVMMaker-LucFabresse.143.
 
What I did:
 - Add hook CPlatformConfig>>printExtraHeader: to be able to change compiler in Config
 - add config CogMTCocoaIOSGCC42Config which forces gcc-4.2 (useful on OSX with XCode 4.2 that now uses llvm backend)
 - fix StackCocoaIOSCLANGConfig to use compiler clang 

 It seems to work for me ;-)
 Perhaps it could be added in VMMaker repo? 

Cheers,

#Luc


I forgot to say that the other alternative is to use a regular config and the following cmake line:

cmake -D CMAKE_C_COMPILER=gcc-4.2 -D CMAKE_CXX_COMPILER=g++-4.2 . 

it may help someone.

#Luc


Reply | Threaded
Open this post in threaded view
|

Re: CMakeVMMaker patch

Luc Fabresse
 


2011/12/22 Esteban Lorenzano <[hidden email]>
 
Hi,

what you say is to avoid changing default compiler? (without redirecting llvm to gcc)?

yes.
because I like keeping default OS config and because I don't know how to change the default osx compiler ;-)

Cheers,

Luc
 

cheers,
Esteban


El 22/12/2011, a las 9:32a.m., Luc Fabresse escribió:


2011/12/22 Luc Fabresse <[hidden email]>
Hi Guys,
 
 Find attached CMakeVMMaker-LucFabresse.143.
 
What I did:
 - Add hook CPlatformConfig>>printExtraHeader: to be able to change compiler in Config
 - add config CogMTCocoaIOSGCC42Config which forces gcc-4.2 (useful on OSX with XCode 4.2 that now uses llvm backend)
 - fix StackCocoaIOSCLANGConfig to use compiler clang 

 It seems to work for me ;-)
 Perhaps it could be added in VMMaker repo? 

Cheers,

#Luc


I forgot to say that the other alternative is to use a regular config and the following cmake line:

cmake -D CMAKE_C_COMPILER=gcc-4.2 -D CMAKE_CXX_COMPILER=g++-4.2 . 

it may help someone.

#Luc




Reply | Threaded
Open this post in threaded view
|

Re: CMakeVMMaker patch

EstebanLM
In reply to this post by Luc Fabresse
 
ok, I'll see how to integrate it :)

cheers, 
Esteban

El 22/12/2011, a las 9:32a.m., Luc Fabresse escribió:


2011/12/22 Luc Fabresse <[hidden email]>
Hi Guys,
 
 Find attached CMakeVMMaker-LucFabresse.143.
 
What I did:
 - Add hook CPlatformConfig>>printExtraHeader: to be able to change compiler in Config
 - add config CogMTCocoaIOSGCC42Config which forces gcc-4.2 (useful on OSX with XCode 4.2 that now uses llvm backend)
 - fix StackCocoaIOSCLANGConfig to use compiler clang 

 It seems to work for me ;-)
 Perhaps it could be added in VMMaker repo? 

Cheers,

#Luc


I forgot to say that the other alternative is to use a regular config and the following cmake line:

cmake -D CMAKE_C_COMPILER=gcc-4.2 -D CMAKE_CXX_COMPILER=g++-4.2 . 

it may help someone.

#Luc


Reply | Threaded
Open this post in threaded view
|

Re: CMakeVMMaker patch

Jean Baptiste Arnaud
 

It is this change, we need to cross compile before, a simple solution to integrate that. 

CMakeGenerator>>#printHeader
self puts: '# This is automatically generated file using ', self configurationName, ' on ',
Date current asString, ' ' , Time current asString;
puts: 'cmake_minimum_required(VERSION 2.6.2)'.
self config requiresDetermineSystem ifTrue: [
self puts: 'include(CMakeDetermineSystem)'.
]

and add in CPlatformConfig

A method :
CPlatformConfig>>#requiresDetermineSystem
^true

Create a WindowConfiguration as you wish and create a method 

MyWindowConfiguration>>#requiresDetermineSystem
^false



On Dec 12, 2011, at 4:42 PM, Igor Stasenko wrote:


On 12 December 2011 16:33, Mariano Martinez Peck <[hidden email]> wrote:

Hi JB. Could you please tell me how should I run cmake to build for windows? Is there a specific generator?  because if I run:

since you cross-compiling under unix, you use unix makefiles, which is default.
but to generate windows executable, you need different settings in cmake config.
like different compilation target (win32 executable, not ELF) etc.

JB could tell you more :)

cmake --help

at the end the only generators I see are:

Generators

The following generators are available on this platform:
  Unix Makefiles              = Generates standard UNIX makefiles.
  Xcode                       = Generate XCode project files.
  CodeBlocks - Unix Makefiles = Generates CodeBlocks project files.
  Eclipse CDT4 - Unix Makefiles
                              = Generates Eclipse CDT 4.0 project files.
  KDevelop3                   = Generates KDevelop 3 project files.
  KDevelop3 - Unix Makefiles  = Generates KDevelop 3 project files.



Thanks!

On Thu, Jul 7, 2011 at 7:07 PM, Jean Baptiste Arnaud <[hidden email]> wrote:


Since the last Igor ( thank ) update it 's possible to cross compile windows VM(last version) from MacOs and Unix.

Using Mingw and cmake.

Now, i do for Cog, and for ARM9 processor.
My process imply to fix some window file cause some include are wrong, then it the cross compiler don't find some include beginning by Uppercase(cause the file isn't beginning by uppercase).
In /Platform/win32/vm/sqWin32Intel.c

#include <float.h> instead  #include <Float.h>

in /Platform/win32/plugin/SocketPlugin/sqWin32NewNet.c

#include <ws2tcpip.h> instead #include <Ws2tcpip.h>



Regard
Jean Baptiste Arnaud
[hidden email]








--
Mariano
http://marianopeck.wordpress.com





-- 
Best regards,
Igor Stasenko.

Regard
Jean Baptiste Arnaud








-- 
Mariano
http://marianopeck.wordpress.com

On Dec 22, 2011, at 2:12 PM, Esteban Lorenzano wrote:

ok, I'll see how to integrate it :)

cheers, 
Esteban

El 22/12/2011, a las 9:32a.m., Luc Fabresse escribió:


2011/12/22 Luc Fabresse <[hidden email]>
Hi Guys,
 
 Find attached CMakeVMMaker-LucFabresse.143.
 
What I did:
 - Add hook CPlatformConfig>>printExtraHeader: to be able to change compiler in Config
 - add config CogMTCocoaIOSGCC42Config which forces gcc-4.2 (useful on OSX with XCode 4.2 that now uses llvm backend)
 - fix StackCocoaIOSCLANGConfig to use compiler clang 

 It seems to work for me ;-)
 Perhaps it could be added in VMMaker repo? 

Cheers,

#Luc


I forgot to say that the other alternative is to use a regular config and the following cmake line:

cmake -D CMAKE_C_COMPILER=gcc-4.2 -D CMAKE_CXX_COMPILER=g++-4.2 . 

it may help someone.

#Luc



Regard
Jean Baptiste Arnaud




Reply | Threaded
Open this post in threaded view
|

Re: CMakeVMMaker patch

Sean P. DeNigris
Administrator
In reply to this post by Luc Fabresse
Luc Fabresse wrote
cmake -D CMAKE_C_COMPILER=gcc-4.2 -D CMAKE_CXX_COMPILER=g++-4.2 .
This no longer works in Xcode 4.2 (no gcc present)
Cheers,
Sean
Reply | Threaded
Open this post in threaded view
|

Re: CMakeVMMaker patch

Luc Fabresse
 


2012/1/11 Sean P. DeNigris <[hidden email]>


Luc Fabresse wrote
>
> cmake -D CMAKE_C_COMPILER=gcc-4.2 -D CMAKE_CXX_COMPILER=g++-4.2 .
>

This no longer works in Xcode 4.2 (no gcc present)

ok thanks for the info.
It works for me probably because I still use snow leopard and xcode 4.2...

Luc
 

--
View this message in context: http://forum.world.st/CMakeVMMaker-patch-tp4225050p4283856.html
Sent from the Squeak VM mailing list archive at Nabble.com.

Reply | Threaded
Open this post in threaded view
|

Re: CMakeVMMaker patch

Sean P. DeNigris
Administrator
Luc Fabresse wrote
It works for me probably because I still use snow leopard and xcode 4.2...
If you upgraded from an earlier version of Xcode, gcc will remain on your system; but fresh installs do not include it. I installed it from MacPorts (see http://forum.world.st/Xcode-no-longer-includes-gcc-tp4283855p4284100.html).

Luc Fabresse wrote
> > cmake -D CMAKE_C_COMPILER=gcc-4.2 -D CMAKE_CXX_COMPILER=g++-4.2 .
After installing gcc, this line "worked" as shown in this output:
-- The C compiler identification is GNU
-- The CXX compiler identification is GNU
where before is said unknown instead of GNU.

However, when I opened the project in Xcode, it was still using the default compiler, and I had to manually change to gcc anyway.
Cheers,
Sean
Reply | Threaded
Open this post in threaded view
|

Re: CMakeVMMaker patch

EstebanLM

Hi Sean,

thanks for the info... I obviously upgraded my system instead trying a fresh install, that's why I confused things... btw... gcc macport installs arm cross compiler? (something like arm-etc-gcc)

best,
Esteban

El 11/01/2012, a las 10:40a.m., Sean P. DeNigris escribió:

>
>
> Luc Fabresse wrote
>>
>> It works for me probably because I still use snow leopard and xcode 4.2...
>>
> If you upgraded from an earlier version of Xcode, gcc will remain on your
> system; but fresh installs do not include it. I installed it from MacPorts
> (see
> http://forum.world.st/Xcode-no-longer-includes-gcc-tp4283855p4284100.html).
>
>
> Luc Fabresse wrote
>>
>>>> cmake -D CMAKE_C_COMPILER=gcc-4.2 -D CMAKE_CXX_COMPILER=g++-4.2 .
>>
>
> After installing gcc, this line "worked" as shown in this output:
> -- The C compiler identification is GNU
> -- The CXX compiler identification is GNU
> where before is said unknown instead of GNU.
>
> However, when I opened the project in Xcode, it was still using the default
> compiler, and I had to manually change to gcc anyway.
>
> --
> View this message in context: http://forum.world.st/CMakeVMMaker-patch-tp4225050p4285415.html
> Sent from the Squeak VM mailing list archive at Nabble.com.

Reply | Threaded
Open this post in threaded view
|

Re: CMakeVMMaker patch

Luc Fabresse
In reply to this post by Sean P. DeNigris
 

2012/1/11 Sean P. DeNigris <[hidden email]>


Luc Fabresse wrote
>
> It works for me probably because I still use snow leopard and xcode 4.2...
>
If you upgraded from an earlier version of Xcode, gcc will remain on your
system; but fresh installs do not include it. I installed it from MacPorts
(see
http://forum.world.st/Xcode-no-longer-includes-gcc-tp4283855p4284100.html).

ok.
 


Luc Fabresse wrote
>
>> > cmake -D CMAKE_C_COMPILER=gcc-4.2 -D CMAKE_CXX_COMPILER=g++-4.2 .
>

After installing gcc, this line "worked" as shown in this output:
-- The C compiler identification is GNU
-- The CXX compiler identification is GNU
where before is said unknown instead of GNU.

However, when I opened the project in Xcode, it was still using the default
compiler, and I had to manually change to gcc anyway.

yes that is normal.

I think that now you can use my CMakeVMMakerConfig which forces gcc42.
And if you generate the xcode project file from it, it should use gcc42 directly.

Luc 

 

--
View this message in context: http://forum.world.st/CMakeVMMaker-patch-tp4225050p4285415.html
Sent from the Squeak VM mailing list archive at Nabble.com.

Reply | Threaded
Open this post in threaded view
|

Re: CMakeVMMaker patch

Sean P. DeNigris
Administrator
Luc Fabresse wrote
yes that is normal.
Oh, okay; I think I get it. It's just for compiling via make.

Luc Fabresse wrote
I think that now you can use my CMakeVMMakerConfig which forces gcc42.
Cool. I'll take a look when it's integrated into blessed
Cheers,
Sean