blob: 895a11d3fa255017061902ef6c74678ee34399b2 [file] [log] [blame]
Richard Henderson514fea92023-05-22 23:22:36 -07001if not get_option('tcg').allowed()
2 subdir_done()
3endif
4
Richard Henderson104cc2c2021-03-08 12:04:33 -08005tcg_ss = ss.source_set()
6
7tcg_ss.add(files(
8 'optimize.c',
Richard Henderson5ff72582021-03-09 16:24:14 -06009 'region.c',
Richard Henderson104cc2c2021-03-08 12:04:33 -080010 'tcg.c',
11 'tcg-common.c',
12 'tcg-op.c',
Richard Hendersona1429ca2023-05-14 23:13:46 -070013 'tcg-op-ldst.c',
Richard Henderson104cc2c2021-03-08 12:04:33 -080014 'tcg-op-gvec.c',
15 'tcg-op-vec.c',
16))
Richard Henderson22f15572021-03-18 12:46:44 -060017
18if get_option('tcg_interpreter')
19 libffi = dependency('libffi', version: '>=3.0', required: true,
Paolo Bonzini063d5112022-07-14 14:56:58 +020020 method: 'pkg-config')
Richard Henderson514fea92023-05-22 23:22:36 -070021 tcg_ss.add(libffi)
22 tcg_ss.add(files('tci.c'))
Richard Henderson22f15572021-03-18 12:46:44 -060023endif
Richard Henderson104cc2c2021-03-08 12:04:33 -080024
Paolo Bonzini1f2146f2023-08-30 11:39:45 +020025tcg_ss = tcg_ss.apply(config_targetos, strict: false)
Richard Henderson514fea92023-05-22 23:22:36 -070026
27libtcg_user = static_library('tcg_user',
28 tcg_ss.sources() + genh,
29 name_suffix: 'fa',
30 c_args: '-DCONFIG_USER_ONLY',
Paolo Bonzini4c545a02023-09-27 15:48:31 +020031 build_by_default: false)
Richard Henderson514fea92023-05-22 23:22:36 -070032
33tcg_user = declare_dependency(link_with: libtcg_user,
34 dependencies: tcg_ss.dependencies())
35user_ss.add(tcg_user)
36
Philippe Mathieu-Daudé7893e422023-10-04 11:06:20 +020037libtcg_system = static_library('tcg_system',
Richard Henderson514fea92023-05-22 23:22:36 -070038 tcg_ss.sources() + genh,
39 name_suffix: 'fa',
40 c_args: '-DCONFIG_SOFTMMU',
Paolo Bonzini4c545a02023-09-27 15:48:31 +020041 build_by_default: false)
Richard Henderson514fea92023-05-22 23:22:36 -070042
Philippe Mathieu-Daudé7893e422023-10-04 11:06:20 +020043tcg_system = declare_dependency(link_with: libtcg_system,
Richard Henderson514fea92023-05-22 23:22:36 -070044 dependencies: tcg_ss.dependencies())
Philippe Mathieu-Daudé7893e422023-10-04 11:06:20 +020045system_ss.add(tcg_system)