summaryrefslogtreecommitdiff
path: root/subprojects/packagefiles/vndk/meson.build
blob: 9814b27bf8953daf58f58156d8e5062276cc3599 (plain)
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
# SPDX-License-Identifier: CC0-1.0

project('vndk', 'cpp',
        version : 'vndk-v34')

cpu_family = host_machine.cpu_family()
if cpu_family != 'x86_64'
    error('vndk only supports x86_64 cpu_family')
endif

prebuild_libraries = [
    meson.current_source_dir() / cpu_family / 'arch-x86_64/shared/llndk-stub',
    meson.current_source_dir() / cpu_family / 'arch-x86_64/shared/vndk-sp',
    meson.current_source_dir() / cpu_family / 'arch-x86_64/shared/vndk-core',
]

include_base = cpu_family / 'include'

cxx = meson.get_compiler('cpp')
libhardware_dep = declare_dependency(
    dependencies : cxx.find_library('hardware', dirs : prebuild_libraries),
    include_directories : include_directories(include_base / 'hardware/libhardware/'))
meson.override_dependency('libhardware', libhardware_dep)

liblog_dep = declare_dependency(
    dependencies : cxx.find_library('log', dirs : prebuild_libraries),
    include_directories : include_directories(include_base / 'system/logging/liblog/include_vndk'))
meson.override_dependency('liblog', liblog_dep)

libutils_dep = declare_dependency(
    dependencies : [
        cxx.find_library('utils', dirs : prebuild_libraries),
        liblog_dep,
    ],
    include_directories : include_directories(include_base / 'system/core/libutils/include'))
meson.override_dependency('libutils', libutils_dep)

libui_dep = declare_dependency(
    dependencies : [
        cxx.find_library('ui', dirs : prebuild_libraries),
        libutils_dep,
    ],
    include_directories : include_directories(include_base / 'frameworks/native/libs/ui/include_vndk'))
meson.override_dependency('libui', libui_dep)

deps_cpp = [
  cxx.find_library('c++', dirs : prebuild_libraries),
  cxx.find_library('c', dirs : prebuild_libraries),
]

vndk_libcpp_dep = declare_dependency(
    dependencies : deps_cpp,
    include_directories : include_directories(include_base / 'external/libcxx/include'))
meson.override_dependency('cpp_stdlib', vndk_libcpp_dep)