linux-qubasis
linux oasis port as a qubes template
git clone https://9o.is/git/linux-qubasis.git
gen.sh
(8530B)
1 git RELEASE-4.19.3
2
3 case $TARGET_ARCH in
4 x86_64) xen_arch=x86;;
5 *) error "Unsupported arch $TARGET_ARCH";;
6 esac
7
8 cflags "
9 -std=gnu99
10 -D__XEN_INTERFACE_VERSION__=__XEN_LATEST_INTERFACE_VERSION__
11 -D_LARGEFILE_SOURCE
12 -D_LARGEFILE64_SOURCE
13 -include $dir/config.h
14 -I$srcdir/tools/include
15 -I$outdir
16 -I$pkgdir/util-linux/include
17 -I$pkgdir/yajl/include
18 -I$pkgdir/zlib/include
19 -Wno-pedantic
20 -Wno-unused-parameter
21 -Wno-sign-compare
22 -Wno-old-style-declaration
23 -Wno-unused-but-set-variable
24 -Wno-missing-field-initializers
25 "
26
27 ldflags -pthread
28
29 dep "
30 $outdir/headerslinked
31 $outdir/xen/foreign/x86_32.h
32 $outdir/xen/foreign/x86_64.h
33 $outdir/xen/lib/x86/cpuid-autogen.h
34 $outdir/xen-xsm/flask/flask.h
35 $outdir/_libxl_save_msgs_callout.h
36 $outdir/_libxl_types.h
37 $outdir/_libxl_types_internal.h
38 $outdir/ssdt_s3.h
39 $outdir/ssdt_s4.h
40 $outdir/ssdt_pm.h
41 $outdir/ssdt_tpm.h
42 $outdir/ssdt_tpm2.h
43 $outdir/ssdt_laptop_slate.h
44 util-linux/headers
45 yajl/headers
46 zlib/headers
47 "
48
49 include --src-prefix tools/include "
50 libxenvchan.h
51 xenctrl.h
52 xenctrl_compat.h
53 xenevtchn.h
54 xengnttab.h
55 xenstore.h
56 xenstore_lib.h
57 xentoollog.h
58 "
59
60 include --src-prefix $outdir/xen/foreign --prefix xen/foreign "
61 x86_32.h
62 x86_64.h
63 "
64
65 include --src-prefix tools/include/xen-sys/Linux --prefix xen/sys "
66 evtchn.h
67 "
68
69 include --keep-path --src-prefix xen/include/public --prefix xen "
70 arch-x86/hvm/save.h
71 arch-x86/xen-mca.h
72 arch-x86/xen-x86_64.h
73 arch-x86/xen.h
74 domctl.h
75 event_channel.h
76 grant_table.h
77 hvm/dm_op.h
78 hvm/hvm_op.h
79 hvm/params.h
80 hvm/save.h
81 io/libxenvchan.h
82 io/xs_wire.h
83 kexec.h
84 memory.h
85 physdev.h
86 platform.h
87 sched.h
88 sysctl.h
89 trace.h
90 version.h
91 xen-compat.h
92 xen.h
93 xsm/flask_op.h
94 "
95
96 rule linkheaders 'sh $dir/linkheaders.sh $srcdir && touch $out'
97 bind description 'XEN $out'
98
99 rule mkheader 'python3 $srcdir/tools/include/xen-foreign/mkheader.py $arch $out $in >/dev/null'
100 bind description 'XEN $out'
101
102 rule gencpuid 'python3 $srcdir/xen/tools/gen-cpuid.py -i $in -o $out'
103 bind description 'XEN $out'
104
105 rule gentypes 'python3 $srcdir/tools/libs/light/gentypes.py $in $out >/dev/null 2>&1'
106 bind description 'XEN $out'
107
108 rule genlibxlsavemsgs 'python3 $dir/libxl_save_msgs_gen.py $arg > $out'
109 bind description 'XEN $out'
110
111 rule gendsdt_pvh 'sh $dir/dsdt_pvh.sh $hostdir/mk_dsdt $in $out'
112 bind description 'XEN $out'
113
114 rule iasl 'sh $dir/iasl.sh $in $out'
115 bind description 'XEN $out'
116
117 rule mkflask 'sh $srcdir/xen/xsm/flask/policy/mkflask.sh $$(which awk) $path $in'
118 bind description 'XEN $out'
119 bind path $outdir/xen-xsm/flask
120
121 genlibxlsavemsgs() {
122 build genlibxlsavemsgs $1 '|' $dir/libxl_save_msgs_gen.py
123 bind arg ${1##*_}
124 }
125
126 mkx86header() {
127 mkheader $1.h.tmp "
128 $srcdir/xen/include/public/arch-x86/xen-$1.h
129 $srcdir/xen/include/public/arch-x86/xen.h
130 $srcdir/xen/include/public/xen.h
131 "
132 bind arch $1
133
134 sed xen/foreign/$1.h $outdir/$1.h.tmp
135 bind expr "\"s/(__align8__ \(uint64_t\))/(\1)/g\""
136 }
137
138 linkheaders headerslinked '||' $dir/fetch
139 mkx86header x86_32
140 mkx86header x86_64
141 gencpuid xen/lib/x86/cpuid-autogen.h xen/include/public/arch-x86/cpufeatureset.h
142
143 gentypes "
144 _libxl_types.h
145 _libxl_types_private.h
146 _libxl_types_json.h
147 _libxl_types.c
148 " tools/libs/light/libxl_types.idl
149
150 gentypes "
151 _libxl_types_internal.h
152 _libxl_types_internal_private.h
153 _libxl_types_internal_json.h
154 _libxl_types_internal.c
155 " tools/libs/light/libxl_types_internal.idl
156
157 genlibxlsavemsgs _libxl_save_msgs_callout.h
158 genlibxlsavemsgs _libxl_save_msgs_callout.c
159 gendsdt_pvh dsdt_pvh.c tools/libacpi/dsdt_acpi_info.asl
160 mkflask xen-xsm/flask/flask.h xen/xsm/flask/policy/initial_sids
161
162 iasl ssdt_s3.h tools/libacpi/ssdt_s3.asl
163 iasl ssdt_s4.h tools/libacpi/ssdt_s4.asl
164 iasl ssdt_pm.h tools/libacpi/ssdt_pm.asl
165 iasl ssdt_tpm.h tools/libacpi/ssdt_tpm.asl
166 iasl ssdt_tpm2.h tools/libacpi/ssdt_tpm2.asl
167 iasl ssdt_laptop_slate.h tools/libacpi/ssdt_laptop_slate.asl
168
169 lib libxentoolcore.a --src-prefix tools/libs/toolcore "
170 handlereg.c
171 "
172
173 lib libxentoollog.a --src-prefix tools/libs/toollog "
174 xtl_core.c
175 xtl_logger_stdio.c
176 "
177
178 lib libxenevtchn.a --src-prefix tools/libs/evtchn "
179 core.c
180 linux.c
181 "
182
183 lib libxengnttab.a --src-prefix tools/libs/gnttab "
184 gnttab_core.c
185 gntshr_core.c
186 linux.c
187 "
188
189 lib libxencall.a --src-prefix tools/libs/call "
190 core.c
191 buffer.c
192 linux.c
193 "
194
195 lib libxenforeignmemory.a --src-prefix tools/libs/foreignmemory "
196 core.c
197 linux.c
198 "
199
200 lib libxendevicemodel.a --src-prefix tools/libs/devicemodel "
201 core.c
202 common.c
203 "
204
205 lib libxenctrl.a --src-prefix tools/libs/ctrl -pthread -D__XEN_TOOLS__ -D_GNU_SOURCE "
206 xc_altp2m.c
207 xc_arinc653.c
208 xc_cpu_hotplug.c
209 xc_cpupool.c
210 xc_csched.c
211 xc_csched2.c
212 xc_devicemodel_compat.c
213 xc_domain.c
214 xc_evtchn.c
215 xc_evtchn_compat.c
216 xc_flask.c
217 xc_foreign_memory.c
218 xc_gnttab.c
219 xc_gnttab_compat.c
220 xc_hcall_buf.c
221 xc_kexec.c
222 xc_linux.c
223 xc_mem_access.c
224 xc_mem_paging.c
225 xc_memshr.c
226 xc_misc.c
227 xc_monitor.c
228 xc_pagetab.c
229 xc_physdev.c
230 xc_pm.c
231 xc_private.c
232 xc_psr.c
233 xc_resource.c
234 xc_rt.c
235 xc_tbuf.c
236 xc_vm_event.c
237 xc_vmtrace.c
238 "
239
240 lib libxenguest.a --src-prefix tools/libs/guest -D__XEN_TOOLS__ -iquote $srcdir/tools/libs/ctrl -D_GNU_SOURCE "
241 xg_core.c
242 xg_core_x86.c
243 xg_cpuid_x86.c
244 xg_dom_binloader.c
245 xg_dom_boot.c
246 xg_dom_bzimageloader.c
247 xg_dom_compat_linux.c
248 xg_dom_core.c
249 xg_dom_decompress_lz4.c
250 xg_dom_elfloader.c
251 xg_dom_hvmloader.c
252 xg_dom_x86.c
253 xg_domain.c
254 xg_offline_page.c
255 xg_private.c
256 xg_resume.c
257 xg_sr_common.c
258 xg_sr_common_x86.c
259 xg_sr_common_x86_pv.c
260 xg_sr_restore.c
261 xg_sr_restore_x86_hvm.c
262 xg_sr_restore_x86_pv.c
263 xg_sr_save.c
264 xg_sr_save_x86_hvm.c
265 xg_sr_save_x86_pv.c
266 xg_suspend.c
267 $srcdir/xen/common/libelf/libelf-dominfo.c
268 $srcdir/xen/common/libelf/libelf-loader.c
269 $srcdir/xen/common/libelf/libelf-tools.c
270 $srcdir/xen/lib/x86/cpuid.c
271 $srcdir/xen/lib/x86/msr.c
272 $srcdir/xen/lib/x86/policy.c
273 "
274
275 lib libxenstore.a --src-prefix tools/libs/store -DUSE_PTHREAD -Wno-cast-function-type "
276 xs.c
277 "
278
279 lib libxenvchan.a --src-prefix tools/libs/vchan -D__XEN_TOOLS__ "
280 init.c
281 io.c
282 "
283
284 lib libxenhypfs.a --src-prefix tools/libs/hypfs "
285 core.c
286 "
287
288 libxenlight_cflags="
289 -pthread
290 -I$srcdir/tools/libacpi \
291 -I$srcdir/tools/libs/light
292 -D__XEN_TOOLS__
293 -DCONFIG_PCI_SUPP_LEGACY_IRQ
294 -DLIBACPI_STDUTILS=\\\"../libs/light/libxl_x86_acpi.h\\\"
295 -Wshadow
296 -Wno-cast-function-type
297 -Wno-format-zero-length
298 -Wno-implicit-fallthrough
299 "
300
301 lib libxenlight.a --src-prefix tools/libs/light $libxenlight_cflags "
302 flexarray.c
303 libxl.c
304 libxl_9pfs.c
305 libxl_aoutils.c
306 libxl_bootloader.c
307 libxl_checkpoint_device.c
308 libxl_console.c
309 libxl_convert_callout.c
310 libxl_cpuid.c
311 libxl_cpupool.c
312 libxl_create.c
313 libxl_device.c
314 libxl_disk.c
315 libxl_dm.c
316 libxl_dom.c
317 libxl_dom_save.c
318 libxl_dom_suspend.c
319 libxl_domain.c
320 libxl_event.c
321 libxl_exec.c
322 libxl_flask.c
323 libxl_fork.c
324 libxl_genid.c
325 libxl_internal.c
326 libxl_json.c
327 libxl_linux.c
328 libxl_mem.c
329 libxl_nic.c
330 libxl_no_colo.c
331 libxl_nonetbuffer.c
332 libxl_numa.c
333 libxl_paths.c
334 libxl_pci.c
335 libxl_psr.c
336 libxl_pvcalls.c
337 libxl_qmp.c
338 libxl_remus.c
339 libxl_remus_disk_drbd.c
340 libxl_save_callout.c
341 libxl_sched.c
342 libxl_setresuid.c
343 libxl_stream_read.c
344 libxl_stream_write.c
345 libxl_tmem.c
346 libxl_usb.c
347 libxl_utils.c
348 libxl_uuid.c
349 libxl_vdispl.c
350 libxl_virtio.c
351 libxl_vkb.c
352 libxl_vnuma.c
353 libxl_vsnd.c
354 libxl_vtpm.c
355 libxl_x86.c
356 libxl_x86_acpi.c
357 libxl_xshelp.c
358 osdeps.c
359 $outdir/_libxl_types.c
360 $outdir/_libxl_types_internal.c
361 $outdir/_libxl_save_msgs_callout.c
362 $outdir/dsdt_pvh.c
363 $srcdir/tools/libacpi/build.c
364 $srcdir/tools/libacpi/static_tables.c
365 "
366
367 lib libxlutil.a --src-prefix tools/libs/util -pthread -D__XEN_TOOLS__ "
368 libxlu_cfg_y.c
369 libxlu_cfg_l.c
370 libxlu_cfg.c
371 libxlu_disk_l.c
372 libxlu_disk.c
373 libxlu_vif.c
374 libxlu_pci.c
375 "
376
377 bin xl --src-prefix tools/xl -pthread -D__XEN_TOOLS__ -Wno-implicit-fallthrough "
378 xl.c
379 xl_cmdtable.c
380 xl_sxp.c
381 xl_utils.c
382 xl_psr.c
383 xl_parse.c
384 xl_cpupool.c
385 xl_flask.c
386 xl_vtpm.c
387 xl_block.c
388 xl_nic.c
389 xl_usb.c
390 xl_sched.c
391 xl_pci.c
392 xl_vcpu.c
393 xl_cdrom.c
394 xl_mem.c
395 xl_info.c
396 xl_console.c
397 xl_misc.c
398 xl_vmcontrol.c
399 xl_saverestore.c
400 xl_migrate.c
401 xl_vdispl.c
402 xl_vsnd.c
403 xl_vkb.c
404 $libdir/libxlutil.a
405 $libdir/libxenlight.a
406 $libdir/libxenguest.a
407 $libdir/libxenctrl.a
408 $libdir/libxenhypfs.a
409 $libdir/libxenstore.a
410 $libdir/libxendevicemodel.a
411 $libdir/libxenforeignmemory.a
412 $libdir/libxengnttab.a
413 $libdir/libxenevtchn.a
414 $libdir/libxencall.a
415 $libdir/libxentoollog.a
416 $libdir/libxentoolcore.a
417 $pkgdir/util-linux/libuuid.a.d
418 $pkgdir/zlib/libz.a
419 $pkgdir/yajl/yajl.a
420 "
421
422 host() {
423 cflags -D__XEN_TOOLS__ -DCONFIG_X86 -I$srcdir/tools/include
424 exe mk_dsdt tools/libacpi/mk_dsdt.c
425 }