tubscheck ========= Thomas Berger $Id: README.txt 20948 2007-10-19 11:36:38Z ThB $ ``tubscheck'' importiert die Build-Umgebung und den _Trunk_ (= neueste Version) von ``tubs'' < https:svn.extra.gymel.com/viewvc/allegro/tubs/trunk/[https://svn.extra.gymel.com/repos/allegro/tubs/trunk/] >, denn das Projekt ``tubs'' (gepatchte Standardparameter von http://www.allegro-c.de[_allegro-C_]) enthält keine Einbindung der Build-Umgebung, da es normalerweise stets in andere Projekte eingebunden wird. Verzeichnisstruktur ~~~~~~~~~~~~~~~~~~~ Generiert werden in den Verzeichnissen: -- pardir (orddir, ...):: echte Parameterdateien mit Fehlerkorrekturen gegenüber der Standarddistribution ``<*tubs>...''. checkdir:: Version der Parameterdateien ohne Aktivierung der Optionen _bugfix_ etc. Ein +diff+ mit dem Standard-Allegro bzw. sollte absolut keine Abweichungen liefern (bis auf evtl. fehlende Zeilenenden in der letzten Zeile der jeweiligen Datei) +phpdir+ (phpac) und +ztgdir+ (z-Target) geben Versionen der Dateien, die im Braunschweiger Repository enthalten sind (also im aktuellen +inst-all.exe+) den Vorzug gegenüber jenen, die aus den separaten Distributionen (``phpac'' bzw. ``avanti''/``acon'') entnehmbar sind. Die entsprechenden Unterverzeichnisse +tubs/phpac+ etc. in diesem Repository hingegen enthalten nur diejenigen Dateien, die nicht aus den ``regulären'' (+tubs/par+, +tubs/alca99+) bedient werden können. -- Versionshinweise ~~~~~~~~~~~~~~~~ * Unter < http://svn.gymel.com/viewvc/allegro/tubs/trunk/[http://svn.gymel.com/viewvc/allegro/tubs/...] > ist die Historie der Parameterdateien zugänglich, die kleinteilige Liste aller Änderungen ist im http://svn.gymel.com/viewvc/allegro/tubs/trunk/?view=log[SVN-Log] dokumentiert. * Unter < http://svn.gymel.com/tubscheck/produkt/[] > liegen stets aktuell generierte Dateien dieses Projekts, Der Stand des Abgleichs gegen die Standardparameter ist dokumentiert in der Datei http://svn.extra.gymel.com/tubscheck/produkt/VERSION.txt[VERSION.txt]. (siehe auch den <>) HOWTO ----- a) Auschecken ................................... svn co https://svn.extra.gymel.com/repos/allegro/tubscheck/trunk tubscheck ................................... b) Inititalisieren des Build-Verzeichnisses (`./produkt`) ................................... cd tubscheck Configure <1> ................................... <1> damit wird implizit ein neues Unterverzeichnis ``produkt'' zum Build-Verzeichnis c) Generieren der Dateien ................................... cd produkt mingw32-make setup mingw32-make full ................................... d) Optional: Vergleich mit Originalparametern in _c:/allegro_ ................................... diff --strip-trailing-cr checkdir c:/allegro | grep -v "^Only" ................................... b') Alternative Build-Verzeichnisse: ................................... mkdir p:/fad/to/newdir <2> cd p:/fad/to/newdir <2> f:/ad/to/tubscheck/Configure <1> ................................... <1> Projekt sei ausgecheckt in _f:/ad/to/tubscheck_. <2> Dateien sollen in einem Verzeichnis _p:/fad/to/newdir_ generiert werden. SYSTEMVORAUSSETZUNGEN --------------------- Für die Build-Umgebung: - _Perl_ (etwa ActivePerl, < http://www.activestate.com/Products/activeperl/[] >) - _zip_ und _unzip_ (infozip, < http://www.info-zip.org/[] >) - GNU _make_ (auf Windows-Plattformen: stets die mingw-Version), vorzugsweise 3.82, vorzugsweise +mingw32-make.exe+ (< http://www.mingw.org/download.shtm[] >) - zwingend weitere GNU coreutils: _cp_, _echo_, _mv_, _mkdir_, _rm_, _rmdir_, _sh_, _touch_ - optional weitere Utilities: _xsltproc_, _xmllint_, _asciidoc_ Beispielsweise das Paket MSYS (< http://www.mingw.org/msys.shtml[] >) enthält alle benötigten GNU-Utilities, allerdings make.exe v3.79. In diesem Fall dann bitte angeben: ................................... Configure --msys=path/to/MSYS ................................... also etwa ................................... Configure --msys=C:\MSYS --config=config.hint --prefix=x:\yz\tubs\produkt ................................... und config.hint enthält (mindestens) die Zeile ................................... make=make.exe --unix ................................... Fallen: ~~~~~~~ -- * wird das MSYS-Toolset benutzt, muss `--msys=...` angegeben werden, auch wenn das bin-Verzeichnis im PATH ist (es erfolgen sonst gewisse Anpassungen an den Hints nicht) * Cygwin's make kommt mit Laufwerksbuchstaben in Pfaden nicht mehr klar, weil es in neueren Versionen zu sehr POSIX ist. * Ältere Versionen von make (3.79, 3.80) + sollten möglichst nicht genommen werden, sind aber u.U. Standard in gewissen Linux-Distributionen - ältere Versionen kennen `$(abspath ...)` nicht, daher bitte stets den absoluten Pfad des Zielverzeichnisses als `--prefix=...` beim _Configure_ angeben: ................................... perl $projdir/Configure.cmd --prefix=$projdir/produkt ................................... - make v3.79 unterscheidet einen MAKE_MODE (Environmentvariable oder Aufrufschalter) zwischen Win32 und Unix. Die Makefiles sind auf _unix_ eingestellt, d.h. entweder Vorbesetzung `set MAKE_MODE=unix` im Environment oder Angabe von `--unix` als Schalter in einer Hint-Datei - wird das make.exe aus MSYS (im Gegensatz zu mingw32-make, das auf Stand v3.82 ist) eingesetzt, muss make im PATH sein (und damit tendenziell das gesamte MSYS-bin-Verzeichnis). -- Fazit: ~~~~~~ Schmerzfrei ist die Kombination a. http://www.mingw.org/msys.shtml[MSYS] installieren (bin-Verzeichnis nicht in den PATH) bzw. minimales cygwin-System installieren. b. http://www.mingw.org/download.shtm[mingw32-make] installieren (es genügt, nur +bin/mingw32-make.exe+ zu extrahieren und irgendwo in den Suchpfad abzulegen). c. _zip_ und _unzip_ von http://www.info-zip.org/[InfoZip] downloaden und in den Suchpfad legen. d. Aufruf als + ................................... Configure --msys=Msys-Verzeichnis ................................... [[Adressen]] Adressen -------- Die Dateien werden aus dem Original-Repository http://svn.allegro-c.de/allegro/standard/[] der TU Braunschweig bezogen und in Auswahl und mit anderer Verzeichnisstruktur in das Repository https://svn.extra.gymel.com/repos/allegro/tubs/vendor/latest/[http://svn.gymel.com/viewvc/allegro/tubs/vendor/latest/] eingespeist. Diese Versionen dienen dann als Grundlage für Merges mit http://svn.gymel.com/viewvc/allegro/tubs/trunk/[https://svn.gymel.com/repos/allegro/tubs/trunk/] === Notifications / Views === * http://svn.extra.gymel.com/viewvc/allegro/tubs/?date=month&view=query&format=rss[] - Änderungen als RSS Feed * http://svn.gymel.com/viewvc/allegro/tubs/trunk/[http://svn.gymel.com/viewvc/allegro/tubs/] - Repository-Browser === SVN-Repository === * https://svn.extra.gymel.com/repos/allegro/tubscheck/trunk/[https://svn.extra.gymel.com/repos/allegro/tubscheck/] (Repository-URL für das Wrapper-Projekt _tubscheck_) * https://svn.extra.gymel.com/repos/allegro/tubs/trunk/[https://svn.extra.gymel.com/repos/allegro/tubs/] (Repository-URL für das konkrete Projekt _tubs_) * http://svn.gymel.com/repos/allegro/tubs/trunk/[http://svn.gymel.com/repos/allegro/tubs/] (dsgl. Readonly) === Ausgecheckte Kopie / Vorgenerierte Versionen === * http://svn.gymel.com/tubscheck/[] (mehrmals täglich aktualisiert) * http://svn.gymel.com/tubscheck/produkt/pardir/[] (Mit analyze.pl verarbeitete Parameterdateien) * bzw. gepackt unter http://svn.gymel.com/tubscheck/produkt/pardir.zip[pardir.zip] zum Download === Kontakt === mailto:ThB@gymel.com[Thomas Berger]