![]() |
Gewichtung / Reihenfole der Optionen für dcc32.exe
Hallo,
ich habe mal eine Frage zu Delphi 5 / 7 Der Kommandozeilencompiler (dcc32.exe) bezieht Optionen auf verschiedene Weise: 1. $(DELPHI)\bin\dcc32.cfg 2. LW:\Projektverzeichnis\dcc32.cfg 3. LW:\Projektverzeichnis\Projektname.cfg 4. Parameter die direkt an dcc32.exe übergeben werden Meine Frage lautet: "In welcher Reihenfolge / Gewichtung werden die Optionen übernommen?" Beispiel: Es existieren 2 cfg Dateien (Fall 2 und Fall 3) die Option -N wird aus der dcc32.cfg Datei benutzt die Option -LN aber aus der Datei Projektname.cfg. :evil: Gibt es da irgendwo eine Doku? Im Internet ist nichts zu finden. Diese Infos werden von uns benötigt, damit wir einen "sauberen" Build Prozess erstellen können. |
Re: Gewichtung / Reihenfole der Optionen für dcc32.exe
Rein von der Logik her würd ich sagen: Von unten nach oben. Denn in allen Systemen, die ich kenne, haben speziell auf den Vorgang abgestimmte Parameter/Optionen Vorrang gegenüber allgmeinen Optionen. Alles andere wäre kontraproduktiv.
Edit: Ach so, ich glaub ich das etwas falsch verstanden. Ich dachte, du wüsstest, dass dad die Abfolge wär, nur die Richtung wär unklar. OK, aber dennoch sollte es weitgehend zu lösen sein: 4. kommt wohl zuerst dann 3., da es hier projektbzeogen ist, während die andere Datei wohl für alle Projekte in dem Ordner zuständig ist dann 2. dann 1. |
Re: Gewichtung / Reihenfole der Optionen für dcc32.exe
Zitat:
Er mischt die Optionen !!! Einige werden in dem Beisp. oben aus dcc32.cfg genommen einige aus Projektname.cfg In allen steht was drinn. Ich will wissen welcher Parameter in welcher Reihenfolge aufgelöst wird und warum ! Zitat:
Parameter "-N" Reihenfolge: 1. 2. 3. 4. Parameter "-LN" Reihenfolge: 1. 3. 2. 4. (letzteres ist das stärkere / wirksame) Die Anderen konnte ich nicht testen. Der dcc32.exe verhällt sich leider auch nicht gleich der IDE (dcc70.dll) Der dcc32.exe verhällt sich auch auf verschiedenen Laufwerken anders !!! (Auf B: funktioniert -N und -LN nicht, aber -E und -LE gehen :-() Da ist einfach kein System drin :!: |
Re: Gewichtung / Reihenfole der Optionen für dcc32.exe
Hm, dann weiß ich auch nicht.
Aber ich denke mal, dass er durch alle Dateien durchgeht und auch Optionen in den "darunterliegenden Ebenen" berücksichtigt, solange die denen nicht widersprechen, die in einer späteren Ebene definiert werden. Nach dieser Vorgehensweise würde er wahrscheinlich genau andersrum vorgehen: Zuerst benutzt er die Optionen, die in der Standard-Config-Datei bestimmt sind. Dann arbeitet er sich zu den anderen Config-Dateien vor und ändert seine Optionen entsprechend den Angaben in der Datei. Wenn also in der untersten Stufe der Schalter -L gesetzt ist und dieser weiter oben nicht wieder entfernt wird, dann ist dieser mglw. beim Compilieren noch geseztzt. Wie gesagt: Alles nur Vermutungen. |
Re: Gewichtung / Reihenfole der Optionen für dcc32.exe
Ich mach hier mal eine "offene Frage" draus :mrgreen:
|
Re: Gewichtung / Reihenfole der Optionen für dcc32.exe
Zitat:
Das ist tatsächlich ein Bug. Und wird warscheinlich in der Delphi 9 behoben sein. ;-) Zitat:
|
Re: Gewichtung / Reihenfole der Optionen für dcc32.exe
Zitat:
(Zumindest ist er nun Borland als Bug bekannt) |
Re: Gewichtung / Reihenfole der Optionen für dcc32.exe
Zitat:
Es gibt eine Lösung. In Delphi 7 gibt es im dcc32 eine undokumentierten -N0 (null) Option, die genau das macht, was -N machen sollte. Warum? Es gibt eine -NB Option. Deshalb wird -NB:\dir nicht als -N interpretiert. Die -N0 Option ist ein Synonym für -N (= gleiche Funktion) und war schon in Delphi 4 vorhanden. Folgende undokumentierte -N schalter gibt es: Zitat:
|
Re: Gewichtung / Reihenfole der Optionen für dcc32.exe
Danke fürs Posten, die -Nx Parameter sind allesamt interessant :)
...:cat:... |
Re: Gewichtung / Reihenfole der Optionen für dcc32.exe
Moin, moin,
Habe für die Packageübrsetzung Batchdateien. Da ich als Verezichnis dcp/Bpl und DCU getrennt habe um die Packagreihenfolge beim compilieren kontrollieren zu könnenn, müssen diese festgelegt werden. Das mache ich trivial zunächst über die IDE, wo die Verzeichnisse in den Optionen eingetragen werden. Beim Package-Erstellen werden die dof-Datei als Optionsdatei für die IDE und die cfg-Datei als Optionsdatei für den DCCC32 angelegt. Fazit: Bin der Meinung, das die cfg-im Projektverzeichnis als erstes betrachtet wird, wenn diese vorhanden ist. PS: Das mit den Nx-Optionen ist zwar interessant, aber sprengt schon bei einigermaßen verzweigten Verzeichnisstrukturen die Zeichengrenze der Kommandozeile. Würde mich daher auf die cfg-Datei konzentrieren. Grüße // Martin |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:27 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz