python: scripting: Port ntstatus and werror generators to Python 3 compatible form.
[sfrench/samba-autobuild/.git] / .ycm_extra_conf.py
index cd7093cd9ed82f27050e95d201a47cca4e97911f..580669bddeb366ebedb3f02a05f705e6e703a5a8 100644 (file)
@@ -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/tdb_compat',
-'-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/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 ):