News:

Accounts with zero posts and zero activity during the last months will be deleted periodically to fight SPAM!

Main Menu

D Programming Language Support

Started by nocide, March 23, 2010, 12:58:11 PM

Previous topic - Next topic

bioinfornatics

#30
gdc project is near to death it is the reason why i choose ldc compiler.
And all package about D in ubuntu are outdated for this reason i use fedora for D programming

michaelp


afb

#32
Quote from: michaelp on August 15, 2010, 08:29:13 PM
GDC is active!

See http://bitbucket.org/goshawk/gdc/wiki/Home for more information.

I'm not sure if Tango works with GDC any more, the latest release (0.99.9) only said DMD and LDC.

On the other hand I'm not sure if Phobos works with LDC, maybe that was why Fedora chose Tango.

michaelp

GDC isn't officially supported by Tango, but I think that it is quite possible to get Tango compiling with GDC without much effort.

And LDC comes with Tango rather than Phobos. I'm not sure if LDC actually works with Phobos though.

afb

#34
Quote from: michaelp on August 20, 2010, 04:56:03 AM
GDC isn't officially supported by Tango, but I think that it is quite possible to get Tango compiling with GDC without much effort.

It used to work in Tango 0.99.8, as long as you used GDC trunk and not 0.24.
Not sure about Windows though, recall there were some issues with MinGW...

* http://dsource.org/projects/tango/wiki/0_99_8_GdcDownloads

bioinfornatics

so LDC support will be great
thanks

afb

Quote from: bioinfornatics on August 23, 2010, 05:51:53 PM
so LDC support will be great

I'll do it. Some of the D2 support will take longer, though.
But GDC/LDC doesn't work very well with D2 yet anyway.

Changes to "hello.d" won't work with Tango, so a no-go...
(that silly old printf example is still the upstream default)

bioinfornatics

import tango.io.Stdout;
void main(){
    Stdout("Hello word").nl;//print to stdout
}

afb

Quote from: bioinfornatics on August 27, 2010, 05:39:02 PM
import tango.io.Stdout;
void main(){
    Stdout("Hello word").nl;//print to stdout
}


And that doesn't work with Phobos... See how that's a problem ? :-)

So for each application, you'd need to choose which library to use.

Or use something silly, like printf or lots of version() statements.


version (Tango)
import tango.io.Stdout;
else // Phobos
import std.stdio;

void main()
{
  version (Tango)
  Stdout ("Hello, World!").newline;
  else // Phobos
  writefln("Hello, World!");
}


And that's after choosing between using D and D2 (like C and C++).

afb

By the way, if you want GDC there's http://gdcgnu.sourceforge.net/
It's for an older version of Fedora (like 5) and GCC (than 4.5), though.

But it comes with either of Phobos (standard) or Tango (alternative).
Just add GCC: https://sourceforge.net/projects/gdcgnu/files/gdc/r229/

bioinfornatics

#40
Now codeblocks support ldc  :P
How to: http://blog.fedora-fr.org/bioinfornatics/
But they are not yet a smart auto completion  :?

I can not add gdc to fedora because gdc team do not want merge with gcc project is a big problem, and they support only an old gcc release alwayse gcc version -1. If they do no not change this they will go never in fedora.

Any question need submit here: https://bugzilla.redhat.com/show_bug.cgi?id=628269

afb

Quote from: bioinfornatics on September 03, 2010, 03:13:53 AM
Now codeblocks support ldc  :P
How to: http://blog.fedora-fr.org/bioinfornatics/

You are welcome. ;-)

By the way, you don't need to set the "Tango" and "Posix" versions since they are pre-defined by the system...

QuoteBut they are not yet a smart auto completion  :?

There are several things missing from D support. Mostly because it is implemented as a "weird C++ compiler", rather than adding any new PROGRAM_D feature to Code::Blocks. But it should work well enough as a basic IDE, and it could eventually work for doing GUI:



The wizard feature isn't done, but you can build code ? There's details on http://wxd.sourceforge.net/. It should even limp along with LDC, although getting the `wx-config --libs` into the CB project is a nightmare because of the weird syntax. (so use make COMPILER=LDC LIBRARY=Tango)

QuoteI can not add gdc to fedora because gdc team do not want merge with gcc project is a big problem, and they support only an old gcc release alwayse gcc version -1. If they do no not change this they will go never in fedora.

I know, that has always been the case (and the reason for setting up gdcgnu.repo). It cannot be merged into GCC because of copyright assignments, and it lags behind the latest release sufficiently to make it unavailable in Fedora.

But for other distributions, that allow more than one version of GCC, it is available in the repositories. Like Ubuntu or FreeBSD. But I suppose there could be a new package of "gcc43-d" (containing gdc-4.3) made for it...

bioinfornatics

#42
ok i found the spec file if i have enough time i wil add gdc in fedora repo

I do not understand what is your picture?

afb

Quote from: bioinfornatics on September 03, 2010, 01:38:36 PM
I do not understand what is your picture?

Well, currently you have one "Console Application" (for C/C++) and one "D Application" (for D). It would be more integrated if there was just one "Console Application" project (for C/C++/D)

And this extends to most of the other projects too, such as the "wxWidgets" project shown there. It would use something like minimal.d instead of the corresponding minmal.cpp, to make a GUI ?

At least that was the original idea...

You could also use GtkD or SDL, GL.


bioinfornatics

i seen you are wxd developper, but this project has a very low activity no?