Add initial configuration file for Pytho C API

This commit is contained in:
amai2012 2019-02-03 21:08:42 +01:00
parent b92b06d900
commit 89a5eb36ad
2 changed files with 66 additions and 6 deletions

58
cfg/python.cfg Normal file
View File

@ -0,0 +1,58 @@
<?xml version="1.0"?>
<def format="2">
<!-- Python C API. see https://docs.python.org/2/c-api/index.html -->
<!-- Those are macros, but it's helpful to declare a function here -->
<function name="Py_INCREF,Py_IncRef,Py_DECREF,Py_DecRef">
<leak-ignore/>
<noreturn>false</noreturn>
<returnValue type="void"/>
<arg nr="1">
<not-null/>
<not-uninit/>
</arg>
</function>
<function name="Py_XINCREF,Py_XDECREF">
<leak-ignore/>
<noreturn>false</noreturn>
<returnValue type="void"/>
<arg nr="1">
<not-uninit/>
</arg>
</function>
<function name="Py_Initialize,Py_Finalize">
<noreturn>false</noreturn>
<returnValue type="void"/>
</function>
<function name="Py_InitializeEx">
<noreturn>false</noreturn>
<returnValue type="void"/>
<arg nr="1">
<not-bool/>
<not-uninit/>
</arg>
</function>
<function name="Py_IsInitialized">
<noreturn>false</noreturn>
<pure/>
<returnValue type="void"/>
</function>
<function name="Py_SetProgramName">
<leak-ignore/>
<noreturn>false</noreturn>
<returnValue type="void"/>
<arg nr="1">
<strz/>
<not-uninit/>
</arg>
</function>
<function name="Py_GetProgramName,Py_GetExecPrefix,Py_GetProgramFullPath,Py_GetPath">
<noreturn>false</noreturn>
<returnValue type="char *"/>
<pure/>
</function>
<function name="Py_GetVersion,Py_GetPlatform,Py_GetCopyright,Py_GetCompiler,Py_GetBuildInfo">
<noreturn>false</noreturn>
<returnValue type="const char *"/>
<pure/>
</function>
</def>

View File

@ -222,16 +222,18 @@ def scanPackage(workPath, cppcheck, jobs):
print('Analyze..')
os.chdir(workPath)
libraries = ' --library=posix'
if hasInclude('temp', ['<wx/', '"wx/']):
libraries += ' --library=wxwidgets'
if hasInclude('temp', ['<QString>', '<QtWidgets>', '<QtGui/']):
libraries += ' --library=qt'
if hasInclude('temp', ['<zlib.h>']):
libraries += ' --library=zlib'
if hasInclude('temp', ['<gtk/gtk.h>', '<glib.h>', '<glib/']):
libraries += ' --library=gtk'
if hasInclude('temp', ['<X11/', '<Xm/']):
libraries += ' --library=motif'
if hasInclude('temp', ['<P<ython.h>']):
libraries += ' --library=python'
if hasInclude('temp', ['<QString>', '<QtWidgets>', '<QtGui/']):
libraries += ' --library=qt'
if hasInclude('temp', ['<wx/', '"wx/']):
libraries += ' --library=wxwidgets'
if hasInclude('temp', ['<zlib.h>']):
libraries += ' --library=zlib'
# if hasInclude('temp', ['<boost/']):
# libraries += ' --library=boost'
options = jobs + libraries + ' --library=gnu -D__GCC__ --check-library --inconclusive --enable=style,information --platform=unix64 --template=daca2 -rp=temp temp'