1 | <?xml version="1.0" encoding="ISO-8859-1"?>
|
---|
2 |
|
---|
3 | <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
---|
4 | version="1.0">
|
---|
5 |
|
---|
6 | <xsl:output method="text"
|
---|
7 | encoding='ISO-8859-1'/>
|
---|
8 |
|
---|
9 | <xsl:template match="/">
|
---|
10 | <xsl:apply-templates select="//list"/>
|
---|
11 | <xsl:text>comment ""
|
---|
12 |
|
---|
13 | menu "Build settings"
|
---|
14 |
|
---|
15 | choice
|
---|
16 | prompt "Mail server for resolving the MTA dependency"
|
---|
17 | config MS_sendmail
|
---|
18 | bool "sendmail"
|
---|
19 | config MS_postfix
|
---|
20 | bool "postfix"
|
---|
21 | config MS_exim
|
---|
22 | bool "exim"
|
---|
23 | endchoice
|
---|
24 | config MAIL_SERVER
|
---|
25 | string
|
---|
26 | default "sendmail" if MS_sendmail
|
---|
27 | default "postfix" if MS_postfix
|
---|
28 | default "exim" if MS_exim
|
---|
29 |
|
---|
30 | choice
|
---|
31 | prompt "Dependency level"
|
---|
32 | default DEPLVL_2
|
---|
33 | help
|
---|
34 | Packages included in the dependency graph. Note that the graph
|
---|
35 | itself contains all the dependency information relating those
|
---|
36 | packages.
|
---|
37 |
|
---|
38 | config DEPLVL_1
|
---|
39 | bool "Required dependencies only"
|
---|
40 |
|
---|
41 | config DEPLVL_2
|
---|
42 | bool "Required plus recommended dependencies"
|
---|
43 |
|
---|
44 | config DEPLVL_3
|
---|
45 | bool "Req/rec plus optional dependencies of requested package(s)"
|
---|
46 |
|
---|
47 | config DEPLVL_4
|
---|
48 | bool "All non external dependencies"
|
---|
49 |
|
---|
50 | endchoice
|
---|
51 | config optDependency
|
---|
52 | int
|
---|
53 | default 1 if DEPLVL_1
|
---|
54 | default 2 if DEPLVL_2
|
---|
55 | default 3 if DEPLVL_3
|
---|
56 | default 4 if DEPLVL_4
|
---|
57 |
|
---|
58 | config LANGUAGE
|
---|
59 | string "LANG variable in the form ll_CC.charmap[@modifiers]"
|
---|
60 | default "en_US.UTF-8"
|
---|
61 | help
|
---|
62 | Because of the book layout, the 3 fields, ll, CC and charmap are
|
---|
63 | mandatory. The @modifier is honoured if present.
|
---|
64 |
|
---|
65 | config SUDO
|
---|
66 | bool "Build as User"
|
---|
67 | default y
|
---|
68 | help
|
---|
69 | Select if sudo will be used (you build as a normal user)
|
---|
70 | otherwise sudo is not needed (you build as root)
|
---|
71 |
|
---|
72 | config WRAP_INSTALL
|
---|
73 | bool "Use `porg style' package management"
|
---|
74 | default n
|
---|
75 | help
|
---|
76 | Select if you want the installation commands to be wrapped
|
---|
77 | between "wrapInstall '" and "' ; packInstall" functions,
|
---|
78 | where wrapInstall is used to set up a LD_PRELOAD library (for
|
---|
79 | example using porg), and packInstall makes the package tarball
|
---|
80 |
|
---|
81 | config PACK_INSTALL
|
---|
82 | string "Location of the packInstall.sh script"
|
---|
83 | default "/blfs_root/packInstall.sh" if !SUDO
|
---|
84 | default "$HOME/blfs_root/packInstall.sh" if SUDO
|
---|
85 | depends on WRAP_INSTALL
|
---|
86 | help
|
---|
87 | This script is needed for the proper operation of the
|
---|
88 | `porg style' package management. Provide an absolute
|
---|
89 | path.
|
---|
90 |
|
---|
91 | config DEL_LA_FILES
|
---|
92 | bool "Remove libtool .la files after package installation"
|
---|
93 | default y
|
---|
94 | help
|
---|
95 | This option should be active on any system mixing libtool
|
---|
96 | and meson build systems. ImageMagick .la files are preserved.
|
---|
97 |
|
---|
98 | config STATS
|
---|
99 | bool "Generate statistics for the requested package(s)"
|
---|
100 | default n
|
---|
101 | help
|
---|
102 | If you want timing and memory footprint statistics to be
|
---|
103 | generated for the packages you build (not their dependencies),
|
---|
104 | set this option to y. Due to the book layout, several scripts
|
---|
105 | are not functional in this case. Please review them.
|
---|
106 |
|
---|
107 | config DEP_CHECK
|
---|
108 | bool "Check dependencies of the requested package(s)"
|
---|
109 | default n
|
---|
110 | depends on WRAP_INSTALL
|
---|
111 | help
|
---|
112 | Setting this option does not work if more than one package
|
---|
113 | is selected. It will do the following:
|
---|
114 | - Build the dependency tree and generate a build ordered list
|
---|
115 | disregarding already installed packages
|
---|
116 | - Generate the scripts for the dependencies not already
|
---|
117 | installed (as usual)
|
---|
118 | - Generate a stript that:
|
---|
119 | + removes all unneeded packages using porg
|
---|
120 | (at this point the blfs_tools cannot be used anymore,
|
---|
121 | and your system may be non functional, so use a console
|
---|
122 | for that, not a graphical environment)
|
---|
123 | + installs the package
|
---|
124 | + restores all the previously removed packages
|
---|
125 | Note that this script may not be the last one, if there are runtime
|
---|
126 | dependencies
|
---|
127 |
|
---|
128 | endmenu
|
---|
129 |
|
---|
130 | menu "Build Layout"
|
---|
131 | config SRC_ARCHIVE
|
---|
132 | string "Directory of sources"
|
---|
133 | default "/sources"
|
---|
134 | config SRC_SUBDIRS
|
---|
135 | bool "Downloads sources to subdirectories"
|
---|
136 | default n
|
---|
137 | help
|
---|
138 | If this option is set, the sources will be downloaded and archived
|
---|
139 | into a subdirectory of the source directory, one for each page
|
---|
140 | of the book. Otherwise they are downloaded and archived directly
|
---|
141 | into the source directory
|
---|
142 | config BUILD_ROOT
|
---|
143 | string "Build directory"
|
---|
144 | default "/sources"
|
---|
145 | help
|
---|
146 | Directory where the build occurs. It can be the same as the
|
---|
147 | source directory, provided the setting of subdirectories is
|
---|
148 | different
|
---|
149 | config BUILD_SUBDIRS
|
---|
150 | bool "Build into subdirectories"
|
---|
151 | default y
|
---|
152 | help
|
---|
153 | If this option is set, the sources will be extracted into
|
---|
154 | subdirectories of the build directory. Otherwise, they will be
|
---|
155 | directly extracted into the build directory
|
---|
156 | config KEEP_FILES
|
---|
157 | bool "Keep source directory"
|
---|
158 | default n
|
---|
159 | help
|
---|
160 | Set this option if you want to keep the build directories
|
---|
161 | for further examination after installing the package
|
---|
162 | endmenu
|
---|
163 |
|
---|
164 | menu "Optimization"
|
---|
165 | config JOBS
|
---|
166 | int "Number of parallel jobs"
|
---|
167 | default 0
|
---|
168 | help
|
---|
169 | This number will get passed to make or ninja, unless set
|
---|
170 | to 0, in which case, it is set to the number of processors
|
---|
171 | on line. Note that some packages do not respect this setting.
|
---|
172 | Also, "-j1" is always passed to make for install (and nothing
|
---|
173 | to ninja).
|
---|
174 | config CFG_CFLAGS
|
---|
175 | string "Content of variable CFLAGS"
|
---|
176 | default "EMPTY"
|
---|
177 | help
|
---|
178 | If set to the special string "EMPTY", then CFLAGS will be
|
---|
179 | unset before starting the script. Otherwise, there is no
|
---|
180 | content check for this variable. Double check for typos!
|
---|
181 | config CFG_CXXFLAGS
|
---|
182 | string "Content of variable CXXFLAGS"
|
---|
183 | default "EMPTY"
|
---|
184 | help
|
---|
185 | If set to the special string "EMPTY", then CXXFLAGS will be
|
---|
186 | unset before starting the script. Otherwise, there is no
|
---|
187 | content check for this variable. Double check for typos!
|
---|
188 | config CFG_LDFLAGS
|
---|
189 | string "Content of variable LDFLAGS"
|
---|
190 | default "EMPTY"
|
---|
191 | help
|
---|
192 | If set to the special string "EMPTY", then LDFLAGS will be
|
---|
193 | unset before starting the script. Otherwise, there is no
|
---|
194 | content check for this variable. Double check for typos!
|
---|
195 | endmenu
|
---|
196 | </xsl:text>
|
---|
197 | </xsl:template>
|
---|
198 |
|
---|
199 | <xsl:template match="list">
|
---|
200 | <xsl:if
|
---|
201 | test=".//*[self::package or self::module]
|
---|
202 | [(version and not(inst-version)) or
|
---|
203 | string(version) != string(inst-version)]">
|
---|
204 | <xsl:text>menuconfig	MENU_</xsl:text>
|
---|
205 | <xsl:value-of select="@id"/>
|
---|
206 | <xsl:text>
|
---|
207 | bool	"</xsl:text>
|
---|
208 | <xsl:value-of select="name"/>
|
---|
209 | <xsl:text>"
|
---|
210 | default	n
|
---|
211 |
|
---|
212 | if	MENU_</xsl:text>
|
---|
213 | <xsl:value-of select="@id"/>
|
---|
214 | <xsl:text>
|
---|
215 |
|
---|
216 | </xsl:text>
|
---|
217 | <xsl:apply-templates select="sublist"/>
|
---|
218 | <xsl:text>endif
|
---|
219 |
|
---|
220 | </xsl:text>
|
---|
221 | </xsl:if>
|
---|
222 | </xsl:template>
|
---|
223 |
|
---|
224 | <xsl:template match="sublist">
|
---|
225 | <xsl:if
|
---|
226 | test=".//*[self::package or self::module]
|
---|
227 | [(version and not(inst-version)) or
|
---|
228 | string(version) != string(inst-version)]">
|
---|
229 | <xsl:text>	menuconfig	MENU_</xsl:text>
|
---|
230 | <xsl:value-of select="@id"/>
|
---|
231 | <xsl:text>
|
---|
232 | 	bool	"</xsl:text>
|
---|
233 | <xsl:value-of select="name"/>
|
---|
234 | <xsl:text>"
|
---|
235 | 	default	n
|
---|
236 |
|
---|
237 | 	if	MENU_</xsl:text>
|
---|
238 | <xsl:value-of select="@id"/>
|
---|
239 | <xsl:text>
|
---|
240 |
|
---|
241 | </xsl:text>
|
---|
242 | <xsl:apply-templates select="package"/>
|
---|
243 | <xsl:text>	endif
|
---|
244 |
|
---|
245 | </xsl:text>
|
---|
246 | </xsl:if>
|
---|
247 | </xsl:template>
|
---|
248 |
|
---|
249 | <xsl:template match="package">
|
---|
250 | <xsl:if
|
---|
251 | test="(version and not(inst-version)) or
|
---|
252 | string(version) != string(inst-version)">
|
---|
253 | <xsl:text>		config	CONFIG_</xsl:text>
|
---|
254 | <xsl:value-of select="name"/>
|
---|
255 | <xsl:text>
|
---|
256 | 		bool	"</xsl:text>
|
---|
257 | <xsl:value-of select="name"/>
|
---|
258 | <xsl:text> </xsl:text>
|
---|
259 | <xsl:value-of select="version"/>
|
---|
260 | <xsl:if test="inst-version">
|
---|
261 | <xsl:text> [Installed </xsl:text>
|
---|
262 | <xsl:value-of select="inst-version"/>
|
---|
263 | <xsl:text>]</xsl:text>
|
---|
264 | </xsl:if>
|
---|
265 | <xsl:text>"
|
---|
266 | 		default	n
|
---|
267 |
|
---|
268 | </xsl:text>
|
---|
269 | </xsl:if>
|
---|
270 | <xsl:if
|
---|
271 | test="not(version) and ./module[not(inst-version) or
|
---|
272 | string(version) != string(inst-version)]">
|
---|
273 | <xsl:text>		menuconfig	MENU_</xsl:text>
|
---|
274 | <xsl:value-of select="translate(name,' ()','___')"/>
|
---|
275 | <xsl:text>
|
---|
276 | 		bool	"</xsl:text>
|
---|
277 | <xsl:value-of select="name"/>
|
---|
278 | <xsl:text>"
|
---|
279 | 		default	n
|
---|
280 |
|
---|
281 | 		if	MENU_</xsl:text>
|
---|
282 | <xsl:value-of select="translate(name,' ()','___')"/>
|
---|
283 | <xsl:text>
|
---|
284 |
|
---|
285 | </xsl:text>
|
---|
286 | <xsl:apply-templates select="module"/>
|
---|
287 | <xsl:text>		endif
|
---|
288 |
|
---|
289 | </xsl:text>
|
---|
290 | </xsl:if>
|
---|
291 | </xsl:template>
|
---|
292 |
|
---|
293 | <xsl:template match="module">
|
---|
294 | <xsl:if
|
---|
295 | test="not(inst-version) or
|
---|
296 | string(version) != string(inst-version)">
|
---|
297 | <xsl:text>			config	CONFIG_</xsl:text>
|
---|
298 | <xsl:value-of select="name"/>
|
---|
299 | <xsl:text>
|
---|
300 | 			bool	"</xsl:text>
|
---|
301 | <xsl:value-of select="name"/>
|
---|
302 | <xsl:text> </xsl:text>
|
---|
303 | <xsl:value-of select="version"/>
|
---|
304 | <xsl:if test="inst-version">
|
---|
305 | <xsl:text> [Installed </xsl:text>
|
---|
306 | <xsl:value-of select="inst-version"/>
|
---|
307 | <xsl:text>]</xsl:text>
|
---|
308 | </xsl:if>
|
---|
309 | <xsl:text>"
|
---|
310 | 			default	</xsl:text>
|
---|
311 | <xsl:choose>
|
---|
312 | <!-- for compound packages, default to selecting all the subpackages-->
|
---|
313 | <xsl:when test="contains(../name,'xorg') or
|
---|
314 | contains(../name,'plasma') or
|
---|
315 | contains(../name,'kf5') or
|
---|
316 | contains(../name,'xcb-utilities')">
|
---|
317 | <xsl:text>y
|
---|
318 |
|
---|
319 | </xsl:text>
|
---|
320 | </xsl:when>
|
---|
321 | <xsl:otherwise>
|
---|
322 | <xsl:text>n
|
---|
323 |
|
---|
324 | </xsl:text>
|
---|
325 | </xsl:otherwise>
|
---|
326 | </xsl:choose>
|
---|
327 | </xsl:if>
|
---|
328 | </xsl:template>
|
---|
329 |
|
---|
330 | </xsl:stylesheet>
|
---|