42 lines
1.9 KiB
PHP
42 lines
1.9 KiB
PHP
# Check Yocto version and include appropriate file
|
|
def openssl_get_wolfprovider_replace_default_inc(d):
|
|
import os
|
|
layerseries = d.getVar('LAYERSERIES_CORENAMES') or ""
|
|
|
|
bb.debug(2,"openssl-enable-wolfprovider-replace-default.inc: LAYERSERIES_CORENAMES = %s" % layerseries)
|
|
|
|
# Check if version is 3.1 or newer (dunfell and later)
|
|
use_modern = False
|
|
codename = None
|
|
if layerseries:
|
|
series_list = layerseries.split()
|
|
modern_series = ['dunfell', 'gatesgarth', 'hardknott', 'honister', 'kirkstone', 'langdale', 'mickledore', 'nanbield', 'scarthgap']
|
|
for series in series_list:
|
|
codename = series
|
|
if series in modern_series:
|
|
use_modern = True
|
|
break
|
|
|
|
# Determine file type
|
|
file_type = 'modern' if use_modern else 'legacy'
|
|
|
|
# Try codename-specific directory first, fallback to scarthgap (most recent stable)
|
|
layerdir = d.getVar('WOLFSSL_LAYERDIR')
|
|
if codename:
|
|
codename_dir = os.path.join(layerdir, 'inc/wolfprovider/openssl/%s' % codename)
|
|
if os.path.isdir(codename_dir):
|
|
# Use codename-specific file
|
|
inc_file = os.path.join(codename_dir, 'openssl-enable-wolfprovider-replace-default-%s.inc' % file_type)
|
|
else:
|
|
# Fallback to scarthgap (most recent stable version)
|
|
inc_file = os.path.join(layerdir, 'inc/wolfprovider/openssl/scarthgap/openssl-enable-wolfprovider-replace-default-%s.inc' % file_type)
|
|
else:
|
|
# If no codename detected, use scarthgap as default
|
|
inc_file = os.path.join(layerdir, 'inc/wolfprovider/openssl/scarthgap/openssl-enable-wolfprovider-replace-default-%s.inc' % file_type)
|
|
|
|
bb.debug(2,"openssl-enable-wolfprovider-replace-default.inc: Including file: %s" % inc_file)
|
|
return inc_file
|
|
|
|
# Include the appropriate file
|
|
require ${@openssl_get_wolfprovider_replace_default_inc(d)}
|