blob: 7a3ba777ab26b31f1406c0003f89d78892003a1b [file] [log] [blame]
Marc-André Lureau848e8ff2019-07-15 23:18:07 +04001chardev_ss.add(files(
2 'char-fe.c',
3 'char-file.c',
4 'char-io.c',
5 'char-mux.c',
6 'char-null.c',
7 'char-pipe.c',
8 'char-ringbuf.c',
9 'char-serial.c',
10 'char-socket.c',
11 'char-stdio.c',
12 'char-udp.c',
13 'char.c',
14))
Marc-André Lureau3f6c2e82022-03-23 19:57:16 +040015chardev_ss.add(when: 'CONFIG_POSIX', if_true: [files(
Marc-André Lureau848e8ff2019-07-15 23:18:07 +040016 'char-fd.c',
Marc-André Lureau848e8ff2019-07-15 23:18:07 +040017 'char-pty.c',
Marc-André Lureau3f6c2e82022-03-23 19:57:16 +040018), util])
Paolo Bonzini1baf34a2022-12-19 10:17:09 +010019if targetos in ['linux', 'gnu/kfreebsd', 'freebsd', 'dragonfly']
20 chardev_ss.add(files('char-parallel.c'))
21endif
22
Marc-André Lureau848e8ff2019-07-15 23:18:07 +040023chardev_ss.add(when: 'CONFIG_WIN32', if_true: files(
24 'char-console.c',
25 'char-win-stdio.c',
26 'char-win.c',
27))
28
29chardev_ss = chardev_ss.apply(config_host, strict: false)
Paolo Bonzini26347332019-07-29 15:40:07 +020030
Markus Armbrusterb7d75c02023-01-24 13:19:17 +010031softmmu_ss.add(files(
32 'char-hmp-cmds.c',
33 'msmouse.c',
34 'wctablet.c',
35 'testdev.c'))
Paolo Bonzini26347332019-07-29 15:40:07 +020036
37chardev_modules = {}
38
Paolo Bonzini8c6d4ff2020-11-17 13:02:17 +010039if brlapi.found()
Paolo Bonzini26347332019-07-29 15:40:07 +020040 module_ss = ss.source_set()
Bruce Rogersfd6c9862020-09-03 09:29:33 -060041 module_ss.add(when: [brlapi], if_true: [files('baum.c'), pixman])
Bruce Rogers48e33de2020-08-24 09:52:36 -060042 chardev_modules += { 'baum': module_ss }
Paolo Bonzini26347332019-07-29 15:40:07 +020043endif
44
Marc-André Lureau3f0a5d52021-10-07 15:08:23 +020045if spice.found()
Gerd Hoffmann23ebeaa2020-10-14 14:11:20 +020046 module_ss = ss.source_set()
47 module_ss.add(when: [spice], if_true: files('spice.c'))
48 chardev_modules += { 'spice': module_ss }
49endif
50
Paolo Bonzini26347332019-07-29 15:40:07 +020051modules += { 'chardev': chardev_modules }