From 90e61539bbc6788bada3ff810126c6ccf8387735 Mon Sep 17 00:00:00 2001 From: Matt Borgerson Date: Tue, 5 Mar 2019 18:27:14 -0800 Subject: [PATCH] Add basic pre-build check for OpenSSL/NASM Signed-off-by: Matt Borgerson --- BootloaderCorePkg/Tools/BuildUtility.py | 23 +++++++++++++++++++++++ BuildLoader.py | 3 +++ 2 files changed, 26 insertions(+) diff --git a/BootloaderCorePkg/Tools/BuildUtility.py b/BootloaderCorePkg/Tools/BuildUtility.py index 8dc1605f..495cd969 100644 --- a/BootloaderCorePkg/Tools/BuildUtility.py +++ b/BootloaderCorePkg/Tools/BuildUtility.py @@ -819,6 +819,29 @@ def gen_ver_info_txt (ver_file, ver_info): h_file.write('Dirty = %d\n' % ver_info.ImageVersion.Dirty) h_file.close() +def check_for_openssl(): + ''' + Verify OpenSSL executable is available + ''' + cmdline = os.path.join(os.environ.get('OPENSSL_PATH', ''), 'openssl') + try: + version = subprocess.check_output([cmdline, 'version']) + except: + print 'ERROR: OpenSSL not available. Please set OPENSSL_PATH.' + sys.exit(1) + return version + +def check_for_nasm(): + ''' + Verify NASM executable is available + ''' + cmdline = os.path.join(os.environ.get('NASM_PREFIX', ''), 'nasm') + try: + version = subprocess.check_output([cmdline, '-v']) + except: + print 'ERROR: NASM not available. Please set NASM_PREFIX.' + sys.exit(1) + return version def rsa_sign_file (priv_key, pub_key, in_file, out_file, inc_dat = False, inc_key = False): cmdline = os.path.join(os.environ.get ('OPENSSL_PATH', ''), 'openssl') diff --git a/BuildLoader.py b/BuildLoader.py index 30b46dc2..9e7ebe72 100755 --- a/BuildLoader.py +++ b/BuildLoader.py @@ -105,6 +105,9 @@ def prep_env (): print "Unsupported operating system !" sys.exit(1) + check_for_openssl() + check_for_nasm() + # Update Environment vars os.environ['SBL_SOURCE'] = sblsource os.environ['EDK_TOOLS_PATH'] = os.path.join(sblsource, 'BaseTools')