Add support for building with c++14

This commit is contained in:
Kovid Goyal 2021-03-18 07:40:07 +05:30
parent dd00e45799
commit b1c34ab520
No known key found for this signature in database
GPG Key ID: 06BC317B515ACE7C

View File

@ -50,6 +50,8 @@ class Extension(object):
self.cflags = d['cflags'] = kwargs.get('cflags', [])
if iswindows:
self.cflags.append('/DCALIBRE_MODINIT_FUNC=PyMODINIT_FUNC')
if self.needs_cxx and kwargs.get('needs_c++14'):
self.cflags.insert(0, '/std:c++14')
else:
return_type = 'PyObject*'
extern_decl = 'extern "C"' if self.needs_cxx else ''
@ -58,10 +60,14 @@ class Extension(object):
'-DCALIBRE_MODINIT_FUNC='
'{} __attribute__ ((visibility ("default"))) {}'.format(extern_decl, return_type))
if not self.needs_cxx and kwargs.get('needs_c99'):
self.cflags.insert(0, '-std=c99')
if self.needs_cxx and kwargs.get('needs_c++11'):
self.cflags.insert(0, '-std=c++11')
if self.needs_cxx:
if kwargs.get('needs_c++11'):
self.cflags.insert(0, '-std=c++11')
elif kwargs.get('needs_c++14'):
self.cflags.insert(0, '-std=c++14')
else:
if kwargs.get('needs_c99'):
self.cflags.insert(0, '-std=c99')
self.ldflags = d['ldflags'] = kwargs.get('ldflags', [])
self.optional = d['options'] = kwargs.get('optional', False)