1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
|
# SPDX-License-Identifier: CC0-1.0
project('ipu3-ipa', 'c', 'cpp',
meson_version : '>= 0.55',
version : '0.0.0',
default_options : [
'werror=true',
'warning_level=2',
'cpp_std=c++17',
],
license : 'Apache-2.0')
ipa_name = 'intel-ipu3-ipa'
ipa_install_dir = get_option('libdir') / 'libcamera'
cc = meson.get_compiler('c')
libcamera_dep = dependency('libcamera')
libcamera_base = dependency('libcamera-base')
libatomic = cc.find_library('atomic', required : false)
ia_deps = [
cc.find_library('libia_aiq'),
cc.find_library('libia_exc'),
cc.find_library('libia_coordinate'),
cc.find_library('libia_nvm'),
cc.find_library('libia_cmc_parser'),
cc.find_library('libia_mkn'),
cc.find_library('libia_log'),
cc.find_library('libSkyCamAICKBL'),
]
ia_imaging_dep = declare_dependency(
dependencies : ia_deps,
include_directories : include_directories('include/ia_imaging'),
)
config_h = configuration_data()
if cc.has_header_symbol('stdlib.h', 'secure_getenv', prefix : '#define _GNU_SOURCE')
config_h.set('HAVE_SECURE_GETENV', 1)
endif
config_h.set('MACRO_KBL_AIC', 1)
configure_file(output : 'config.h', configuration : config_h)
common_arguments = [
'-DLIBCAMERA_BASE_PRIVATE',
'-Wshadow',
'-include', 'config.h',
]
ipa_includes = [
include_directories('include'),
include_directories('include/ia_imaging'),
include_directories('.'),
]
c_arguments = []
cpp_arguments = []
if cc.get_id() == 'clang'
if cc.version().version_compare('<5')
error('clang version is too old, ipa-ipu3 requires 5.0 or newer')
endif
# Use libc++ by default if available instead of libstdc++ when compiling
# with clang.
if cc.find_library('libc++', required: false).found()
cpp_arguments += [
'-stdlib=libc++',
]
endif
cpp_arguments += [
'-Wextra-semi',
]
endif
c_arguments += common_arguments
cpp_arguments += common_arguments
add_project_arguments(c_arguments, language : 'c')
add_project_arguments(cpp_arguments, language : 'cpp')
ipu3_ipa_files = files([
'binary_data.cpp',
'ipu3.cpp',
])
ipu3_ipa_deps = [
libatomic,
libcamera_base,
libcamera_dep,
ia_imaging_dep,
]
subdir('aic')
subdir('aiq')
subdir('src')
subdir('stats')
mod = shared_module(ipa_name,
[ipu3_ipa_files, libcamera_helpers],
name_prefix : '',
include_directories : ipa_includes,
dependencies : ipu3_ipa_deps,
install : true,
install_dir : ipa_install_dir)
|