1fc532139b16564911ce0270c761186af989dd1e
[dpdk.git] / lib / librte_eal / meson.build
1 # SPDX-License-Identifier: BSD-3-Clause
2 # Copyright(c) 2017-2019 Intel Corporation
3
4 # Custom EAL processing. EAL is complicated enough that it can't just
5 # have a straight list of headers and source files.
6 # Initially pull in common settings
7 eal_inc = [global_inc]
8 subdir('common')
9
10 # Now do OS/exec-env specific settings, including building kernel modules
11 # The <exec-env>/eal/meson.build file should define env_sources, etc.
12 dpdk_conf.set('RTE_EXEC_ENV_' + exec_env.to_upper(), 1)
13 subdir(exec_env + '/eal')
14
15 subdir(arch_subdir)
16
17 allow_experimental_apis = true
18 deps += 'kvargs'
19 if dpdk_conf.has('RTE_USE_LIBBSD')
20         ext_deps += libbsd
21 endif
22 if cc.has_function('getentropy', prefix : '#include <unistd.h>')
23         cflags += '-DRTE_LIBEAL_USE_GETENTROPY'
24 endif
25 if cc.has_header('getopt.h')
26         cflags += ['-DHAVE_GETOPT_H', '-DHAVE_GETOPT', '-DHAVE_GETOPT_LONG']
27 endif
28 sources += env_sources
29 objs = env_objs
30 headers = common_headers + env_headers
31 includes += eal_inc