Merge pull request 'Change the sequence to generate ossl350 header files. NOTE: This change will add openssl/, internal/, crypto/ and evp_local.h in target/h' (#28) from change_seq_to_generate_ossl350_header into master

Reviewed-on: http://13.234.246.121:3000/Neominds/ossl35vx69/pulls/28
Reviewed-by: Subham Gangdeb <subham.gangdeb@neominds.in>
This commit is contained in:
2026-07-30 19:39:21 +05:30
committed by neelimap
parent a316197f84
commit 365f8f6bd9
5 changed files with 222 additions and 147 deletions
+1 -1
View File
@@ -237,7 +237,7 @@ INTERFACE_SUBDIR = interface
OPTIONAL_COMMON_SUBDIRS = security OPTIONAL_COMMON_SUBDIRS = security
COMMON_SUBDIRS = arch aim drv event hwif libc \ COMMON_SUBDIRS = arch aim drv event hwif libc \
math multios_ipc offset os ostool \ math multios_ipc offset ossl350_prepare os ostool \
usr util wind wrhv \ usr util wind wrhv \
$(wildcard $(OPTIONAL_COMMON_SUBDIRS)) $(wildcard $(OPTIONAL_COMMON_SUBDIRS))
ifndef _WRS_CONFIG_MEM_ALLOT ifndef _WRS_CONFIG_MEM_ALLOT
@@ -10,14 +10,8 @@
TGT_DIR=$(WIND_BASE)/target TGT_DIR=$(WIND_BASE)/target
PKG_SRC_BUILD_DIR=$(VSB_DIR)/3pp/openssl-3.5.0 PKG_SRC_BUILD_DIR=$(VSB_DIR)/3pp/openssl-3.5.0
OPENSSL_COMPRSS_DIR=$(WIND_HOME)/vxworks-6.9/target/src/openssl/OPENSSL
KERNEL_PUBLIC_INCLUDE_DIR=$(PKG_SRC_BUILD_DIR)/krnl/h/public KERNEL_PUBLIC_INCLUDE_DIR=$(PKG_SRC_BUILD_DIR)/krnl/h/public
#for applying patch
PATCH=$(WIND_HOME)/vxworks-6.9/host/msys2-x86-win64/usr/bin/patch.exe
OPENSSL_SRC_DIR=$(WIND_HOME)/vxworks-6.9/target/src/openssl/openssl_src
SRC_PATCH_DIR=$(WIND_HOME)/vxworks-6.9/target/src/openssl/OPENSSL/openssl-3.5.0
# hardcoded for now - # hardcoded for now -
_WRS_CONFIG_OPENSSL_OPTIONS= no-aria no-blake2 no-camellia no-chacha no-md2 no-ocb no-poly1305 no-rc2 no-scrypt no-seed no-siphash no-sm2 no-sm3 no-sm4 no-cms no-cmp no-err no-autoerrinit no-filenames no-ct no-ec2m no-multiblock no-rfc3779 no-srp no-tests _WRS_CONFIG_OPENSSL_OPTIONS= no-aria no-blake2 no-camellia no-chacha no-md2 no-ocb no-poly1305 no-rc2 no-scrypt no-seed no-siphash no-sm2 no-sm3 no-sm4 no-cms no-cmp no-err no-autoerrinit no-filenames no-ct no-ec2m no-multiblock no-rfc3779 no-srp no-tests
@@ -45,9 +39,6 @@ else
EXCLUDED_PATCHES = armv4cpuid.pl.patch EXCLUDED_PATCHES = armv4cpuid.pl.patch
endif endif
#include $(WIND_KRNL_MK)/rules.unix.ports.mk
ifeq 'x86-win32' '$(WIND_HOST_TYPE)' ifeq 'x86-win32' '$(WIND_HOST_TYPE)'
export PERL_NAME := $(WIND_BASE)/host/msys2-x86-win64/usr/bin/perl5 export PERL_NAME := $(WIND_BASE)/host/msys2-x86-win64/usr/bin/perl5
else else
@@ -151,50 +142,10 @@ OPENSSL_TEST_SCRIPT_DIR := vx-test-script
OPENSSL_TEST_SCRIPT_PATH := $(OPENSSL_TEST_PATH)/$(OPENSSL_TEST_SCRIPT_DIR) OPENSSL_TEST_SCRIPT_PATH := $(OPENSSL_TEST_PATH)/$(OPENSSL_TEST_SCRIPT_DIR)
target: get-openssl \ target:
$(OPENSSL_TEST_SCRIPT_PATH) \ mkdir -p $(PKG_SRC_BUILD_DIR)/krnl
$(PKG_SRC_BUILD_DIR)/include/openssl/configuration.h \ mkdir -p $(PKG_SRC_BUILD_DIR)/krnl/h
$(PUBLIC_INCLUDE_DIRS) mkdir -p $(PKG_SRC_BUILD_DIR)/krnl/h/public
cp -r -u -L $(PKG_SRC_BUILD_DIR)/include/openssl/ $(KERNEL_PUBLIC_INCLUDE_DIR)
cp $(VXWORKS_MAK) $(PKG_SRC_BUILD_DIR)/krnl
cd $(PKG_SRC_BUILD_DIR)/krnl && $(MAKE) -f $(VXWORKS_MAK) VXE=$@ PKG_NAME=$(PKG_NAME) PKG_VER=$(PKG_VER) $(MAKECMDGOALS) cd $(PKG_SRC_BUILD_DIR)/krnl && $(MAKE) -f $(VXWORKS_MAK) VXE=$@ PKG_NAME=$(PKG_NAME) PKG_VER=$(PKG_VER) $(MAKECMDGOALS)
apply-patches:
@echo "Applying patches from $(OPENSSL_SRC_DIR) to $(SRC_PATCH_DIR)..."
@for p in $(OPENSSL_SRC_DIR)/*.patch; do \
echo "Applying $$p"; \
$(PATCH) -d $(SRC_PATCH_DIR) -p1 -N < $$p || exit 1; \
done
get-openssl:
cd $(VSB_DIR) && mkdir -p 3pp
cp -r $(OPENSSL_COMPRSS_DIR)/$(PKG_NAME) $(VSB_DIR)/3pp/$(PKG_NAME)
$(OPENSSL_TEST_SCRIPT_PATH) : $(OPENSSL_TEST_SCRIPT_DIR)/generate_test_buildinfo $(OPENSSL_TEST_SCRIPT_DIR)/adapt_test_src_file
echo "pre-process openssl test"
mkdir -p $(OPENSSL_TEST_SCRIPT_PATH)
cp -r -u -L $(OPENSSL_TEST_SCRIPT_DIR)/* $(OPENSSL_TEST_SCRIPT_PATH)
cp -r -u -L ../ipcrypto/test/*.c $(OPENSSL_TEST_PATH)
cp -r -u -L ../ipcrypto/vxRandLib.c $(PKG_SRC_BUILD_DIR)/crypto
cp -r -u -L $(PKG_SRC_BUILD_DIR)/apps/lib/engine.c $(PKG_SRC_BUILD_DIR)/apps/lib/engine_lib.c
cd $(OPENSSL_TEST_PATH) && sh $(OPENSSL_TEST_SCRIPT_DIR)/generate_test_buildinfo
cd $(OPENSSL_TEST_PATH) && sh $(OPENSSL_TEST_SCRIPT_DIR)/adapt_test_src_file
cd $(OPENSSL_TEST_PATH) && sh $(OPENSSL_TEST_SCRIPT_DIR)/generate-vx-test-main
$(PKG_SRC_BUILD_DIR)/include/openssl/configuration.h:
echo "generating configuration.h and other generated headers"
cd $(PKG_SRC_BUILD_DIR); \
$(PERL_NAME) $(CONFIGURE_CMD) > /dev/null 2>&1; \
$(MAKE) build_generated;
mkdir -p $(PKG_SRC_BUILD_DIR)/krnl
mkdir -p $(PKG_SRC_BUILD_DIR)/krnl/h
mkdir -p $(PKG_SRC_BUILD_DIR)/krnl/h/public
cp -r -u -L $(PKG_SRC_BUILD_DIR)/include/openssl/ $(KERNEL_PUBLIC_INCLUDE_DIR)
cp $(VXWORKS_MAK) $(PKG_SRC_BUILD_DIR)/krnl
$(PUBLIC_INCLUDE_DIRS) : $(OPENSSL_TEST_SCRIPT_PATH) $(PKG_SRC_BUILD_DIR)/include/openssl/configuration.h
mkdir -p $(PKG_SRC_BUILD_DIR)/krnl
mkdir -p $(PKG_SRC_BUILD_DIR)/krnl/h
mkdir -p $(PKG_SRC_BUILD_DIR)/krnl/h/public
cp -r -u -L $(PKG_SRC_BUILD_DIR)/include/openssl/ $(KERNEL_PUBLIC_INCLUDE_DIR)
cp $(VXWORKS_MAK) $(PKG_SRC_BUILD_DIR)/krnl
@@ -0,0 +1,179 @@
# Makefile - to prepare openssl350 for compilation.
#
# Copyright (c) 2026 Wind River Systems, Inc.
#
# The right to copy, distribute, modify or otherwise make use
# of this software may be licensed only pursuant to the terms
# of an applicable Wind River license agreement.
#
TGT_DIR=$(WIND_BASE)/target
BUILD_DIR_3PP=$(VSB_DIR)/3pp
PKG_SRC_BUILD_DIR=$(VSB_DIR)/3pp/openssl-3.5.0
OPENSSL_DIR=$(WIND_HOME)/vxworks-6.9/target/src/openssl/OPENSSL
KERNEL_PUBLIC_INCLUDE_DIR=$(PKG_SRC_BUILD_DIR)/krnl/h/public
#for applying patch
PATCH=$(WIND_HOME)/vxworks-6.9/host/msys2-x86-win64/usr/bin/patch.exe
OPENSSL_SRC_DIR=$(WIND_HOME)/vxworks-6.9/target/src/openssl/openssl_src
SRC_PATCH_DIR=$(WIND_HOME)/vxworks-6.9/target/src/openssl/OPENSSL/openssl-3.5.0
# hardcoded for now -
_WRS_CONFIG_OPENSSL_OPTIONS= no-aria no-blake2 no-camellia no-chacha no-md2 no-ocb no-poly1305 no-rc2 no-scrypt no-seed no-siphash no-sm2 no-sm3 no-sm4 no-cms no-cmp no-err no-autoerrinit no-filenames no-ct no-ec2m no-multiblock no-rfc3779 no-srp no-tests
_WRS_CONFIG_OPENSSL_IPNET_OPTIONS=
VXWORKS_MAK=vxworks.krnl.mak
VXE=openssl
PKG_NAME=openssl-3.5.0
MAKECMDGOALS=_mk
include $(VSB_DIR)/h/config/auto.conf
PKG_VER := 3.5.0
PKG_URL := https://github.com/openssl/openssl/archive/openssl-$(PKG_VER).tar.gz
PKG_SHA256 := 7f013434c535a0366a610995c4530db6cde0554a0fac331a71a8e98a32b2635f
PKG_FILE_TYPE := unpack
PKG_BUILD_DIR := openssl-openssl-$(PKG_VER)
PKG_BUILD_TARGETS := openssl
ifdef _WRS_CONFIG_ARM_ERRATA_782772
EXCLUDED_PATCHES =
else
EXCLUDED_PATCHES = armv4cpuid.pl.patch
endif
ifeq 'x86-win32' '$(WIND_HOST_TYPE)'
export PERL_NAME := $(WIND_BASE)/host/msys2-x86-win64/usr/bin/perl5
else
# PERL5LIB is required by perl5
export PERL_NAME := perl5
export PERL5LIB := $(WIND_BASE)/host/$(WIND_VX7_HOST_TYPE)/lib/perl5
endif
ifdef _WRS_CONFIG_ARCH_ppc
ifdef _WRS_CONFIG_LP64
OPENSSL_TARGET := vxworks-ppc64
else
OPENSSL_TARGET := vxworks-ppc32
endif
endif
ifdef _WRS_CONFIG_ARCH_arm
ifdef _WRS_CONFIG_LP64
OPENSSL_TARGET := vxworks-arm64
else
ifdef _WRS_CONFIG_ARM_ARMV7M
OPENSSL_TARGET := vxworks-arm32-armv7m
else
ifdef _WRS_CONFIG_THUMB2_ISA
OPENSSL_TARGET := vxworks-arm32-thumb
else
OPENSSL_TARGET := vxworks-arm32
endif
endif
ifdef _WRS_CONFIG_HAS_CTX_A5
OPENSSL_TARGET := vxworks-arm32-armv7m
endif
ifdef _WRS_CONFIG_HAS_CTX_A7
OPENSSL_TARGET := vxworks-arm32-armv7a
endif
endif
endif
ifdef _WRS_CONFIG_ARCH_i86
ifdef _WRS_CONFIG_LP64
OPENSSL_TARGET := vxworks-x86-64
else
OPENSSL_TARGET := vxworks-x86
endif
endif
ifdef _WRS_CONFIG_ARCH_simlinux
ifdef _WRS_CONFIG_LP64
OPENSSL_TARGET := vxworks-simlinux64
else
OPENSSL_TARGET := vxworks-simlinux32
endif
endif
ifdef _WRS_CONFIG_ARCH_simpc
ifdef _WRS_CONFIG_LP64
OPENSSL_TARGET := vxworks-simpc64
else
OPENSSL_TARGET := vxworks-simpc32
endif
endif
ifdef _WRS_CONFIG_ARCH_riscv
ifdef _WRS_CONFIG_LP64
OPENSSL_TARGET := vxworks-riscv64
else
OPENSSL_TARGET := vxworks-riscv32
endif
endif
ifdef _WRS_CONFIG_DEBUG_FLAG
BUILD_TYPE := --debug
else
BUILD_TYPE := --release
endif
OPENSSL_VSB_OPTIONS = $(_WRS_CONFIG_OPENSSL_OPTIONS) $(_WRS_CONFIG_OPENSSL_IPNET_OPTIONS)
ifeq (, $(findstring enable-fips, $(_WRS_CONFIG_OPENSSL_OPTIONS)))
export CONFIGURE_CMD := Configure $(OPENSSL_TARGET) $(OPENSSL_VSB_OPTIONS) $(BUILD_TYPE) --openssldir="/" --with-rand-seed=none no-rdrand no-dso no-dynamic-engine no-padlockeng no-comp no-makedepend -Dasm=__asm__
else
export CONFIGURE_CMD := Configure $(OPENSSL_TARGET) $(OPENSSL_VSB_OPTIONS) $(BUILD_TYPE) --with-rand-seed=none no-rdrand no-dynamic-engine no-padlockeng no-comp no-makedepend -Dasm=__asm__
endif
ifndef _WRS_CONFIG_AUTO_FP_TASK
export CONFIGURE_CMD += no-asm
endif
ifeq 'x86-win32' '$(WIND_HOST_TYPE)'
export CONFIGURE_CMD := $(CONFIGURE_CMD) PERL=$(WIND_BASE)/host/msys2-x86-win64/usr/bin/perl5
endif
PUBLIC_INCLUDE_DIRS = include/openssl
PUBLIC_INCLUDE_DIRS := $(PKG_SRC_BUILD_DIR)/$(PUBLIC_INCLUDE_DIRS)
OPENSSL_TEST_PATH := $(PKG_SRC_BUILD_DIR)/test
OPENSSL_TEST_SCRIPT_DIR := vx-test-script
OPENSSL_TEST_SCRIPT_PATH := $(OPENSSL_TEST_PATH)/$(OPENSSL_TEST_SCRIPT_DIR)
target: get-openssl $(OPENSSL_TEST_SCRIPT_PATH) $(PKG_SRC_BUILD_DIR)/include/openssl/configuration.h
apply-patches:
@echo "Applying patches from $(OPENSSL_SRC_DIR) to $(SRC_PATCH_DIR)..."
@for p in $(OPENSSL_SRC_DIR)/*.patch; do \
echo "Applying $$p"; \
$(PATCH) -d $(SRC_PATCH_DIR) -p1 -N < $$p || exit 1; \
done
get-openssl:
@if [ -d "$(BUILD_DIR_3PP)" ]; then \
rm -rf $(BUILD_DIR_3PP) || true;\
fi
cd $(VSB_DIR) && mkdir -p 3pp
cp -r $(OPENSSL_DIR)/$(PKG_NAME) $(VSB_DIR)/3pp/
$(OPENSSL_TEST_SCRIPT_PATH) : $(OPENSSL_TEST_SCRIPT_DIR)/generate_test_buildinfo $(OPENSSL_TEST_SCRIPT_DIR)/adapt_test_src_file
@echo "pre-process openssl test"
mkdir -p $(OPENSSL_TEST_SCRIPT_PATH)
cp -r -u -L $(OPENSSL_TEST_SCRIPT_DIR)/* $(OPENSSL_TEST_SCRIPT_PATH)
cp -r -u -L ../ipcrypto/test/*.c $(OPENSSL_TEST_PATH)
cp -r -u -L ../ipcrypto/vxRandLib.c $(PKG_SRC_BUILD_DIR)/crypto
cp -r -u -L $(PKG_SRC_BUILD_DIR)/apps/lib/engine.c $(PKG_SRC_BUILD_DIR)/apps/lib/engine_lib.c
cd $(OPENSSL_TEST_PATH) && sh $(OPENSSL_TEST_SCRIPT_DIR)/generate_test_buildinfo
cd $(OPENSSL_TEST_PATH) && sh $(OPENSSL_TEST_SCRIPT_DIR)/adapt_test_src_file
cd $(OPENSSL_TEST_PATH) && sh $(OPENSSL_TEST_SCRIPT_DIR)/generate-vx-test-main
$(PKG_SRC_BUILD_DIR)/include/openssl/configuration.h:
@echo "generating configuration.h and other generated headers"
cd $(PKG_SRC_BUILD_DIR); \
$(PERL_NAME) $(CONFIGURE_CMD) > /dev/null 2>&1; \
$(MAKE) build_generated;
@@ -77,94 +77,3 @@ else
$(MAKE) -f Makefile CC="$(CC)" AR="$(AR)" ARFLAGS="$(ARFLAGS)" $(MAKE) -f Makefile CC="$(CC)" AR="$(AR)" ARFLAGS="$(ARFLAGS)"
endif endif
install: build
@if [ -f libcrypto.a ]; then cp libcrypto.a $(VSB_DIR)/krnl/$(CPU)/common/; fi
@if [ -f libssl.a ]; then cp libssl.a $(VSB_DIR)/krnl/$(CPU)/common/; fi
@if [ -f apps/libapps.a ]; then cp apps/libapps.a $(VSB_DIR)/krnl/$(CPU)/common/; fi
@if [ -f test/libopenssltest.a ]; then cp test/libopenssltest.a $(VSB_DIR)/krnl/$(CPU)/common/; fi
@if [ -f providers/libcommon.a ]; then cp providers/libcommon.a $(VSB_DIR)/krnl/$(CPU)/common/; fi
@if [ -f providers/libdefault.a ]; then cp providers/libdefault.a $(VSB_DIR)/krnl/$(CPU)/common/; fi
@if [ -f providers/liblegacy.a ]; then cp providers/liblegacy.a $(VSB_DIR)/krnl/$(CPU)/common/; fi
ifdef _WRS_CONFIG_SBOM
@ mkdir -p $(VSB_DIR)/krnl/$(CPU)/common/objapps; find apps -name "*.dep" -type f -exec cp {} $(VSB_DIR)/krnl/$(CPU)/common/objapps \;
@ mkdir -p $(VSB_DIR)/krnl/$(CPU)/common/objcrypto; find crypto -name "*.dep" -type f -exec cp {} $(VSB_DIR)/krnl/$(CPU)/common/objcrypto \;
@ mkdir -p $(VSB_DIR)/krnl/$(CPU)/common/objssl; find ssl -name "*.dep" -type f -exec cp {} $(VSB_DIR)/krnl/$(CPU)/common/objssl \;
ifeq (,$(findstring no-tests,$(CONFIGURE_CMD)))
@ mkdir -p $(VSB_DIR)/krnl/$(CPU)/common/objopenssltest; find test -name "*.dep" -type f -exec cp {} $(VSB_DIR)/krnl/$(CPU)/common/objopenssltest \;
endif
ifneq (, $(findstring enable-fips, $(CONFIGURE_CMD)))
@ mkdir -p $(VSB_DIR)/krnl/$(CPU)/common/objproviders; find providers -name "*.dep" -type f -exec cp {} $(VSB_DIR)/krnl/$(CPU)/common/objproviders \;
endif
endif
ifneq (, $(findstring enable-fips, $(CONFIGURE_CMD)))
FIPS_DIRS = crypto/aes crypto/bn/asm crypto/bn crypto/buffer crypto/des crypto/dh crypto/dsa crypto/ec/curve448
FIPS_DIRS += crypto/ec/curve448/arch_32 crypto/ec/curve448/arch_64 crypto/ec crypto/evp crypto/ffc crypto/hmac crypto/lhash
FIPS_DIRS += crypto/modes crypto crypto/property crypto/rand crypto/rsa crypto/sha crypto/stack providers/common/der providers/common providers/fips
FIPS_DIRS += providers/implementations/asymciphers providers/implementations/ciphers providers/implementations/digests
FIPS_DIRS += providers/implementations/exchange providers/implementations/kdfs providers/implementations/kem providers/implementations/keymgmt
FIPS_DIRS += providers/implementations/macs providers/implementations/rands providers/implementations/signature ssl providers/common/der
FIPS_DIRS += providers/common providers/implementations/ciphers providers/implementations/digests ssl/record providers/fips
FIPS_FILES = $(shell find . -name libfips*.o)
FIPS_FILES += $(shell find . -name libcommon*.o)
FIPS_FILES += $(shell find . -name fips-dso-fips_entry.o)
LEGACY_DIRS = providers providers/implementations/ciphers providers/implementations/digests providers/implementations/kdfs
LEGACY_FILES = $(shell find . -name liblegacy*.o)
LEGACY_FILES += $(shell find . -name legacy-dso-legacyprov.o)
endif
ifneq (, $(findstring enable-fips, $(CONFIGURE_CMD)))
fipsobjlist: install
echo " fips dir: $(FIPS_DIRS) "
echo "fips file: $(FIPS_FILES) "
$(file > fipsobjlist,$(FIPS_FILES))
$(file > legacyobjlist,$(LEGACY_FILES))
fipsintall: install
ifdef _WRS_CONFIG_TOOL_LINKER_LD
$(LD) $(LD_PARTIAL_FLAGS) --force-group-allocation -T $(VSB_DIR)/krnl/ldscripts/dkm.ld -o "fips.out" @fipsobjlist
#$(LD) $(LD_PARTIAL_FLAGS) --force-group-allocation -T $(VSB_DIR)/krnl/ldscripts/dkm.ld -o "legacy.out" @legacyobjlist
else
$(LD) $(LD_PARTIAL_FLAGS) -T $(VSB_DIR)/krnl/ldscripts/dkm.ld -o "fips.out" @fipsobjlist
#$(LD) $(LD_PARTIAL_FLAGS) -T $(VSB_DIR)/krnl/ldscripts/dkm.ld -o "legacy.out" @legacyobjlist
endif
$(PERL_NAME) ../util/mk-fipsmodule-cnf.pl -module fips.out -section_name fips_sect -key $(FIPSKEY) > fipsmodule.cnf
$(SIGN_LIB) : fipsintall
echo "kernel dkmsign command: $(DKM_SIGN_CMD)"
echo "kernel dkmencrypt command: $(DKM_ENCRYPT_CMD)"
$(DKM_SIGN_CMD) fips.out
$(DKM_ENCRYPT_CMD) fips.out
endif
include $(TGT_DIR)/h/make/rules.library
#
# this code is 3rd party. Suppress all compiler warnings
#
CC_WARNINGS = $(CC_WARNINGS_NONE)
export VSB_CONFIG_FILE_MACRO = $(patsubst '-D_VSB_CONFIG_FILE="%"',-D_VSB_CONFIG_FILE=\"%\",$(filter '-D_VSB_CONFIG_FILE="%"',$(CFLAGS)))
#
# Because DKM_SIGN_CMD and DKM_ENCRYPT_CMD are defined in other Makefile, the below
# statements must be put after "include $(WIND_USR_MK)/rules.library.mk".
# Otherwise, DKM_SIGN_CMD and DKM_ENCRYPT_CMD will be undefined.
#
ifneq (, $(findstring enable-fips, $(CONFIGURE_CMD)))
ifdef _WRS_CONFIG_SECURE_LOADER
ifndef DKM_SIGN_CMD
$(error "DKM_SIGN_CMD should be defined")
endif
ifdef _WRS_CONFIG_SECURE_LOADER_ENCRYPTION
ifndef DKM_ENCRYPT_CMD
$(error "DKM_ENCRYPT_CMD should be defined")
endif
endif
endif
endif
@@ -0,0 +1,36 @@
# Makefile - to generate header files for openssl
#
# Copyright (c) 2026 Wind River Systems, Inc.
#
# The right to copy, distribute, modify or otherwise make use
# of this software may be licensed only pursuant to the terms
# of an applicable Wind River license agreement.
#
TGT_DIR=$(WIND_BASE)/target
OSSL_PKG_NAME=openssl-3.5.0
OSSL_BUILD_DIR=$(VSB_DIR)/3pp/openssl-3.5.0
OPENSSL_DST_DIR := $(TGT_DIR)/h/openssl
CRYPTO_DST_DIR := $(TGT_DIR)/h/crypto
INTERNAL_DST_DIR := $(TGT_DIR)/h/internal
generate-headers:
cd $(WIND_HOME)/vxworks-6.9/target/src/openssl/openssl_src/ && $(MAKE) -f ossl350.prepare.mak
@if [ -d "$(OPENSSL_DST_DIR)" ]; then \
rm -r $(OPENSSL_DST_DIR);\
fi
@if [ -d "$(CRYPTO_DST_DIR)" ]; then \
rm -r $(CRYPTO_DST_DIR);\
fi
@if [ -d "$(INTERNAL_DST_DIR)" ]; then \
rm -r $(INTERNAL_DST_DIR);\
fi
mkdir -p $(OPENSSL_DST_DIR)
mkdir -p $(CRYPTO_DST_DIR)
mkdir -p $(INTERNAL_DST_DIR)
cp -r $(OSSL_BUILD_DIR)/include/openssl $(TGT_DIR)/h
cp -r $(OSSL_BUILD_DIR)/include/crypto $(TGT_DIR)/h
cp -r $(OSSL_BUILD_DIR)/include/internal $(TGT_DIR)/h
cp -r $(OSSL_BUILD_DIR)/crypto/evp/evp_local.h $(OPENSSL_DST_DIR)