c++ compilers

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

c++ compilers

Timothy Place-2
Hi all,

This is a (hopefully concise) summary of our current compiler situation as we've been trying to navigate through this over the last month+

* On Linux we use GCC 4.7

* On Windows we use MSVC from Visual Studio 2008 (we should investigate updating to 2012)

* On the Mac things are murky
** you can use ICC if you have it (though Nils says its currently broken)
** you can use GCC 4.7 (via macports) if you have it (though debugging in Xcode is problematic)
** you can use GCC 4.2 as installed by Xcode, if you have an old enough version of the operating system and xcode (not all of us do)
** you can use LLVM as installed by Xcode, if you "trick" your your computer into thinking that it's GCC 4.2 (this produces the slowest code of any of these options according to our benchmarking)
** you can use CLANG as installed by newer versions of Xcode if you have a new enough version of the OS and xcode (not all of us do)

The old GCC 4.2 and LLVM also hold us back because of lack of support for the C++11 standard.  If we officially abandon those, then it leaves us on the Mac with:

* ICC if you have $
* CLANG if you have a newer OS (and if we get it working)
* GCC 4.7 from MacPorts if you have an older OS and don't care about debugging

One further point of contention is linking to the C/C++ runtime libraries.  Apple installs the ones used by CLANG, so we do no work ourselves (though I don't know if this requires a minimum version of MacOS -- it might!).  With GCC 4.7 the libraries need to be installed on the machine that a Jamoma build is used on.  I don't know what ICC does or if we have some additional required effort for distribution of binaries.

best,
  Tim


------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and
threat landscape has changed and how IT managers can respond. Discussions
will include endpoint security, mobile security and the latest in malware
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
Jamoma-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/jamoma-devel
Reply | Threaded
Open this post in threaded view
|

Re: c++ compilers

Trond Lossius
Administrator
Hi,

Thanks, Tim. As for the Mac platform:

I'm in the process of setting up a build server at BEK, and plan on installing ICC at some point this week. Once that's done, I'll make sure that core developers have the information in order to be able to log in and build Jamoma and create installers using ICC. This should hopefully also help us doing whatever is required in order to get Jamoma to compile properly using ICC.

BEK will buy an ICC license, so the $$ shouldn't really be an issue for any of us.

Apart from that, the other important concern is to be able to compile in a way that enables the use of the Xcode debugger. I'd say that for a lot of development and debugging git's a prerequisite to be able to step through the code. I don't really care if the compiler functioning with the debugger produce slow and inefficient code, I could always switch to a different compiler once I have bugs ironed out.

So, IMHO the three top proprieties seem to be:

- Get ICC rolling on the BEK server
- Get Xcode and CLANG working, and working with the debugger
- Ensure that the debugger is also working with older versions of Xcode. It's particularly important that we keep support for whatever system Theo use when developing. If not, all of 0.6 development will stall.

So, to me it seems to early to scrap LLVM and GCC 4.2

Best,
Trond




On Aug 27, 2012, at 6:37 PM, Timothy Place <[hidden email]> wrote:

> Hi all,
>
> This is a (hopefully concise) summary of our current compiler situation as we've been trying to navigate through this over the last month+
>
> * On Linux we use GCC 4.7
>
> * On Windows we use MSVC from Visual Studio 2008 (we should investigate updating to 2012)
>
> * On the Mac things are murky
> ** you can use ICC if you have it (though Nils says its currently broken)
> ** you can use GCC 4.7 (via macports) if you have it (though debugging in Xcode is problematic)
> ** you can use GCC 4.2 as installed by Xcode, if you have an old enough version of the operating system and xcode (not all of us do)
> ** you can use LLVM as installed by Xcode, if you "trick" your your computer into thinking that it's GCC 4.2 (this produces the slowest code of any of these options according to our benchmarking)
> ** you can use CLANG as installed by newer versions of Xcode if you have a new enough version of the OS and xcode (not all of us do)
>
> The old GCC 4.2 and LLVM also hold us back because of lack of support for the C++11 standard.  If we officially abandon those, then it leaves us on the Mac with:
>
> * ICC if you have $
> * CLANG if you have a newer OS (and if we get it working)
> * GCC 4.7 from MacPorts if you have an older OS and don't care about debugging
>
> One further point of contention is linking to the C/C++ runtime libraries.  Apple installs the ones used by CLANG, so we do no work ourselves (though I don't know if this requires a minimum version of MacOS -- it might!).  With GCC 4.7 the libraries need to be installed on the machine that a Jamoma build is used on.  I don't know what ICC does or if we have some additional required effort for distribution of binaries.
>
> best,
>   Tim
>
> ------------------------------------------------------------------------------
> Live Security Virtual Conference
> Exclusive live event will cover all the ways today's security and
> threat landscape has changed and how IT managers can respond. Discussions
> will include endpoint security, mobile security and the latest in malware
> threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/_______________________________________________
> Jamoma-devel mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/jamoma-devel


------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and
threat landscape has changed and how IT managers can respond. Discussions
will include endpoint security, mobile security and the latest in malware
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
Jamoma-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/jamoma-devel
Reply | Threaded
Open this post in threaded view
|

Re: c++ compilers

Nils Peters
Hi Trond,

On 12-08-27 11:06 AM, Trond Lossius wrote:
> I don't really care if the compiler functioning with the debugger produce slow and inefficient code, I could always switch to a different compiler once I have bugs ironed out.

this assumes that there are no compiler-depended bugs - that might not
always be true....


cheers,

nils

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and
threat landscape has changed and how IT managers can respond. Discussions
will include endpoint security, mobile security and the latest in malware
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
Jamoma-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/jamoma-devel