source: mainline/meson/arch/ia32/meson.build@ 9754ed2

serial ticket/834-toolchain-update topic/msim-upgrade topic/simplify-dev-export
Last change on this file since 9754ed2 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.1 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
30_march = '-march=' + '-'.join(PROCESSOR.split('_'))
31if PROCESSOR == 'core'
32 # FIXME
33 _march = '-march=prescott'
34endif
35
36
37arch_uspace_c_args = [
38 # FIXME: enabling -march for uspace makes malloc tests crash. Investigate.
39 # _march,
40 '-D__LE__',
41 '-mno-tls-direct-seg-refs',
42 '-fno-omit-frame-pointer',
43]
44
45arch_kernel_c_args = arch_uspace_c_args + [
46 _march,
47 '-mno-mmx',
48 '-mno-sse',
49 '-mno-sse2',
50 '-mno-sse3',
51 '-mno-3dnow',
52]
53
54
55# TODO: Enable --gc-sections.
56arch_kernel_link_args = [ '-nostdlib', '-Wl,--no-gc-sections' ]
57arch_uspace_link_args = [ '-nostdlib', '-lgcc' ]
58
59# Binaries to be included in a barebone build
60rd_essential += [
61 'app/edit',
62 'app/mixerctl',
63 'app/wavplay',
64
65 'srv/audio/hound',
66]
67
68# Drivers to be included in a barebone build
69rd_essential_drv += [
70 'drv/intctl/apic',
71 'drv/intctl/i8259',
72 'drv/platform/pc',
73 'drv/block/ata_bd',
74 'drv/bus/pci/pciintel',
75 'drv/bus/isa',
76 'drv/audio/sb16',
77 'drv/char/i8042',
78 'drv/hid/ps2mouse',
79 'drv/hid/xtkbd',
80]
81
82# Drivers to be included in a regular build
83rd_drv += [
84 'drv/audio/hdaudio',
85 'drv/audio/sb16',
86 'drv/block/ahci',
87 'drv/block/ata_bd',
88 'drv/block/usbmast',
89 'drv/block/virtio-blk',
90 'drv/bus/isa',
91 'drv/bus/pci/pciintel',
92 'drv/bus/usb/ehci',
93 'drv/bus/usb/ohci',
94 'drv/bus/usb/uhci',
95 'drv/bus/usb/usbdiag',
96 'drv/bus/usb/usbflbk',
97 'drv/bus/usb/usbhub',
98 'drv/bus/usb/usbmid',
99 'drv/bus/usb/vhc',
100 'drv/bus/usb/xhci',
101 'drv/char/i8042',
102 'drv/char/ns8250',
103 'drv/char/pc-lpt',
104 'drv/hid/ps2mouse',
105 'drv/hid/xtkbd',
106 'drv/hid/usbhid',
107 'drv/intctl/apic',
108 'drv/intctl/i8259',
109 'drv/nic/ar9271',
110 'drv/nic/e1k',
111 'drv/nic/ne2k',
112 'drv/nic/rtl8139',
113 'drv/nic/rtl8169',
114 'drv/nic/virtio-net',
115 'drv/platform/pc',
116 'drv/time/cmos-rtc',
117]
Note: See TracBrowser for help on using the repository browser.