• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1celt_sources = sources['CELT_SOURCES']
2
3celt_sse_sources = sources['CELT_SOURCES_SSE']
4
5celt_sse2_sources = sources['CELT_SOURCES_SSE2']
6
7celt_sse4_1_sources = sources['CELT_SOURCES_SSE4_1']
8
9celt_neon_intr_sources = sources['CELT_SOURCES_ARM_NEON_INTR']
10
11celt_static_libs = []
12
13foreach intr_name : ['sse', 'sse2', 'sse4_1', 'neon_intr']
14  have_intr = get_variable('have_' + intr_name)
15  if not have_intr
16    continue
17  endif
18
19  intr_sources = get_variable('celt_@0@_sources'.format(intr_name))
20  intr_args = get_variable('opus_@0@_args'.format(intr_name), [])
21  celt_static_libs += static_library('celt_' + intr_name, intr_sources,
22      c_args: intr_args,
23      include_directories: opus_includes,
24      install: false)
25endforeach
26
27have_arm_intrinsics_or_asm = have_arm_ne10
28if (intrinsics_support.length() + asm_optimization.length() + inline_optimization.length()) > 0
29  have_arm_intrinsics_or_asm = true
30endif
31
32if host_cpu_family in ['arm', 'aarch64'] and have_arm_intrinsics_or_asm
33  celt_sources +=  sources['CELT_SOURCES_ARM']
34  if have_arm_ne10
35    celt_sources += sources['CELT_SOURCES_ARM_NE10']
36  endif
37  if opus_arm_external_asm
38    arm2gnu = [find_program('arm/arm2gnu.pl')] + arm2gnu_args
39    celt_sources_arm_asm = configure_file(input: 'arm/celt_pitch_xcorr_arm.s',
40      output: '@BASENAME@-gnu.S',
41      command: arm2gnu + ['@INPUT@'],
42      capture: true)
43    celt_arm_armopts_s = configure_file(input: 'arm/armopts.s.in',
44      output: 'arm/armopts.s',
45      configuration: opus_conf)
46    celt_static_libs += static_library('celt-armasm',
47      celt_arm_armopts_s, celt_sources_arm_asm,
48      install: false)
49  endif
50endif
51
52celt_c_args = []
53if host_system == 'windows'
54  celt_c_args += ['-DDLL_EXPORT']
55endif
56
57celt_lib = static_library('opus-celt',
58  celt_sources,
59  c_args: celt_c_args,
60  include_directories: opus_includes,
61  link_whole: celt_static_libs,
62  dependencies: libm,
63  install: false)
64