[Vm-dev] The Mac VM (pharo)

Göran Krampe goran at krampe.se
Thu Sep 26 07:21:56 UTC 2013


Hey!

(nice to meet at ESUG btw)

On 08/15/2013 08:06 PM, Guillermo Polito wrote:
> So, after digging a bit I've got some results and conclusions:
>
> - The CMake configurations were using gcc to compile, which in mac is
> llvm-gcc
> - Xcode uses clang compiler, not gcc (and some different compiling flags
> also)
> - I've played changing the configuration to use clang compiler

Mmmmm... this is all slightly confusing, so many combos of compilers 
here (I am a Mac n00b), this is what I have (or more?):

gcc --version
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr 
--with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 5.0 (clang-500.2.76) (based on LLVM 3.3svn)
Target: x86_64-apple-darwin12.5.0
Thread model: posix

gcc-4.2 --version
i686-apple-darwin11-gcc-4.2.1 (GCC) 4.2.1 (Apple Inc. build 5666) (dot 3)

llvm-gcc --version
i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1 (Based on Apple Inc. build 
5658) (LLVM build 2336.11.00)

llvm-gcc-4.2 --version
i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1 (Based on Apple Inc. build 
5658) (LLVM build 2336.11.00)

clang --version
Apple LLVM version 5.0 (clang-500.2.75) (based on LLVM 3.3svn)
Target: x86_64-apple-darwin12.5.0
Thread model: posix

(I removed some copyright notices from the above)

> setGlobalOptions: maker
>
>     super setGlobalOptions: maker.
>     maker set: 'CMAKE_C_COMPILER' to: 'clang'.
>     maker set: 'CMAKE_CXX_COMPILER' to: 'clang'.

AFAICT "clang" is the same as "gcc", no? See my printouts above. The 
only difference seem to be the added prefix/include-dir config.

> And to make it work as in gcc I added the following also (in some
> plugins such as mp3plugin there are functions with return type and
> return statements with no values specified).
>
> compilerFlagsRelease
>
>     ^super compilerFlagsRelease, #( '-Wno-return-type' )

Aaaah!! Perfect. I just went through this yesterday and also failed at 
the mpeg3plugin.

> And it compiled with the following results in the tinyBenchmarks:
>
> '510723192 bytecodes/sec; -142407 sends/sec'
 >
> Which is, in the bytecode part, pretty much close to what we expect, and
> in the sends, looks buggy :).
> But the overall performance using the image is far better

Ok, I will try to get the build to use gcc-4.2 (the non LLVM gcc) and 
compare it to the clang (=gcc) VM.

regards, Göran

PS. I am on Mountain Lion and have Xcode 5 installed + CLI tools + brew 
apple-gcc4.2.


More information about the Vm-dev mailing list