[Perl 6 Microgrant] First steps

speters on 2007-03-26T20:15:23

So, now it's official. Time to go to work.

The first thing I want to look at is Intel C++ support for Parrot. I have to take this on somewhat carefully for a few reasons.

  • Like gcc, Intel C++ spans multiple operating systems including Windows and Mac OS X.
  • Compiler flags differ depending on the OS.
  • Most annoyingly, Intel C++ tries to look like gcc, but isn't anywhere near compatible.
  • Advice from Klortho #11912 applies to icc's math capabilities

I need to look Parrot's current processes for identifying Intel C++ so we do not have to repeat the logic for each operating system hint file where Intel C++ is supported. My thoughts now are to identify Intel C++ earlier in the Parrot configuration chain, but I haven't decided yet whether this should be when we check for gcc, or if this check should be done separately.


why C++; why Sun and Intel compilers on Linux?

offby1 on 2007-03-26T20:57:47

Just out of curiosity -- why do you want to get those particular platforms working? C++ is puzzling since afaik Parrot is written in C; Sun and Intel is puzzling since gcc is available on Linux.

Re:why C++; why Sun and Intel compilers on Linux?

sigzero on 2007-03-26T23:01:31

gcc isn't the only compiler...

This is one of the stated goals:

Similarly, compiling Parrot with Intel C++ and Sun Studio 12 for Linux, application of any necessary patches, and cleanup of compiler specific issues.

Re:why C++; why Sun and Intel compilers on Linux?

offby1 on 2007-03-26T23:51:37

I guess I was really asking: _why_ are those the goals? I'm not trying to be snippy here; I simply genuinely don't understand why gcc doesn't suffice. I imagine there's a good reason; I just don't know what it is.

Re:why C++; why Sun and Intel compilers on Linux?

speters on 2007-03-27T02:55:36

While gcc is generally a good all purpose compiler, other compilers are often more strict about writing good C code and typically reward you with better optimization, smaller executables and libraries, or a combination of the two. My experiences with Perl 5 is that both compilers generate smaller and faster Perl execuables than gcc. I would assume that this would be plus for embedded systems developers. Intel C++ is also used by some Gentoo users as their default compiler. Making Parrot work with Intel C++ would be very helpful for those users.

While the name of the compiler is Intel C++, its primary use for this grant is as a C compiler. Making Parrot compile with C++ is not a listed goal for this project, but if I can get to it, I will.

Re:why C++; why Sun and Intel compilers on Linux?

link on 2007-03-27T07:28:04

I do not follow the mailing lists much but isn't a c++ compiler (actually maybe I mean a c++ aware linker) required if you want to use ICU as part of parrot? I do not think there has been much discussion of late but at one stage icu was supposed to be the default way for parrot to handle character sets stuff.

Re:why C++; why Sun and Intel compilers on Linux?

speters on 2007-03-27T12:26:22

A C++ compiler is required for linking, but not for compiling. A C++ compiler trying to compile Parrot would run into problem quickly, but it can handle linking the .o's just fine.

Excellent!

chromatic on 2007-03-26T21:01:10

I really look forward to your work. This is an excellent grant.

Re:Excellent!

speters on 2007-03-27T13:43:55

Thanks! I sincerely hope I can get things working again for some of the platforms, and better than before for the rest.

Guest access to OSes

drhyde on 2007-03-28T14:01:00

I saw in the TPF news wossname that "as I only have guest access for the majority of these platforms, the work is dependent on continued access to these systems". I'm happy to set up an account for you on OpenBSD if you need it.

Re:Guest access to OSes

speters on 2007-04-01T04:14:42

Oh, sorry I missed your post. I do have the assorted BSDs hanging around the house. However, I can't quite get a HP Superdome to fit nicely under my desk ;)