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