d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga<?xml version="1.0"?>
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga<!--
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga apiwrap-server-filelist.xsl:
c498d9365aa68b789215f4f356a9935f70b0fb3bmb
c498d9365aa68b789215f4f356a9935f70b0fb3bmb XSLT stylesheet that generate a makefile include with
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga the lists of files that apiwrap-server.xsl produces
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga from VirtualBox.xidl.
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga Copyright (C) 2015 Oracle Corporation
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga This file is part of VirtualBox Open Source Edition (OSE), as
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga available from http://www.virtualbox.org. This file is free software;
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga you can redistribute it and/or modify it under the terms of the GNU
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga General Public License (GPL) as published by the Free Software
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga Foundation, in version 2 as it comes in the "COPYING" file of the
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga VirtualBox OSE distribution. VirtualBox OSE is distributed in the
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga-->
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga<xsl:stylesheet
c498d9365aa68b789215f4f356a9935f70b0fb3bmb version="1.0"
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga xmlns:exsl="http://exslt.org/common"
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga extension-element-prefixes="exsl">
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga<xsl:output method="text"/>
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga<xsl:strip-space elements="*"/>
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga<!-- - - - - - - - - - - - - - - - - - - - - - -
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga global XSLT variables
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga - - - - - - - - - - - - - - - - - - - - - - -->
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga<xsl:variable name="G_sNewLine">
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga <xsl:choose>
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga <xsl:when test="$KBUILD_HOST = 'win'">
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga <xsl:value-of select="'&#13;&#10;'"/>
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga </xsl:when>
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga <xsl:otherwise>
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga <xsl:value-of select="'&#10;'"/>
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga </xsl:otherwise>
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga </xsl:choose>
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga</xsl:variable>
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga<!-- - - - - - - - - - - - - - - - - - - - - - -
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga wildcard match, ignore everything which has no explicit match
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga - - - - - - - - - - - - - - - - - - - - - - -->
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga<xsl:template match="*" mode="filelist-even-sources"/>
7aec1d6e253b21f9e9b7ef68b4d81ab9859b51fecindi<xsl:template match="*" mode="filelist-odd-sources"/>
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga<xsl:template match="*" mode="filelist-headers"/>
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga<!-- - - - - - - - - - - - - - - - - - - - - - -
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga interface match
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga - - - - - - - - - - - - - - - - - - - - - - -->
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga<xsl:template match="interface" mode="filelist-even-sources">
7aec1d6e253b21f9e9b7ef68b4d81ab9859b51fecindi <xsl:if test="not(@internal='yes') and not(@supportsErrorInfo='no') and (position() mod 2) = 0">
7aec1d6e253b21f9e9b7ef68b4d81ab9859b51fecindi <xsl:value-of select="concat(' \', $G_sNewLine, '&#9;$(VBOX_MAIN_APIWRAPPER_DIR)/', substring(@name, 2), 'Wrap.cpp')"/>
7aec1d6e253b21f9e9b7ef68b4d81ab9859b51fecindi </xsl:if>
7aec1d6e253b21f9e9b7ef68b4d81ab9859b51fecindi</xsl:template>
7aec1d6e253b21f9e9b7ef68b4d81ab9859b51fecindi
7aec1d6e253b21f9e9b7ef68b4d81ab9859b51fecindi<xsl:template match="interface" mode="filelist-odd-sources">
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga <xsl:if test="not(@internal='yes') and not(@supportsErrorInfo='no') and (position() mod 2) = 1">
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga <xsl:value-of select="concat(' \', $G_sNewLine, '&#9;$(VBOX_MAIN_APIWRAPPER_DIR)/', substring(@name, 2), 'Wrap.cpp')"/>
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga </xsl:if>
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga</xsl:template>
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga<xsl:template match="interface" mode="filelist-headers">
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga <xsl:if test="not(@internal='yes') and not(@supportsErrorInfo='no')">
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga <xsl:value-of select="concat(' \', $G_sNewLine, '&#9;$(VBOX_MAIN_APIWRAPPER_DIR)/', substring(@name, 2), 'Wrap.h')"/>
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga </xsl:if>
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga</xsl:template>
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga<!-- - - - - - - - - - - - - - - - - - - - - - -
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga ignore all if tags except those for XPIDL or MIDL target
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga - - - - - - - - - - - - - - - - - - - - - - -->
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga<xsl:template match="if" mode="filelist-even-sources">
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga <xsl:if test="(@target = 'xpidl') or (@target = 'midl')">
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga <xsl:apply-templates mode="filelist-even-sources"/>
c498d9365aa68b789215f4f356a9935f70b0fb3bmb </xsl:if>
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga</xsl:template>
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga<xsl:template match="if" mode="filelist-odd-sources">
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga <xsl:if test="(@target = 'xpidl') or (@target = 'midl')">
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga <xsl:apply-templates mode="filelist-odd-sources"/>
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga </xsl:if>
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga</xsl:template>
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga<xsl:template match="if" mode="filelist-headers">
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga <xsl:if test="(@target = 'xpidl') or (@target = 'midl')">
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga <xsl:apply-templates mode="filelist-headers"/>
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga </xsl:if>
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga</xsl:template>
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga<!-- - - - - - - - - - - - - - - - - - - - - - -
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga library match
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga - - - - - - - - - - - - - - - - - - - - - - -->
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga<xsl:template match="library" mode="filelist-even-sources">
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga <xsl:apply-templates mode="filelist-even-sources"/>
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga</xsl:template>
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga<xsl:template match="library" mode="filelist-odd-sources">
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga <xsl:apply-templates mode="filelist-odd-sources"/>
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga</xsl:template>
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga<xsl:template match="library" mode="filelist-headers">
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga <xsl:apply-templates mode="filelist-headers"/>
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga</xsl:template>
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga<!-- - - - - - - - - - - - - - - - - - - - - - -
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga root match
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga - - - - - - - - - - - - - - - - - - - - - - -->
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga<xsl:template match="/idl">
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga <xsl:text>VBOX_MAIN_APIWRAPPER_GEN_SRCS_EVEN := </xsl:text>
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga <xsl:apply-templates mode="filelist-even-sources"/>
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga <xsl:value-of select="concat($G_sNewLine, $G_sNewLine)"/>
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga <xsl:text>VBOX_MAIN_APIWRAPPER_GEN_SRCS_ODD := </xsl:text>
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga <xsl:apply-templates mode="filelist-odd-sources"/>
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga <xsl:value-of select="concat($G_sNewLine, $G_sNewLine)"/>
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga <xsl:text>VBOX_MAIN_APIWRAPPER_GEN_SRCS := $(VBOX_MAIN_APIWRAPPER_GEN_SRCS_EVEN) $(VBOX_MAIN_APIWRAPPER_GEN_SRCS_ODD)</xsl:text>
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga <xsl:value-of select="concat($G_sNewLine, $G_sNewLine)"/>
c498d9365aa68b789215f4f356a9935f70b0fb3bmb
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga <xsl:text>VBOX_MAIN_APIWRAPPER_GEN_HDRS := </xsl:text>
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga <xsl:apply-templates mode="filelist-headers"/>
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga <xsl:value-of select="concat($G_sNewLine, $G_sNewLine)"/>
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga</xsl:template>
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga</xsl:stylesheet>
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga<!-- vi: set tabstop=4 shiftwidth=4 expandtab: -->
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga
d00f0155af9a9a671eb08a0dc30f5ea0a379c36cayznaga