Dskel
From Sukimashita
Version: 1.0.0 - RSS Changelog - Browse Repository - Devtalk
Contents |
[edit] About

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
- 2007-06-15 R31 by mszulecki
Add example of header generation and install to include directory. - 2007-06-13 R30 by mszulecki
Make libtool use GDC and fix CC variable usage. - 2007-06-13 R29 by mszulecki
Remove obsolete configure line. - 2007-06-12 R28 by fschaefer
* added "--disable-doc" option - 2007-06-11 R27 by mszulecki
Add basic HTML documentation generation and installation.
[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.