source: mainline/meson/arch/amd64/meson.build@ 62721d5

ticket/834-toolchain-update topic/msim-upgrade topic/simplify-dev-export
Last change on this file since 62721d5 was 581a54a, checked in by Jiri Svoboda <jiri@…>, 4 years ago

Allow filtering list of drivers even in non-barebone mode

This reduces the size of RAM disk / OS image for platforms that do not
use barebone by default, namely amd64, ia32, ia64 and ppc32,
in some cases significantly.

  • Property mode set to 100644
File size: 3.0 KB
Line 
1#
2# Copyright (c) 2021 Jiri Svoboda
3# Copyright (c) 2019 Jiří Zárevúcky
4# All rights reserved.
5#
6# Redistribution and use in source and binary forms, with or without
7# modification, are permitted provided that the following conditions
8# are met:
9#
10# - Redistributions of source code must retain the above copyright
11# notice, this list of conditions and the following disclaimer.
12# - Redistributions in binary form must reproduce the above copyright
13# notice, this list of conditions and the following disclaimer in the
14# documentation and/or other materials provided with the distribution.
15# - The name of the author may not be used to endorse or promote products
16# derived from this software without specific prior written permission.
17#
18# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
19# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
20# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
21# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
22# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
23# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
24# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
25# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
27# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28#
29
30arch_uspace_c_args = [
31 '-D__LE__',
32 '-fno-omit-frame-pointer',
33]
34
35arch_kernel_c_args = arch_uspace_c_args + [
36 '-mno-sse',
37 '-mno-sse2',
38 '-mcmodel=' + MEMORY_MODEL,
39 '-mno-red-zone',
40 '-fno-unwind-tables',
41]
42
43if PROCESSOR == 'opteron'
44 arch_kernel_c_args += '-march=opteron'
45endif
46
47
48# TODO: Enable --gc-sections
49arch_kernel_link_args = [ '-Wl,-z,max-page-size=0x1000', '-nostdlib', '-Wl,--no-gc-sections' ]
50arch_uspace_link_args = [ '-Wl,-z,max-page-size=0x1000', '-nostdlib', '-lgcc' ]
51
52# Binaries to be included in a barebone build
53rd_essential += [
54 'app/edit',
55 'app/mixerctl',
56 'app/wavplay',
57
58 'srv/audio/hound',
59]
60
61# Drivers to be included in a barebone build
62rd_essential_drv += [
63 'drv/intctl/apic',
64 'drv/intctl/i8259',
65 'drv/platform/pc',
66 'drv/block/ata_bd',
67 'drv/bus/pci/pciintel',
68 'drv/bus/isa',
69 'drv/audio/sb16',
70 'drv/char/i8042',
71 'drv/hid/ps2mouse',
72 'drv/hid/xtkbd',
73]
74
75# Drivers to be included in a regular build
76rd_drv += [
77 'drv/audio/hdaudio',
78 'drv/audio/sb16',
79 'drv/block/ahci',
80 'drv/block/ata_bd',
81 'drv/block/usbmast',
82 'drv/block/virtio-blk',
83 'drv/bus/isa',
84 'drv/bus/pci/pciintel',
85 'drv/bus/usb/ehci',
86 'drv/bus/usb/ohci',
87 'drv/bus/usb/uhci',
88 'drv/bus/usb/usbdiag',
89 'drv/bus/usb/usbflbk',
90 'drv/bus/usb/usbhub',
91 'drv/bus/usb/usbmid',
92 'drv/bus/usb/vhc',
93 'drv/bus/usb/xhci',
94 'drv/char/i8042',
95 'drv/char/ns8250',
96 'drv/char/pc-lpt',
97 'drv/hid/ps2mouse',
98 'drv/hid/xtkbd',
99 'drv/hid/usbhid',
100 'drv/intctl/apic',
101 'drv/intctl/i8259',
102 'drv/nic/ar9271',
103 'drv/nic/e1k',
104 'drv/nic/ne2k',
105 'drv/nic/rtl8139',
106 'drv/nic/rtl8169',
107 'drv/nic/virtio-net',
108 'drv/platform/pc',
109 'drv/time/cmos-rtc',
110]
Note: See TracBrowser for help on using the repository browser.