[haiku-development] Re: Ada Compiler?

  • From: Patrick Kelly <kameo76890@xxxxxxxxx>
  • To: haiku-development@xxxxxxxxxxxxx
  • Date: Sun, 6 Sep 2009 16:19:54 -0400

On Sep 6, 2009, at 3:45 PM, PulkoMandy wrote:

> 2009/9/6, Patrick Kelly <kameo76890@xxxxxxxxx>:
>> Since the 95 standardization Ada has always had C bindings, while an
>> Ada Binding would mean for nicer looking code (still better off  
>> than C
>> in my opinion) It's very possible to just call through that.
>>
>> What features would you miss? I do understand Florist isn't feature
>> complete, but again, there's no reason you can't use the C calls.
>>
>
> Most of the HaikuAPI is not C, but C++. Can you bind to that too ?

C is basically C++, but yes. One can also bind to Java and Fortran,  
there may be more, but i've never had to use them.
>
>> Why not just add a flag at configuration? When flagged, the system
>> will build with GNAT, and any other compilers included. Not all that
>> different from building GCC, but it'd allow much easier support,
>> without including GNAT in every single system.
>
> I don't know much about gcc build system, but we would ahve to do this
> both with the gcc2 and the gcc4 version, unless it is possible to get
> something done at the binding level to mix C++ gcc2 code with ADA gcc4
> code. And we don't want the compiler to be built each time we update
> the tools used to compile Haiku itself, these are the one we provide
> in the alpha image. It is possible to build an ADA compiler once for
> the gcc2 version and publish it on bebit or haikuware, but this is not
> to be done as part of the main OS toolchain. For the gcc4 version,
> you'd better wait until the API is stabilized, this is scheduled for
> Haiku R2. But one could provide "unsupported" builds for gcc4.

Yes well if one would like to get technical, a C compiler shouldn't be  
included under that logic. Now of corse that would be downright  
ridiculous, I in no way would advocate that. I'm not even sure if  
GCCv2 had GNAT in it. I wanna say GNAT was included with the FSF's GCC  
more near v3. So the Ada compiler could be a Haiku-GCCv4 only deal.

I don't quite see why the API would have to stabilize for GCCv4 but  
not for GCCv2, does v2 magically make the API more stable. Sarcasm  
aside, I was just throwing out possible options, having the compiler  
packaged was the overall objective for me. I don't really care how  
it's provided. I just believe with all that Ada's proven itself by,  
why not make it easier for Ada developers to code for Haiku.
>
>>
>>
>> On Sep 6, 2009, at 3:06 PM, PulkoMandy wrote:
>>
>>> As you say, not so easy :)
>>> I guess it is possible to cross compile it in some way, but I don't
>>> think the idea is to package every existing compiler with Haiku. C  
>>> and
>>> C++ are included in the alpha release as this one is targetted for
>>> developpers of Haiku apps.
>>> If you want to use Ada for Haiku apps, you would need the compiler,
>>> but also an API binding to call theHaiku API. If you want to stick  
>>> to
>>> POSIX, there are binding available, but then why running Haiku ?  
>>> You'd
>>> miss most of the features.
>>>
>>> 2009/9/6, Patrick Kelly <kameo76890@xxxxxxxxx>:
>>>> Possibly a pointless question (may have been already discussed)  
>>>> but I
>>>> feel like I have to ask. Why isn't the GNAT compiler built with
>>>> Haiku?
>>>> As I understand it, the GCC that comes with Haiku contains the C
>>>> and C+
>>>> + compilers. While C++ is the development language, I can't see why
>>>> Ada couldn't be used in the user-land for programs. GCJ and G95 and
>>>> very easy to add to an existing system, but seeing as GNAT is  
>>>> written
>>>> in Ada, well, not so easy anymore.
>>>>
>>>>
>>>
>>>
>>> --
>>> Adrien Destugues / PulkoMandy
>>> Elčve ingénieur ENSSAT EII1- www.enssat.fr
>>> GSoC student for Haiku - http://haiku-os.org
>>> GrafX2 project team - http://code.google.com/p/grafx2
>>>
>>
>>
>>
>
>
> -- 
> Adrien Destugues / PulkoMandy
> Elève ingénieur ENSSAT EII1- www.enssat.fr
> GSoC student for Haiku - http://haiku-os.org
> GrafX2 project team - http://code.google.com/p/grafx2
>


Other related posts: