mirror of
https://github.com/samba-team/samba.git
synced 2025-01-06 13:18:07 +03:00
20b9cae63d
Signed-off-by: Andreas Schneider <asn@samba.org> Reviewed-by: Andrew Bartlett <abartlet@samba.org> Autobuild-User(master): Andreas Schneider <asn@cryptomilk.org> Autobuild-Date(master): Tue Dec 10 20:30:57 UTC 2019 on sn-devel-184
33 lines
1.3 KiB
Python
33 lines
1.3 KiB
Python
#!/usr/bin/env python
|
|
from waflib import Options
|
|
from waflib import Errors
|
|
|
|
def configure(conf):
|
|
if Options.options.accel_aes.lower() == "intelaesni":
|
|
asm_flags = ('-Wp,-E,-lang-asm', '-xassembler-with-cpp')
|
|
for f in asm_flags:
|
|
if conf.CHECK_CFLAGS(f, ''):
|
|
conf.DEFINE('AESNI_INTEL_CFLAGS', f)
|
|
break
|
|
if conf.CONFIG_SET('AESNI_INTEL_CFLAGS'):
|
|
if conf.env['SYSTEM_UNAME_MACHINE'] in ('x86_64', 'amd64'):
|
|
print("Compiling with Intel AES instructions")
|
|
conf.DEFINE('HAVE_AESNI_INTEL', 1)
|
|
else:
|
|
raise Errors.WafError('--accel-aes=intelaesni selected and non x86_64 CPU')
|
|
else:
|
|
raise Errors.WafError('--aes-accel=intelaesni selected and compiler rejects ' + str(asm_flags))
|
|
if not conf.CHECK_LDFLAGS('-Wl,-z,noexecstack'):
|
|
raise Errors.WafError('--accel-aes=intelaesni selected and linker rejects -z noexecstack')
|
|
|
|
def build(bld):
|
|
if (not bld.CONFIG_SET('HAVE_AESNI_INTEL') or
|
|
bld.CONFIG_SET('HAVE_GNUTLS_AES_CMAC')):
|
|
return
|
|
|
|
bld.SAMBA_LIBRARY('aesni-intel',
|
|
source='aesni-intel_asm.c',
|
|
cflags=bld.CONFIG_GET('AESNI_INTEL_CFLAGS'),
|
|
ldflags='-Wl,-z,noexecstack',
|
|
private_library=True)
|