Reviewed-on: http://13.234.246.121:3000/Neominds/ossl35vx69/pulls/28 Reviewed-by: Subham Gangdeb <subham.gangdeb@neominds.in>
180 lines
5.6 KiB
Makefile
180 lines
5.6 KiB
Makefile
# 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;
|