Main Page Dskel

From Sukimashita

Jump to: navigation, search

Version: 1.0.0 - RSS Changelog - Browse Repository - Devtalk

Contents

[edit] About

d-1-2.png
This package should provide a sample skeleton of an application written in the D Programming Language.

It makes use of the common autotools and the GNU D Compiler (GDC).

The aim is to enable developers to quickly deploy native applications with a "configure && make && make install".

[edit] Features/Todo

A list of features that are demonstrated in the skeleton:

  • GNU autotools with D (90%)
    • MISSING: Give example of imports with package identifiers, e.g.: import some.package.mymodule;
  • i18n internationalization support (100%)
  • libtool support (100%)
  • Generating documentation (100%)

[edit] Recent Changes

Full changelog...

[edit] Requirements

You need the following packages for developing with the sources:

gcc-d
gcc-d-phobos-devel

For running the application binary you will require (except if it is linked with static libgphobos.a):

gcc-d-phobos

[edit] Repository

The official repository can be found and checked-out at:
https://svn.sukimashita.com/repos/dskel/trunk

Checkout using:

svn co https://svn.sukimashita.com/repos/dskel/trunk/ dskel

[edit] Notes on autotools magic with D

  • intltool (i18n, i10n) works using a helper class in catalog.d which needs to be bundled
  • .po language files are created as usual. po/Makevars makes sure xgettext parses D code correctly
  • libtool functionality works
  • config.h becomes config.d.in; add appropriate variables as needed and reference with config.VAR in D code for main program files which require it
  • configure checks for installed GDC compiler
  • Makefile.am:
    • Add $(top_srcdir)/config.d to <name>_LDADD
    • Define .d.o: and .d.di: rules

[edit] FAQ

Q: Hey, D is so much better, why stick to the old mass-macro autotools?
A: There is no D based toolset which satisfies these four groups of people: developers, translators, maintainers and packagers. Autotools is the most used toolset (almost a standard) and enabling D applications to use it brings D onto the level of wider acceptance. Of course once a better solution is available which satisfies the four groups of people and is based on D's advanced architecture, a transition to the new toolset is going to be just logical. Those used to C based autotools GTK+ applications will be able to easily migrate towards a D based development and enjoy all the benefits of D while directly providing the ability to package, translate and maintain the whole project. There are as well a couple of autotools extensions for the GNOME world which should be usable with this skeleton. Simply, the switch from C GNOME application to D GNOME application development will be really painless.

Q: What about DSSS, Rebuild, Bud etc.?
A: Do not satisfy developers, translators, maintainers and packagers yet.

Q: Does is support the old style make update-po and language features?
A: Yes, that was the plan. The update-po rule works from within the po subdirectory and updates translated strings automatically from D sources.

Q: Does the binary and related libraries work from the source directory aswell?
A: autotools correctly creates appropriate wrappers and uses libtool for libraries. However i18n features should only work when installed.

Q: Where do I get gcc-d and related packages for my distribution?
A: For openSuSE 10.2+ you can get experimental packages here or use the distribution-independent packages from here.

[edit] Links


Personal tools