1b8021494Sopenharmony_ci# Vim YouCompleteMe completion configuration.
2b8021494Sopenharmony_ci#
3b8021494Sopenharmony_ci# See doc/topics/ycm.md for details.
4b8021494Sopenharmony_ci
5b8021494Sopenharmony_ciimport os
6b8021494Sopenharmony_ciimport platform
7b8021494Sopenharmony_ci
8b8021494Sopenharmony_cirepo_root = os.path.dirname(os.path.abspath(__file__))
9b8021494Sopenharmony_ci
10b8021494Sopenharmony_ci# Paths in the compilation flags must be absolute to allow ycm to find them from
11b8021494Sopenharmony_ci# any working directory.
12b8021494Sopenharmony_cidef AbsolutePath(path):
13b8021494Sopenharmony_ci  return os.path.join(repo_root, path)
14b8021494Sopenharmony_ci
15b8021494Sopenharmony_ciflags = [
16b8021494Sopenharmony_ci  '-I', AbsolutePath('src'),
17b8021494Sopenharmony_ci  '-I', AbsolutePath('test'),
18b8021494Sopenharmony_ci  '-DVIXL_DEBUG'
19b8021494Sopenharmony_ci  '-Wall',
20b8021494Sopenharmony_ci  '-Werror',
21b8021494Sopenharmony_ci  '-Wextra',
22b8021494Sopenharmony_ci  '-pedantic',
23b8021494Sopenharmony_ci  '-Wno-newline-eof',
24b8021494Sopenharmony_ci  '-Wwrite-strings',
25b8021494Sopenharmony_ci  '-std=c++11',
26b8021494Sopenharmony_ci  '-x', 'c++'
27b8021494Sopenharmony_ci]
28b8021494Sopenharmony_ci
29b8021494Sopenharmony_ciif platform.machine() != 'aarch64':
30b8021494Sopenharmony_ci  flags.append('-DVIXL_INCLUDE_SIMULATOR_AARCH64')
31b8021494Sopenharmony_ci
32b8021494Sopenharmony_ci
33b8021494Sopenharmony_cidef FlagsForFile(filename, **kwargs):
34b8021494Sopenharmony_ci  return {
35b8021494Sopenharmony_ci    'flags': flags,
36b8021494Sopenharmony_ci    'do_cache': True
37b8021494Sopenharmony_ci  }
38b8021494Sopenharmony_ci
39