Annotation of qemu/roms/openbios/config/xml/dictionary.xsl, revision 1.1.1.1

1.1       root        1: <?xml version="1.0" encoding="ISO-8859-15" ?>
                      2: 
                      3: <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
                      4:  
                      5:   <xsl:template match="/" mode="dictionaries">
                      6: 
                      7:     <xsl:text>&#10;#&#10;# dictionary rules&#10;#&#10;&#10;</xsl:text>
                      8:   
                      9:     <!-- Set all dictionary source lists empty -->
                     10:     <xsl:for-each select="//dictionary">
                     11:      <xsl:sort select="@name"/>
                     12:     
                     13:      <xsl:variable name="conditions">
                     14:       <xsl:text>0</xsl:text>
                     15:       <xsl:for-each select="(ancestor-or-self::*)[@condition!='']">
                     16:        <xsl:call-template name="resolve-condition">
                     17:         <xsl:with-param select="@condition" name="expression"/>
                     18:        </xsl:call-template>
                     19:       </xsl:for-each>
                     20:      </xsl:variable>
                     21:      
                     22:     <xsl:if test="$conditions = 0">
                     23:      
                     24:      <xsl:if test="not(preceding::dictionary/@name = @name)">
                     25:       <xsl:value-of select="@name"/>
                     26:       <xsl:text>-DICTIONARY :=&#10;</xsl:text>
                     27:      </xsl:if>
                     28:      </xsl:if>
                     29:     </xsl:for-each>
                     30:     
                     31:     <!-- Add all forth source files to their dictionaries -->
                     32:     <xsl:for-each select="//dictionary/object">
                     33:     
                     34:      <xsl:variable name="path">
                     35:       <xsl:for-each select="ancestor::build">
                     36:        <xsl:call-template name="get-dirname">
                     37:         <xsl:with-param select="@base" name="path"/>
                     38:        </xsl:call-template>
                     39:       </xsl:for-each>
                     40:      </xsl:variable>
                     41:  
                     42:      <xsl:variable name="conditions">
                     43:       <xsl:text>0</xsl:text>
                     44:       <xsl:for-each select="(ancestor-or-self::*)[@condition!='']">
                     45:        <xsl:call-template name="resolve-condition">
                     46:         <xsl:with-param select="@condition" name="expression"/>
                     47:        </xsl:call-template>
                     48:       </xsl:for-each>
                     49:      </xsl:variable>
                     50:  
                     51:      <xsl:variable name="dictname">
                     52:       <xsl:value-of select="parent::*/@name"/>
                     53:      </xsl:variable>
                     54: 
                     55:      <xsl:if test="$conditions=0">
                     56:       <xsl:value-of select="$dictname"/><xsl:text>-DICTIONARY:=$(</xsl:text>
                     57:       <xsl:value-of select="$dictname"/><xsl:text>-DICTIONARY) </xsl:text>
                     58: 
                     59:       <xsl:text>$(SRCDIR)/</xsl:text>
                     60:       <xsl:value-of select="$path"/>
                     61:       <xsl:value-of select="@source"/>
                     62:       <xsl:text>&#10;</xsl:text>
                     63:      </xsl:if>
                     64:     </xsl:for-each>
                     65:     
                     66:     <xsl:text>&#10;</xsl:text>
                     67: 
                     68:     <!-- Create targets for all dictionaries -->
                     69:     <xsl:for-each select="//dictionary">
                     70:     <xsl:sort select="@name"/>
                     71: 
                     72:      <xsl:variable name="outer-conditions">
                     73:       <xsl:text>0</xsl:text>
                     74:       <xsl:for-each select="(ancestor-or-self::*)[@condition!='']">
                     75:        <xsl:call-template name="resolve-condition">
                     76:         <xsl:with-param select="@condition" name="expression"/>
                     77:        </xsl:call-template>
                     78:       </xsl:for-each>
                     79:      </xsl:variable>
                     80:      
                     81:     <xsl:if test="$outer-conditions = 0">
                     82:     
                     83:     <xsl:if test="not(preceding::dictionary/@name = @name)">
                     84:      <xsl:variable name="name"><xsl:value-of select="@name"/></xsl:variable>
                     85:      <xsl:variable name="init">
                     86:       <xsl:value-of select="(//dictionary[@name=$name]/attribute::init)[last()]"/>
                     87:      </xsl:variable>
                     88:      <!-- dictionary name and dependencies -->
                     89:      <xsl:text>$(ODIR)/</xsl:text>
                     90:      <xsl:value-of select="@name"/><xsl:text>.dict: $(</xsl:text>
                     91:      <xsl:value-of select="@name"/>
                     92:      <xsl:text>-DICTIONARY) $(ODIR)/forthstrap</xsl:text>
                     93:      <xsl:if test="$init!=''">
                     94:       <xsl:text> $(ODIR)/</xsl:text><xsl:value-of select="$init"/><xsl:text>.dict</xsl:text>
                     95:      </xsl:if>
                     96:      <xsl:text>&#10;</xsl:text>
                     97:      <!-- rule -->
                     98:      <xsl:text>&#9;$(call quiet-command,$(ODIR)/forthstrap</xsl:text>
                     99:      <xsl:for-each select="//dictionary[@name = @name]">
                    100:  
                    101:       <xsl:variable name="conditions">
                    102:        <xsl:text>0</xsl:text>
                    103:        <xsl:for-each select="(ancestor-or-self::*)[@condition!='']">
                    104:         <xsl:call-template name="resolve-condition">
                    105:          <xsl:with-param select="@condition" name="expression"/>
                    106:         </xsl:call-template>
                    107:        </xsl:for-each>
                    108:       </xsl:variable>
                    109:      
                    110:       <xsl:variable name="path">
                    111:        <xsl:for-each select="ancestor::build">
                    112:         <xsl:call-template name="get-dirname">
                    113:          <xsl:with-param select="@base" name="path"/>
                    114:         </xsl:call-template>
                    115:        </xsl:for-each>
                    116:       </xsl:variable>
                    117:       
                    118:       <xsl:if test="$conditions = 0">
                    119:        <xsl:text> -I</xsl:text>
                    120:        <xsl:text>$(SRCDIR)/</xsl:text>
                    121:        <xsl:value-of select="$path"/>
                    122:       </xsl:if>
                    123:      </xsl:for-each>
                    124: 
                    125:      <!-- needed to include config and build date -->
                    126:      <xsl:text> -I$(ODIR)/forth</xsl:text>
                    127:      
                    128:      <xsl:text> -D $@</xsl:text>
                    129:      <xsl:text> -M [email protected]</xsl:text>
                    130:      <xsl:if test="$init!=''">
                    131:       <xsl:text> -d $(ODIR)/</xsl:text><xsl:value-of select="$init"/><xsl:text>.dict</xsl:text>
                    132:      </xsl:if>
                    133:      <xsl:text> -c [email protected]</xsl:text>
                    134:      <xsl:text> $(</xsl:text>
                    135:      <xsl:value-of select="@name"/>
                    136:      <xsl:text>-DICTIONARY),"  GEN   $(TARGET_DIR)$@")&#10;&#10;</xsl:text>
                    137:     </xsl:if>
                    138:     </xsl:if>
                    139:     </xsl:for-each>
                    140:    
                    141:     <!-- Create dictionaries target containing all dictionaries -->
                    142:     <xsl:text>dictionaries: </xsl:text>
                    143:     <xsl:for-each select="//dictionary">
                    144:     <xsl:sort select="@name"/>
                    145:     
                    146:      <xsl:variable name="conditions">
                    147:       <xsl:text>0</xsl:text>
                    148:       <xsl:for-each select="(ancestor-or-self::*)[@condition!='']">
                    149:        <xsl:call-template name="resolve-condition">
                    150:         <xsl:with-param select="@condition" name="expression"/>
                    151:        </xsl:call-template>
                    152:       </xsl:for-each>
                    153:      </xsl:variable>
                    154:      
                    155:     <xsl:if test="$conditions = 0">
                    156:     
                    157:     <xsl:if test="not(preceding::dictionary/@name = @name)">
                    158:      <xsl:text>$(ODIR)/</xsl:text>
                    159:      <xsl:value-of select="@name"/><xsl:text>.dict </xsl:text>
                    160:     </xsl:if>
                    161:     </xsl:if>
                    162:     </xsl:for-each>
                    163:     <xsl:text>&#10;</xsl:text>
                    164:   </xsl:template>
                    165:   
                    166: </xsl:stylesheet>

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.