dsp => vmake


Installation:

  1. es ist Teil der normalen SAP DB Entwicklungstools

Aufruf-Optionen:

zusätzlich zur Kommandozeile können diese auch in einer Environment-Variablen DSP2VMAKE_OPTION angegeben werde.

-inDEV <directory>
das oberste Source-Verzeichnis (im allgemeinen $SRC)
-outSys <directory>
$OWN/sys
-config <configFile>
format: Python source. kann defaults für -inDEC und -outSys enthalten
-v
verbose, schreibt die Namen der generierten Dateien nach Standardout.
-ignore <filename>
eine Textdatei. Für alle Treffer in dieser Datei werden keine vmake-Descriptions generiert
Der Treffer kann irgendwo innerhalb des Dateinamens erfolgen:
-nodep
generiert nicht #include-Anhängigkeiten (sollte nur zum Debugging verwendet werden)
-projectfiles <filename>
add projects in file <filename>.
-globals <vmake def>
generiert <vmake def> in every .com-Description (default: *.cpp -except)
-warn
generiert Warnungen, wenn die gleiche Source-Datei mit unterschiedlichen Optionen benutzt wird.
-smartVariants
Varianten wie ReleaseSim werden als eine Kombination der Varianten Release und Sim interpretiert. Dies funktioniert nur für Release und Debug.
-ignoreVariant <variant name>
alles, was im Zusammenhang mit <variant name> steht, wird nicht in die generierten Dateien übernommen
-onlyVariant <variant name>
nur hier angegebene Varianten werden generiert
-unifiedSys
(veraltet, da $SRC == $DESC nunmehr der Default ist)
-cache
(veraltet)
-dumbVariants
(veraltet, siehe -smartVariants)

Link-Descriptions:

.com-Descriptions

Anpassungen

Die Datei $SRC/specialCases.py (alternative $TOOL/bin/specialCases.py) enthält zusätzliche Regeln, mit der man die Generierung der Descriptions beinflussen kann. Diese Datei ist eine Python-Source und exportiert die folgenden Variablen und Funktionen:

getAdditionalLayer ():
liefert ein List von Verzeichnissen, für die .com-Description angelegt werden sollen, Dies sind z.B. Verzeichnisse, die nur Header-Dateien enthalten.
cases
eine List mit Python-Objekten. Diese enthalten ein Attribut filename (auf diese Datei wird der case angewandt) und eine Methode apply. So sorgt z.B. ein Append-Objekt dafür, daß an bestimmte Descriptions noch ein festgelegter Text angehängt wird.
optionsToIgnore
Compiler-Optionen, die nicht mit in die Descriptions übernommen werden (sie sind so allgemein, daß dsie in toolvars.pl gesetzt werden)
shortOptionsToIgnore
siehe oben. Diese Optionen haben in der Regel noch ein angehängtes Argument ('/W' gilt für /W3, /W4 etc.
definesToIgnore
/D Optionen, die nicht mit in die Descriptions übernommen werden sollen
specialLibraries
eine Liste von Paaren (regular expression, replacement). Entspricht ein in der .dsp-Datei referenzierte Library einer der regular expression, so wird der Eintrag in der generierten Description durch das entsprechende replacement ersetzt:
(r'(?P<dir>.*)[/\\]liboms.lib', '-lib=%(dir)s/liboms')
aus $(LC_LIB)/liboms.lib wird -lib=$(LC_LIB)/liboms
filesToIgnore
eine Liste von Filename-Pattern wie sie auch in der Datei für die Option -ignore angegeben werden können.


2002-03-12 Daniel Dittmar