VirtualBox

source: vbox/trunk/src/VBox/Main/idl/apiwrap-server-filelist.xsl@ 77807

Last change on this file since 77807 was 69379, checked in by vboxsync, 7 years ago

Main/idl: scm updates

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 6.5 KB
Line 
1<?xml version="1.0"?>
2
3<!--
4 apiwrap-server-filelist.xsl:
5
6 XSLT stylesheet that generate a makefile include with
7 the lists of files that apiwrap-server.xsl produces
8 from VirtualBox.xidl.
9
10 Copyright (C) 2015-2016 Oracle Corporation
11
12 This file is part of VirtualBox Open Source Edition (OSE), as
13 available from http://www.virtualbox.org. This file is free software;
14 you can redistribute it and/or modify it under the terms of the GNU
15 General Public License (GPL) as published by the Free Software
16 Foundation, in version 2 as it comes in the "COPYING" file of the
17 VirtualBox OSE distribution. VirtualBox OSE is distributed in the
18 hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
19-->
20
21<xsl:stylesheet
22 version="1.0"
23 xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
24 xmlns:exsl="http://exslt.org/common"
25 extension-element-prefixes="exsl">
26
27<xsl:output method="text"/>
28
29<xsl:strip-space elements="*"/>
30
31<!-- - - - - - - - - - - - - - - - - - - - - - -
32 XSLT parameters
33 - - - - - - - - - - - - - - - - - - - - - - -->
34
35<!-- Whether to generate wrappers for VBoxSDS-->
36<xsl:param name="g_fVBoxWithSDS" select="'no'"/>
37
38<!-- - - - - - - - - - - - - - - - - - - - - - -
39 global XSLT variables
40 - - - - - - - - - - - - - - - - - - - - - - -->
41
42<xsl:variable name="G_sNewLine">
43 <xsl:choose>
44 <xsl:when test="$KBUILD_HOST = 'win'">
45 <xsl:value-of select="'&#13;&#10;'"/>
46 </xsl:when>
47 <xsl:otherwise>
48 <xsl:value-of select="'&#10;'"/>
49 </xsl:otherwise>
50 </xsl:choose>
51</xsl:variable>
52
53
54<!-- - - - - - - - - - - - - - - - - - - - - - -
55 wildcard match, ignore everything which has no explicit match
56 - - - - - - - - - - - - - - - - - - - - - - -->
57
58<xsl:template match="*" mode="filelist-even-sources"/>
59<xsl:template match="*" mode="filelist-odd-sources"/>
60<xsl:template match="*" mode="filelist-headers"/>
61
62<!-- - - - - - - - - - - - - - - - - - - - - - -
63 interface match
64 - - - - - - - - - - - - - - - - - - - - - - -->
65
66<xsl:template match="interface" mode="filelist-even-sources">
67 <xsl:if test="not(@internal='yes') and not(@supportsErrorInfo='no') and (position() mod 2) = 0">
68 <xsl:value-of select="concat(' \', $G_sNewLine, '&#9;$(VBOX_MAIN_APIWRAPPER_DIR)/', substring(@name, 2), 'Wrap.cpp')"/>
69 </xsl:if>
70</xsl:template>
71
72<xsl:template match="interface" mode="filelist-odd-sources">
73 <xsl:if test="not(@internal='yes') and not(@supportsErrorInfo='no') and (position() mod 2) = 1">
74 <xsl:value-of select="concat(' \', $G_sNewLine, '&#9;$(VBOX_MAIN_APIWRAPPER_DIR)/', substring(@name, 2), 'Wrap.cpp')"/>
75 </xsl:if>
76</xsl:template>
77
78<xsl:template match="interface" mode="filelist-headers">
79 <xsl:if test="not(@internal='yes') and not(@supportsErrorInfo='no')">
80 <xsl:value-of select="concat(' \', $G_sNewLine, '&#9;$(VBOX_MAIN_APIWRAPPER_DIR)/', substring(@name, 2), 'Wrap.h')"/>
81 </xsl:if>
82</xsl:template>
83
84<!-- - - - - - - - - - - - - - - - - - - - - - -
85 ignore all if tags except those for XPIDL or MIDL target
86 - - - - - - - - - - - - - - - - - - - - - - -->
87
88<xsl:template match="if" mode="filelist-even-sources">
89 <xsl:if test="(@target = 'xpidl') or (@target = 'midl')">
90 <xsl:apply-templates mode="filelist-even-sources"/>
91 </xsl:if>
92</xsl:template>
93
94<xsl:template match="if" mode="filelist-odd-sources">
95 <xsl:if test="(@target = 'xpidl') or (@target = 'midl')">
96 <xsl:apply-templates mode="filelist-odd-sources"/>
97 </xsl:if>
98</xsl:template>
99
100<xsl:template match="if" mode="filelist-headers">
101 <xsl:if test="(@target = 'xpidl') or (@target = 'midl')">
102 <xsl:apply-templates mode="filelist-headers"/>
103 </xsl:if>
104</xsl:template>
105
106<!-- - - - - - - - - - - - - - - - - - - - - - -
107 application match
108 - - - - - - - - - - - - - - - - - - - - - - -->
109
110<xsl:template match="application" mode="filelist-even-sources" name="template_app_filelist_even_sources">
111 <xsl:apply-templates mode="filelist-even-sources"/>
112</xsl:template>
113
114<xsl:template match="application" mode="filelist-odd-sources" name="template_app_filelist_odd_sources">
115 <xsl:apply-templates mode="filelist-odd-sources"/>
116</xsl:template>
117
118<xsl:template match="application" mode="filelist-headers" name="template_app_filelist_headers">
119 <xsl:apply-templates mode="filelist-headers"/>
120</xsl:template>
121
122<!-- - - - - - - - - - - - - - - - - - - - - - -
123 library match
124 - - - - - - - - - - - - - - - - - - - - - - -->
125
126<xsl:template match="library" mode="filelist-even-sources">
127 <xsl:apply-templates mode="filelist-even-sources"/>
128</xsl:template>
129
130<xsl:template match="library" mode="filelist-odd-sources">
131 <xsl:apply-templates mode="filelist-odd-sources"/>
132</xsl:template>
133
134<xsl:template match="library" mode="filelist-headers">
135 <xsl:apply-templates mode="filelist-headers"/>
136</xsl:template>
137
138<!-- - - - - - - - - - - - - - - - - - - - - - -
139 root match
140 - - - - - - - - - - - - - - - - - - - - - - -->
141
142<xsl:template match="/idl">
143 <xsl:text>VBOX_MAIN_APIWRAPPER_GEN_SRCS_EVEN := </xsl:text>
144 <xsl:apply-templates mode="filelist-even-sources"/>
145 <xsl:value-of select="concat($G_sNewLine, $G_sNewLine)"/>
146
147 <xsl:text>VBOX_MAIN_APIWRAPPER_GEN_SRCS_ODD := </xsl:text>
148 <xsl:apply-templates mode="filelist-odd-sources"/>
149 <xsl:value-of select="concat($G_sNewLine, $G_sNewLine)"/>
150
151 <xsl:text>VBOX_MAIN_APIWRAPPER_GEN_SRCS := $(VBOX_MAIN_APIWRAPPER_GEN_SRCS_EVEN) $(VBOX_MAIN_APIWRAPPER_GEN_SRCS_ODD)</xsl:text>
152 <xsl:value-of select="concat($G_sNewLine, $G_sNewLine)"/>
153
154 <xsl:text>VBOX_MAIN_APIWRAPPER_GEN_HDRS := </xsl:text>
155 <xsl:apply-templates mode="filelist-headers"/>
156 <xsl:value-of select="concat($G_sNewLine, $G_sNewLine)"/>
157</xsl:template>
158
159
160 <xsl:template match="application[@uuid='ec0e78e8-fa43-43e8-ac0a-02c784c4a4fa']" mode="filelist-even-sources" >
161 <xsl:if test="$g_fVBoxWithSDS='yes'" >
162 <xsl:call-template name="template_app_filelist_even_sources" />
163 </xsl:if>
164 </xsl:template>
165
166 <xsl:template match="application[@uuid='ec0e78e8-fa43-43e8-ac0a-02c784c4a4fa']" mode="filelist-headers" >
167 <xsl:if test="$g_fVBoxWithSDS='yes'" >
168 <xsl:call-template name="template_app_filelist_headers" />
169 </xsl:if>
170 </xsl:template>
171
172 <xsl:template match="application[@uuid='ec0e78e8-fa43-43e8-ac0a-02c784c4a4fa']" mode="filelist-odd-sources" >
173 <xsl:if test="$g_fVBoxWithSDS='yes'" >
174 <xsl:call-template name="template_app_filelist_odd_sources" />
175 </xsl:if>
176 </xsl:template>
177
178
179</xsl:stylesheet>
180<!-- vi: set tabstop=4 shiftwidth=4 expandtab: -->
181
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette