[Dune] duneapps
Christian Engwer
christi at uni-hd.de
Wed Sep 1 15:00:36 CEST 2004
Hallo,
ich hatte gestern eine ganz verrueckte Idee 8-) Ich habe in duneapps
einfach so make eingegeben.
Leider hat es nicht funktioniert. Ich habe schon ein wenig
aufgeraeumt, damit moeglichst viel baut, bzw. habe manche Teile auch
einfach erstmal rausgenommen.
Mir ist folgendes aufgefallen:
1) tester/main.cc kompiliert bei mir garnicht, ich habe auch nicht so
ohne weiteres den Fehler finden koennen. Gleiches gilt fuer
examples/integration/integrate.cc ...
Vielleicht koennte jemand, der sich mit den beiden Programmen
auskennt nochmal reinschauen. Ich weiss nicht, ob das ,,nur'' ein
lokales Problem ist, oder wirklich was im Code nicht stimmt.
2) Manche Programme erwarten zusaetzliche Sachen, die nicht
immer erwartet werden koennen.
a) Albertgrid
Ich habe einige Tests jetzt mal mit einen "if ALBERT" im
Makefile.am versehen, was aber auch nicht so schoen ist. Ich
denken, wenn wir Tests haben, die nicht eine spezielles Gitter
testen sollten wir versuchen diese so zu schreieben, dass sie
erstmal eines der Standardgitter serwenden, die bei Dune
freihaus kommen.
b) DIM und DIM_OF_WORLD
für manche Gitter ist nötig diese anzugeben, aber nicht
immer. Von Simplegrid z.B. kann ich mehrer Instanzen mit
unterschiedlichen Dimensionen anlegen. Daher sollten wir nicht
ein global eineindeutiges DIM verlangen. Ist dies in eine
Programm dochmal der Fall sollten wir zumindest nicht einfach
aussteigen, sondern lieber einen Fallback haben.
Generell sollten wir dadrauf achten, dass der komplette Baum
durchlaeuft, egal, welche Module man aktiviert hat oder
nicht. D.h. Wenn ein Programm ein spezielles Modul benoetigt,
sollte dieses mit if im Makefile.am erzwungen werden.
Sollte ein Modul nicht zwingend erforderlich sein, sollte man mit
den HAVE_ defines aus config.h im sourcefile entscheiden, was zu
tun ist.
Sollte das alles so klappen, waere der Vorteil, dass man schnller
sieht, wo wirklich Fehler sind. Man koennte dann auch einfach, nachdem
man was an dune selbst geaendert hat mal ein ,,make clean all'' in
duneapps laufen lassen, um schon mal die schlimmsten Patzer zu finden.
Cheers Christian
PS: DuneApps: towards a trouble free ,,make all'' ;-)
More information about the Dune
mailing list