mirror of
https://github.com/samba-team/samba.git
synced 2025-03-24 10:50:22 +03:00
lib: crypto: Add the ability to select Intel AESNI instruction set at configure time.
Add --accel-aes=[none|intelaesni] to select. Default is none. BUG: https://bugzilla.samba.org/show_bug.cgi?id=13008 Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: Stefan Metzmacher <metze@samba.org>
This commit is contained in:
parent
53ac0f7c59
commit
5f87a05aa3
6
lib/crypto/wscript
Normal file
6
lib/crypto/wscript
Normal file
@ -0,0 +1,6 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
def set_options(opt):
|
||||
opt.add_option('--accel-aes',
|
||||
help=("Should we use accelerated AES crypto functions. Options are intelaesni|none."),
|
||||
action="store", dest='accel_aes', default="none")
|
@ -1,3 +1,7 @@
|
||||
#!/usr/bin/env python
|
||||
import Options
|
||||
import Utils
|
||||
|
||||
if not conf.CHECK_FUNCS_IN('MD5Init', 'bsd', headers='bsd/md5.h',
|
||||
checklibc=True):
|
||||
conf.CHECK_FUNCS_IN('MD5Init', 'md5', headers='sys/md5.h',
|
||||
@ -13,3 +17,12 @@ if conf.CHECK_FUNCS('SHA256_Update'):
|
||||
conf.DEFINE('SHA256_RENAME_NEEDED', 1)
|
||||
if conf.CHECK_FUNCS('SHA512_Update'):
|
||||
conf.DEFINE('SHA512_RENAME_NEEDED', 1)
|
||||
|
||||
#
|
||||
# --aes-accel=XXX selects accelerated AES crypto library to use, if any.
|
||||
# Default is none.
|
||||
#
|
||||
if Options.options.accel_aes.lower() == "intelaesni":
|
||||
print("Attempting to compile with runtime-switchable x86_64 Intel AES instructions. WARNING - this is temporary.")
|
||||
elif Options.options.accel_aes.lower() != "none":
|
||||
raise Utils.WafError('--aes-accel=%s is not a valid option. Valid options are [none|intelaesni]' % Options.options.accel_aes)
|
||||
|
13
third_party/aesni-intel/wscript
vendored
13
third_party/aesni-intel/wscript
vendored
@ -1,8 +1,17 @@
|
||||
#!/usr/bin/env python
|
||||
import Options
|
||||
import Utils
|
||||
|
||||
def configure(conf):
|
||||
if conf.CHECK_CFLAGS('-Wp,-E,-lang-asm', '') and conf.env['SYSTEM_UNAME_MACHINE'] == 'x86_64':
|
||||
conf.DEFINE('HAVE_AESNI_INTEL', 1)
|
||||
if Options.options.accel_aes.lower() == "intelaesni":
|
||||
if conf.CHECK_CFLAGS('-Wp,-E,-lang-asm', ''):
|
||||
if conf.env['SYSTEM_UNAME_MACHINE'] == 'x86_64':
|
||||
print("Compiling with Intel AES instructions")
|
||||
conf.DEFINE('HAVE_AESNI_INTEL', 1)
|
||||
else:
|
||||
raise Utils.WafError('--aes-accel=intelaesni selected and non x86_64 CPU')
|
||||
else:
|
||||
raise Utils.WafError('--aes-accel=intelaesni selected and compiler rejects -Wp,-E,-lang-asm')
|
||||
|
||||
def build(bld):
|
||||
if not bld.CONFIG_SET('HAVE_AESNI_INTEL'):
|
||||
|
Loading…
x
Reference in New Issue
Block a user