1<?xml version="1.0" encoding="utf-8"?>
2
3<!-- Copyright (C) 2021-2022 Intel Corporation. -->
4<!-- SPDX-License-Identifier: BSD-3-Clause -->
5
6<xsl:stylesheet
7    version="1.0"
8    xmlns:xi="http://www.w3.org/2003/XInclude"
9    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
10    xmlns:math="http://exslt.org/math"
11    xmlns:exslt="http://exslt.org/common"
12    xmlns:acrn="http://projectacrn.org">
13  <xsl:include href="lib.xsl" />
14  <xsl:output method="text" />
15
16  <xsl:variable name="integer-suffix" select="''" />
17
18  <xi:include href="config_common.xsl" xpointer="xpointer(id('config_common')/*)" />
19
20  <xsl:template match="/acrn-offline-data">
21    <xsl:apply-templates select="board-data/acrn-config" />
22    <xsl:apply-templates select="config-data/acrn-config" />
23  </xsl:template>
24
25  <xsl:template name="entry-by-key-value">
26    <xsl:param name="prefix" />
27    <xsl:param name="key" />
28    <xsl:param name="value" />
29    <xsl:param name="default" />
30
31    <xsl:choose>
32      <xsl:when test="$prefix != ''">
33        <xsl:value-of select="$prefix" />
34      </xsl:when>
35      <xsl:otherwise>
36        <xsl:text>CONFIG_</xsl:text>
37      </xsl:otherwise>
38    </xsl:choose>
39    <xsl:value-of select="$key" />
40    <xsl:text>=</xsl:text>
41    <xsl:choose>
42      <xsl:when test="$value != ''">
43	<xsl:value-of select="$value" />
44      </xsl:when>
45      <xsl:when test="$default != ''">
46	<xsl:value-of select="$default" />
47      </xsl:when>
48    </xsl:choose>
49    <xsl:value-of select="$newline" />
50  </xsl:template>
51
52  <xsl:template name="boolean-by-key-value">
53    <xsl:param name="key" />
54    <xsl:param name="value" />
55
56    <xsl:choose>
57      <xsl:when test="($value = 'true') or ($value = 'y')">
58	<xsl:call-template name="entry-by-key-value">
59	  <xsl:with-param name="key" select="$key" />
60	  <xsl:with-param name="value" select="'y'" />
61        </xsl:call-template>
62      </xsl:when>
63      <xsl:when test="($key = 'RELEASE')">
64	<xsl:call-template name="entry-by-key-value">
65	  <xsl:with-param name="key" select="$key" />
66	  <xsl:with-param name="value" select="'n'" />
67        </xsl:call-template>
68      </xsl:when>
69      <xsl:otherwise>
70	<xsl:text># CONFIG_</xsl:text>
71	<xsl:value-of select="$key" />
72	<xsl:text> is not set&#xa;</xsl:text>
73      </xsl:otherwise>
74    </xsl:choose>
75  </xsl:template>
76
77  <xsl:template name="string-by-key-value">
78    <xsl:param name="key" />
79    <xsl:param name="value" />
80
81    <xsl:call-template name="entry-by-key-value">
82      <xsl:with-param name="key" select="$key" />
83      <xsl:with-param name="value" select="$value" />
84    </xsl:call-template>
85  </xsl:template>
86
87</xsl:stylesheet>
88