www.digitalmars.com         C & C++   DMDScript  

D.gnu - shared libraries support in gdc and gdc compilation

reply "eles" <eles eles.com> writes:
Hi,

The two quick questions that I have:

- does gdc support shared libraries compilation/linking, or it 
will rely on pending dmd changes to implement that feature?

- does the gdc-4.8 (and, while at it, the gdc-4.7) branch receive 
updates or it is toi be considered as frozen and abandoned?

Thanks,

eles
May 16 2013
parent reply Johannes Pfau <nospam example.com> writes:
Am Thu, 16 May 2013 15:45:06 +0200
schrieb "eles" <eles eles.com>:

 Hi,
 
 The two quick questions that I have:
 
 - does gdc support shared libraries compilation/linking, or it 
 will rely on pending dmd changes to implement that feature?
The dmd backend changes are not needed for gdc, but the druntime changes are. So shared libraries will be available sometime after 2.063 was released and merged into gdc.
 - does the gdc-4.8 (and, while at it, the gdc-4.7) branch receive 
 updates or it is toi be considered as frozen and abandoned?
IIRC the gdc master branch should still work on gcc-4.8 so updating should be easy. I want to update gdc-4.7 and gdc-4.8 soon anyway but I'll probably wait till gdc passes all unittests.
May 16 2013
next sibling parent reply "eles" <eles eles.com> writes:
Just tested with the gdc-4.8 branch:

-> gdc -O0 -g "main.d"    -o 
"/home/e_ftotir/monodevelop-workspace/dtest/bin/Debug/dtest"
Error: cannot find source code for runtime library file 'object.d'
        dmd might not be correctly installed. Run 'dmd -man' for 
installation instructions.


Do you have any idea while gdc will spit out an error message 
asking me to run... dmd?


And how to correct this?
May 16 2013
parent Johannes Pfau <nospam example.com> writes:
Am Thu, 16 May 2013 16:08:24 +0200
schrieb "eles" <eles eles.com>:

 Just tested with the gdc-4.8 branch:
 
 -> gdc -O0 -g "main.d"    -o 
 "/home/e_ftotir/monodevelop-workspace/dtest/bin/Debug/dtest"
 Error: cannot find source code for runtime library file 'object.d'
         dmd might not be correctly installed. Run 'dmd -man' for 
 installation instructions.
 
 
 Do you have any idea while gdc will spit out an error message 
 asking me to run... dmd?
Well, it's a message produced by the frontend and it's hardcoded... We could change this in the frontend, but as we work towards a unified frontend we need a better solution.
 
 And how to correct this?
I assume you haven't used --disable-libphobos when configuring gcc? If you have moved the gdc directory out of the location which was specified with --prefix, that's the problem. gdc is currently not relocatable, I'll provide a fix for that this weekend. If you didn't move gdc I'm not sure what's happening. Please provide a bug report including the output of gdc -v. IIRC there is no way to print the search paths gdc uses, we should probably hook that up to "-print-search-dirs".
May 16 2013
prev sibling next sibling parent "eles" <eles eles.com> writes:
On Thursday, 16 May 2013 at 13:56:14 UTC, Johannes Pfau wrote:

By the way, thank you for the answers.
May 16 2013
prev sibling parent reply Iain Buclaw <ibuclaw ubuntu.com> writes:
On 16 May 2013 14:56, Johannes Pfau <nospam example.com> wrote:

 Am Thu, 16 May 2013 15:45:06 +0200
 schrieb "eles" <eles eles.com>:

 Hi,

 The two quick questions that I have:

 - does gdc support shared libraries compilation/linking, or it
 will rely on pending dmd changes to implement that feature?
The dmd backend changes are not needed for gdc, but the druntime changes are. So shared libraries will be available sometime after 2.063 was released and merged into gdc.
 - does the gdc-4.8 (and, while at it, the gdc-4.7) branch receive
 updates or it is toi be considered as frozen and abandoned?
IIRC the gdc master branch should still work on gcc-4.8 so updating should be easy. I want to update gdc-4.7 and gdc-4.8 soon anyway but I'll probably wait till gdc passes all unittests
Maybe you could help with the unittests passing also. =) Note: libdruntime does not have a check-local, should probably add that in too for those unittests also. -- Iain Buclaw *(p < e ? p++ : p) = (c & 0x0f) + '0';
May 16 2013
parent reply Johannes Pfau <nospam example.com> writes:
Am Thu, 16 May 2013 22:21:03 +0100
schrieb Iain Buclaw <ibuclaw ubuntu.com>:

 
 
 Maybe you could help with the unittests passing also. =)
Yep. BTW: Do you plan to implement exception chaining? Otherwise I might have a look at that. But the unittests are probably more important for now.
May 16 2013
next sibling parent Iain Buclaw <ibuclaw ubuntu.com> writes:
On 17 May 2013 07:22, Johannes Pfau <nospam example.com> wrote:

 Am Thu, 16 May 2013 22:21:03 +0100
 schrieb Iain Buclaw <ibuclaw ubuntu.com>:

 Maybe you could help with the unittests passing also. =)
Yep. BTW: Do you plan to implement exception chaining? Otherwise I might have a look at that. But the unittests are probably more important for now.
I plan to fix this last closure handling bug and leave EH chaining for the moment.... it's a mid-term thing on my list. -- Iain Buclaw *(p < e ? p++ : p) = (c & 0x0f) + '0';
May 16 2013
prev sibling parent "eles" <eles eles.com> writes:
On Friday, 17 May 2013 at 06:22:02 UTC, Johannes Pfau wrote:
 Am Thu, 16 May 2013 22:21:03 +0100
 schrieb Iain Buclaw <ibuclaw ubuntu.com>:

 
 
 Maybe you could help with the unittests passing also. =)
Yep.
Thank you to both of you, guys.
May 17 2013