diff --git a/.ycm_extra_conf.py b/.ycm_extra_conf.py index e5815616ee0..580669bddeb 100644 --- a/.ycm_extra_conf.py +++ b/.ycm_extra_conf.py @@ -32,203 +32,82 @@ import os import ycm_core flags = [ -'-Wall', -'-Wextra', -'-Werror', -'-Wno-unused-parameter', -# This is a C project -'-x', 'c', -# Defines -'-DCONFIG_H_IS_FROM_SAMBA=1', -'-DHAVE_CONFIG_H=1', -'-D_SAMBA_BUILD_=4', -'-DAD_DC_BUILD_IS_ENABLED=1', -'-D_GNU_SOURCE=1', -'-DHAVE_IPV6=1', -# Includes -'-I.', -'-Iauth', -'-Iauth/credentials', -'-Iauth/gensec', -'-Iauth/kerberos', -'-Iauth/ntlmssp', -'-Idfs_server', -'-Idynconfig', -'-Iinclude', -'-Iinclude/public', -'-Ilib', -'-Ilib/addns', -'-Ilib/async_req', -'-Ilib/ccan', -'-Ilib/compression', -'-Ilib/crypto', -'-Ilib/dbwrap', -'-Ilib/krb5_wrap', -'-Ilib/ldb', -'-Ilib/ldb-samba', -'-Ilib/ldb/include', -'-Ilib/param', -'-Ilib/replace', -'-Ilib/smbconf', -'-Ilib/socket', -'-Ilib/talloc', -'-Ilib/tdb', -'-Ilib/tdb/include', -'-Ilib/tevent', -'-Ilib/tsocket', -'-Ilib/util/charset', -'-Ilibcli/auth', -'-Ilibcli/cldap', -'-Ilibcli/dns', -'-Ilibcli/drsuapi', -'-Ilibcli/ldap', -'-Ilibcli/lsarpc', -'-Ilibcli/named_pipe_auth', -'-Ilibcli/nbt', -'-Ilibcli/netlogon', -'-Ilibcli/registry', -'-Ilibcli/security', -'-Ilibcli/smb', -'-Ilibcli/util', -'-Ilibds/common', -'-Ilibrpc', -'-Insswitch', -'-Insswitch/libwbclient', -'-Isource3', -'-Isource3/auth', -'-Isource3/include', -'-Isource3/lib', -'-Isource3/lib/asys', -'-Isource3/lib/pthreadpool', -'-Isource3/librpc', -'-Isource3/modules', -'-Isource3/passdb', -'-Isource3/rpc_server', -'-Isource4', -'-Isource4/auth', -'-Isource4/auth/gensec', -'-Isource4/auth/kerberos', -'-Isource4/dsdb', -'-Isource4/include', -'-Isource4/lib', -'-Isource4/lib/events', -'-Isource4/lib/socket', -'-Isource4/lib/stream', -'-Isource4/lib/tls', -'-Isource4/libcli', -'-Isource4/libcli/ldap', -'-Isource4/param', -'-Isource4/winbind', -# Generated headers -'-Ibin/default', -'-Ibin/default/auth/credentials', -'-Ibin/default/auth/gensec', -'-Ibin/default/file_server', -'-Ibin/default/include', -'-Ibin/default/include/public', -'-Ibin/default/include/public/core', -'-Ibin/default/include/public/gen_ndr', -'-Ibin/default/include/public/ndr', -'-Ibin/default/include/public/samba', -'-Ibin/default/include/public/util', -'-Ibin/default/libcli/nbt', -'-Ibin/default/lib/crypto', -'-Ibin/default/lib/ldb/include', -'-Ibin/default/lib/ldb-samba', -'-Ibin/default/lib/param', -'-Ibin/default/librpc/gen_ndr', -'-Ibin/default/lib/util', -'-Ibin/default/source3/include', -'-Ibin/default/source3/librpc/gen_ndr', -'-Ibin/default/source3/param', -'-Ibin/default/source4', -'-Ibin/default/source4/auth', -'-Ibin/default/source4/auth/gensec', -'-Ibin/default/source4/auth/kerberos', -'-Ibin/default/source4/auth/ntlm', -'-Ibin/default/source4/cldap_server', -'-Ibin/default/source4/dsdb/common', -'-Ibin/default/source4/dsdb/kcc', -'-Ibin/default/source4/dsdb/repl', -'-Ibin/default/source4/dsdb/samdb', -'-Ibin/default/source4/dsdb/samdb/ldb_modules', -'-Ibin/default/source4/dsdb/schema', -'-Ibin/default/source4/heimdal/kdc', -'-Ibin/default/source4/heimdal/lib/asn1', -'-Ibin/default/source4/heimdal/lib/gssapi', -'-Ibin/default/source4/heimdal/lib/gssapi/krb5', -'-Ibin/default/source4/heimdal/lib/gssapi/spnego', -'-Ibin/default/source4/heimdal/lib/hdb', -'-Ibin/default/source4/heimdal/lib/hx509', -'-Ibin/default/source4/heimdal/lib/krb5', -'-Ibin/default/source4/heimdal/lib/ntlm', -'-Ibin/default/source4/heimdal/lib/wind', -'-Ibin/default/source4/ldap_server', -'-Ibin/default/source4/libcli', -'-Ibin/default/source4/libcli/composite', -'-Ibin/default/source4/libcli/ldap', -'-Ibin/default/source4/libcli/rap', -'-Ibin/default/source4/libcli/raw', -'-Ibin/default/source4/libcli/resolve', -'-Ibin/default/source4/libcli/smb2', -'-Ibin/default/source4/libcli/util', -'-Ibin/default/source4/libcli/wrepl', -'-Ibin/default/source4/lib/cmdline', -'-Ibin/default/source4/libnet', -'-Ibin/default/source4/lib/registry', -'-Ibin/default/source4/lib/registry/tests', -'-Ibin/default/source4/lib/registry/tools', -'-Ibin/default/source4/librpc/gen_ndr', -'-Ibin/default/source4/librpc/rpc', -'-Ibin/default/source4/lib/socket', -'-Ibin/default/source4/nbt_server', -'-Ibin/default/source4/nbt_server/dgram', -'-Ibin/default/source4/nbt_server/wins', -'-Ibin/default/source4/ntptr', -'-Ibin/default/source4/ntvfs', -'-Ibin/default/source4/ntvfs/cifs_posix_cli', -'-Ibin/default/source4/ntvfs/common', -'-Ibin/default/source4/ntvfs/ipc', -'-Ibin/default/source4/ntvfs/posix', -'-Ibin/default/source4/ntvfs/simple', -'-Ibin/default/source4/rpc_server', -'-Ibin/default/source4/rpc_server/backupkey', -'-Ibin/default/source4/rpc_server/common', -'-Ibin/default/source4/rpc_server/lsa', -'-Ibin/default/source4/rpc_server/samr', -'-Ibin/default/source4/rpc_server/srvsvc', -'-Ibin/default/source4/smbd', -'-Ibin/default/source4/smb_server', -'-Ibin/default/source4/smb_server/smb', -'-Ibin/default/source4/smb_server/smb2', -'-Ibin/default/source4/torture/auth', -'-Ibin/default/source4/torture/basic', -'-Ibin/default/source4/torture/dfs', -'-Ibin/default/source4/torture/drs', -'-Ibin/default/source4/torture/ldap', -'-Ibin/default/source4/torture/libnet', -'-Ibin/default/source4/torture/libnetapi', -'-Ibin/default/source4/torture/libsmbclient', -'-Ibin/default/source4/torture/local', -'-Ibin/default/source4/torture/nbench', -'-Ibin/default/source4/torture/nbt', -'-Ibin/default/source4/torture/ndr', -'-Ibin/default/source4/torture/ntp', -'-Ibin/default/source4/torture/rap', -'-Ibin/default/source4/torture/raw', -'-Ibin/default/source4/torture/rpc', -'-Ibin/default/source4/torture/smb2', -'-Ibin/default/source4/torture/unix', -'-Ibin/default/source4/torture/winbind', -'-Ibin/default/source4/winbind', -'-Ibin/default/source4/wrepl_server', -'-Ibin/default/testsuite/headers', + # This is a C project + '-x', 'c', + '-DDEBUG_PASSWORD', + '-DDEVELOPER', + '-DHAVE_CONFIG_H=1', + '-DCONFIG_H_IS_FROM_SAMBA=1', + '-DSTATIC_replace_MODULES=NULL', + '-DSTATIC_replace_MODULES_PROTO=extern', + '-D_GNU_SOURCE=1', + '-D_POSIX_PTHREAD_SEMANTICS', + '-D_REENTRANT', + '-D_SAMBA_BUILD_=4', + '-D_XOPEN_SOURCE_EXTENDED=1', + '-DAD_DC_BUILD_IS_ENABLED=1', + '-DHAVE_IPV6=1', + '-I/usr/local/include', + '-I.', + '-Iinclude', + '-Iinclude/public', + '-Ilib', + '-Ilib/replace', + '-Isource3', + '-Isource3/include', + '-Isource3/lib', + '-Isource4', + '-Isource4/include', + '-Isource4/lib', + '-Ibin/default', + '-Ibin/default/include', + '-Ibin/default/include/public', + '-Ibin/default/lib', + '-Ibin/default/lib/replace', + '-Ibin/default/source3', + '-Ibin/default/source3/include', + '-Ibin/default/source3/lib', + '-Ibin/default/source4', + '-Ibin/default/source4/include', + '-Ibin/default/source4/lib', + '-Wall', + '-Wcast-align', + '-Wcast-qual', + '-Wdeclaration-after-statement', + '-Werror', + '-Werror-implicit-function-declaration', + '-Werror=address', + '-Werror=declaration-after-statement', + '-Werror=format', + '-Werror=format-security', + '-Werror=pointer-arith', + '-Werror=return-type', + '-Werror=strict-prototypes', + '-Werror=uninitialized', + '-Werror=write-strings', + '-Wformat-security', + '-Wformat=2', + '-Wmissing-prototypes', + '-Wno-error=deprecated-declarations', + '-Wno-error=tautological-compare', + '-Wno-format-y2k', + '-Wpointer-arith', + '-Wreturn-type', + '-Wshadow', + '-Wstrict-prototypes', + '-Wuninitialized', + '-Wwrite-strings', ] + # Set this to the absolute path to the folder (NOT the file!) containing the # compile_commands.json file to use that instead of 'flags'. See here for # more details: http://clang.llvm.org/docs/JSONCompilationDatabase.html # +# You can get CMake to generate this file for you by adding: +# set( CMAKE_EXPORT_COMPILE_COMMANDS 1 ) +# to your CMakeLists.txt file. +# # Most projects will NOT need to set this to anything; you can just change the # 'flags' list of compilation flags. Notice that YCM itself uses that approach. compilation_database_folder = '' @@ -238,7 +117,7 @@ if os.path.exists( compilation_database_folder ): else: database = None -SOURCE_EXTENSIONS = [ '.cpp', '.cxx', '.cc', '.c', '.m', '.mm' ] +SOURCE_EXTENSIONS = [ '.C', '.cpp', '.cxx', '.cc', '.c', '.m', '.mm' ] def DirectoryOfThisScript(): return os.path.dirname( os.path.abspath( __file__ ) ) @@ -275,7 +154,7 @@ def MakeRelativePathsInFlagsAbsolute( flags, working_directory ): def IsHeaderFile( filename ): extension = os.path.splitext( filename )[ 1 ] - return extension in [ '.h', '.hxx', '.hpp', '.hh' ] + return extension in [ '.H', '.h', '.hxx', '.hpp', '.hh' ] def GetCompilationInfoForFile( filename ):