www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - SCons, Linking and D

reply Russel Winder <russel winder.org.uk> writes:
Is there anyone out there using a mix of D with C/C++ and Fortran?

SCons goes to great lengths to be able to support almost arbitrary
combinations of C, C++, and Fortran -- where the compilers allow the
linker to link such combinations. Clealy mixing C and C++ or C and
Fortran are (relatively) straightforward, but mixing C++ and Fortran is
a problem. Adding DMD/GDC/LDC to this mix leads to a combinatorial issue
-- especially since the command line structures of dmd, gdc and ldc are
so different.

I am (slowly) arriving at the point of view that SCons support for D
should not be separate from the C, C++ and Fortran infrastructure, but
be an integral part of it -- it almost is already, so this is not as big
a deal as at first thought (possibly). On the other hand it is a big
deal because it involves solving some swept under the carpet issues...

--=20
Russel.
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D
Dr Russel Winder      t: +44 20 7585 2200   voip: sip:russel.winder ekiga.n=
et
41 Buckmaster Road    m: +44 7770 465 077   xmpp: russel winder.org.uk
London SW11 1EN, UK   w: www.russel.org.uk  skype: russel_winder
May 11 2012
parent reply Jacob Carlborg <doob me.com> writes:
On 2012-05-11 09:33, Russel Winder wrote:
 Is there anyone out there using a mix of D with C/C++ and Fortran?

 SCons goes to great lengths to be able to support almost arbitrary
 combinations of C, C++, and Fortran -- where the compilers allow the
 linker to link such combinations. Clealy mixing C and C++ or C and
 Fortran are (relatively) straightforward, but mixing C++ and Fortran is
 a problem. Adding DMD/GDC/LDC to this mix leads to a combinatorial issue
 -- especially since the command line structures of dmd, gdc and ldc are
 so different.
Do you mean that between each other or compared to the C/C++/Fortan compilers? Both GDC (gdmd) and LDC (ldmd) ship with a wrapper script that emulates the DMD command lines. -- /Jacob Carlborg
May 11 2012
parent reply Gour <gour atmarama.net> writes:
On Fri, 11 May 2012 10:06:52 +0200
Jacob Carlborg <doob me.com> wrote:

 Both GDC (gdmd) and LDC (ldmd) ship with a wrapper script that
 emulates the DMD command lines.
Is it really required for GDC & LDC to emulate DMD's command line or those scripts serve as poor-man's crutches only? Sincerely, Gour --=20 While contemplating the objects of the senses, a person=20 develops attachment for them, and from such attachment lust=20 develops, and from lust anger arises. http://atmarama.net | Hlapicina (Croatia) | GPG: 52B5C810
May 11 2012
parent reply Russel Winder <russel winder.org.uk> writes:
On Fri, 2012-05-11 at 17:06 +0200, Gour wrote:
 On Fri, 11 May 2012 10:06:52 +0200
 Jacob Carlborg <doob me.com> wrote:
=20
 Both GDC (gdmd) and LDC (ldmd) ship with a wrapper script that
 emulates the DMD command lines.
=20 Is it really required for GDC & LDC to emulate DMD's command line or those scripts serve as poor-man's crutches only?
gdc normally follows the gcc command line conventions, which seems reasonable as it is intended to be part of GCC :-) gdc happens to also offer gdmd which is an adaptor between the dmd command line conventions and gdc activity. This seems fine to me since it means gdc can act as a drop in replacement for dmd as well as being the D part of the GCC toolchain. Not sure about LDC, haven't really been able to use it yet. --=20 Russel. =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D Dr Russel Winder t: +44 20 7585 2200 voip: sip:russel.winder ekiga.n= et 41 Buckmaster Road m: +44 7770 465 077 xmpp: russel winder.org.uk London SW11 1EN, UK w: www.russel.org.uk skype: russel_winder
May 11 2012
parent Jacob Carlborg <doob me.com> writes:
On 2012-05-11 17:20, Russel Winder wrote:

 gdc normally follows the gcc command line conventions, which seems
 reasonable as it is intended to be part of GCC :-) gdc happens to also
 offer gdmd which is an adaptor between the dmd command line conventions
 and gdc activity. This seems fine to me since it means gdc can act as a
 drop in replacement for dmd as well as being the D part of the GCC
 toolchain.

 Not sure about LDC, haven't really been able to use it yet.
Should be the same there as well. -- /Jacob Carlborg
May 11 2012