Files
subhamgdeb c088e4db41 Changes done for unlinking OpenSSL 0.9.8 and OpenSSL 1.0.2 from build (#57)
This PR updates the build to succeed without relying on existing OpenSSL versions.

Changes include:
1. Removed OpenSSL 0.9.8 and 1.0.2 components from VSB configuration
2. Removed ipcrypto and ipssl from ipnet root Makefile (ipComps and VARLIST)
3. Updated ipcom/src/ipcom_auth.c for compatibility with OpenSSL 3.5.0
4. Added OpenSSL 3.5.0 include paths where required
5. Removed script from vxworks.krnl.mak which was renaming old OpenSSL library files
6. Removed script from ossl350_prepare/Makefile which was copying OpenSSL 3.5.0 headers to target/h
7. Adapted OpenSSL 3.5.0 headers to ipcom types during build
8. Modified ipnet CDF to switch dependency from INCLUDE_IPSSL to INCLUDE_IPCRYPTO
9. Components: WebCli and NTP are by default disabled

Note  : There may still be build issues, as target/h/openssl and old OpenSSL source files remain in master.
Co-authored-by: subhamgdeb <subhamgdeb>
Reviewed-on: http://13.234.246.121:3000/Neominds/ossl35vx69/pulls/57
Reviewed-by: Siddhant Singh <siddhant.singh@neominds.in>
Co-authored-by: Subham <subham.gangdeb@neominds.in>
Co-committed-by: Subham <subham.gangdeb@neominds.in>
2026-07-30 20:23:33 +05:30

615 lines
15 KiB
Makefile

# Makefile - Top-level comp_ip_net2 Makefile
#
# Copyright 2006-2011, 2017 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.
#
# modification history
# --------------------
# 03z,28may17,xxy Added TSN support
# 03y,25apr16,pdr Added PTP support (backport Vx7).
# 03x,21may12,uol Revert to 6.9 settings
# 03w,03may11,mry Adding ipbridge support (replaces vxbridge)
# 03v,19aug11,mze 6.10 version remove warnings for usr builds
# 03u,15sep10,xhs support IPLITE
# 03t,25jun10,rjq Added IPNTP
# 03s,25feb10,mze adjust TOOL_FAMILY
# 03r,11feb10,uol WIND00158454: Use rclean rule also for GPP.
# 03q,05feb10,mry Adding IPMACSEC
# 03p,31jul09,ten Add IPL2TP
# 03o,22jul09,uol Add IPMIPPM
# 03n,14jul09,mdk merge from networking branch
# 03m,18jun09,mze adding changes to support /usr/lib in VSBs
# 03l,18jun09,mze fixin WIND00153279 again, change lost after merge.
# 03k,11jun09,dwb Adding vxdot1x
# 03j,15jun09,mze fixin WIND00153279 again, change lost after merge.
# 03i,16dec08,mry Add IPWPS
# 03h,11feb09,ggz Move coreip and bridge into CVS.
# 03g,27jan09,pee WIND00153279
# 03k,23apr09,uol Add module ipmippm
# 03j,26mar09,uol WIND00158454: Use rclean rule also for GPP.
# 03i,02mar09,uol Add ipmip6hm and ipmip6pm
# 03h,09feb09,mca add IPCAVIUM component
# 03g,03dec08,f_g added IPSCTP component
# 03g,27jan09,pee WIND00153279
# 03f,17nov08,mze move export of FEATURE_SET below VSB eval
# 03e,04nov08,mze test
# 03d,03nov08,mze move eval out of conditional
# 03b,29oct08,mze fix usr side tool reference
# 03a,02oct08,mze Change VSB exports
# 02z,02sep08,mze removal of ipcom_libconfig.mk reference
# 02y,31jul08,pee exporting _WRS_CONFIG_ADDEDCFLAGS
# 02x,08jul08,pee adding IPDHCPS6 to VSB parameter translation list
# 02w,02jul08,mze undo last change
# 02v,02jul08,mze VSB changes
# 02u,01jul08,mze adding new Components
# 02t,30jun08,mze adding DIAMETERP
# 02s,30jun08,mze VSB changes
# 02r,24jun08,mze added SPACE
# 02q,23jun08,mze remove IPVXCOMPAT
# 02p,05jun08,mze VSB changes
# 02o,03jun08,pee including VSB configuration.
# 02n,03jun08,mze changing library location to be vsb based
# 02m,28may08,dlk Added vxmux module.
# 02l,20feb08,tlu Add build support for IPROHC
# 02k,27may08,uol Move util_ipdef and util_ipinc to be visible in MSP builds.
# 02j,26may08,brg Changing product name ipvxcompat to vxcompat
# 02i,01may08,dlk Added util_ipdef, util_ipinc rules.
# 02h,14may08,brg Adding ipvxcompat
# 02g,08may08,uol Add module ipmip
# 02f,07aug07,mry Add 802.1x supplicant support
# 02e,04sep07,kch Stripped leading and trailing whitespace (WIND00046447).
# 02d,17jul07,spw Added IPWLAN
# 02c,12jul07,nlu add mip4
# 02b,29jun07,kch Removed trailing space after the backslash immediately
# following "ipmip4".
# 02a,29jun07,mcarlste Add IPFREESCALE
# 01z,29jun07,??? build rules for MIP4
# 01y,29jun07,??? build rules for MIP4
# 01x,19jun07,tpw Use WRVX_COMPBASE vs. WIND_COMPONENTS correctly.
# 01w,03apr07,tlu Add build support for IPDIAMETER
# 01v,02may07,tkf Update component library path for SMP.
# 01u,26apr07,tkf Add IPv6-Only build support. Also fix CQ:WIND00092985.
# 01t,21feb07,kch Added DIR_EXT for SMP build support.
# 01s,13dec06,tkf Fix user side compiler error (WIND00083671).
# 01r,27oct06,tkf Change library archive location to WIND_COMPONENTS/obj.
# 01q,26sep06,kch Added IPRADIUS.
# 01p,14sep06,tkf Replcaed target all with kernel. Added IPDHCPC6 and
# IPDHCPS6.
# 01o,12sep06,dlk Replace 'make' with MAKE variable.
# 01n,09sep06,jbl add WRSNMP to the mix
# 01m,08sep06,tkf Add user side build support.
# 01l,06sep06,tkf Changed the way IpComps is processed.
# 01k,07aug06,kch Renamed IPDHCPDIR to IPDHCPSDIR and IPFWDIR to
# IPFIREWALLDIR. Also removed unsupported IPNet products.
# 01j,19jul06,tlu Added support for IPRIPNG component
# 01i,19jul06,tkf Include make.<CPU>.<TOOL> regardless of whether
# VX_CPU_FAMILY is defined or not.
# 01h,03jul06,tkf Modifications for use with version-less component
# directories: define and export BASE_ROOT; changed rule to
# ignore version numbers in directory names.
# 01g,02jul06,tkf Export WIND_IPNET=true by default.
# 01f,12jun06,dlk Simplify component logic; handle missing components.
# 01e,08jun06,tkf More dynamic directory checking on all components.
# 01d,25may06,tkf Merge with Dan Kresja's and John True's changes.\
# 01c,15may06,tkf Move MSP/GPP env vars to here.
# 01b,10may06,tkf Extract VxWorks version from env vars. Add rclean target.
# Get CPU/TOOL info from env vars.
# 01a,09may06,tkf Remove dependecy on build host and DCOM component.
# Modified to build the IPNET way temporarily.
# 00a,01may06,j_c written.
#
# DESCRIPTION
# This is the top level Makefile for the comp_ip_net2 component
#
##
# Define and export current VxWorks version
#
WR_IPCOM_NAME := vxworks
WR_IPCOM_VERSION := $(filter-out $(WR_IPCOM_NAME), $(subst -, ,$(WIND_PLATFORM)))
export WR_IPCOM_VERSION := $(subst .,_,$(WR_IPCOM_VERSION))
export COMP_IPNET_PATH = $(CURDIR)
export BASE_ROOT := $(COMP_IPNET_PATH)
TGT_DIR = $(WIND_BASE)/target
# must only bring in VSB if building kernel
ifeq ($(SPACE),user)
TMP_USR_BLD := 1
endif
ifeq ($(SPACE),USER)
TMP_USR_BLD := 1
endif
ifndef __DEFS_VSBVARS_MK_INCLUDED
include $(WIND_BASE)/target/h/make/defs.vsbvars.mk
endif
ifneq ($(wildcard $(VSB_MAKE_CONFIG_FILE)),)
include $(VSB_MAKE_CONFIG_FILE)
endif
ifeq ($(strip $(COMPONENT_IPLITE)),true)
ifeq ($(TMP_USR_BLD),)
# the following is a list of the IPNET configurations that have booleans associated with them
_VARLIST = \
COMPONENT_IPLITE \
WIND_IPLITE \
COMPONENT_COREIP \
FEATURE_IPLITE_GEN_DEPEND \
FEATURE_IP_GPP_BUILD \
MSP_FEATURE_PAD \
MSP_FEATURE_PCD \
MSP_FEATURE_PID \
MSP_FEATURE_PNE \
MSP_FEATURE_VIPER \
MSP_KERNEL \
MSP_RTP \
MSP_BUILD_USER \
COMPONENT_VXMUX \
COMPONENT_VXCOMPAT \
COMPONENT_VXCOREIP
else
_VARLIST = \
COMPONENT_IPLITE \
WIND_IPLITE \
FEATURE_IPLITE_GEN_DEPEND
MSP_RTP= true
export MSP_RTP
COMPONENT_COREIP= true
export COMPONENT_COREIP
MSP_BUILD_USER= true
export MSP_BUILD_USER
endif
else
ifeq ($(TMP_USR_BLD),)
# the following is a list of the IPNET configurations that have booleans associated with them
_VARLIST = \
COMPONENT_IPNET \
COMPONENT_IPLITE \
WIND_IPNET \
COMPONENT_COREIP \
FEATURE_IPNET_VERBOSE \
FEATURE_IPNET_GEN_DEPEND \
FEATURE_IP_GPP_BUILD \
MSP_FEATURE_PAD \
MSP_FEATURE_PCD \
MSP_FEATURE_PID \
MSP_FEATURE_PNE \
MSP_FEATURE_VIPER \
MSP_KERNEL \
MSP_RTP \
MSP_BUILD_USER \
COMPONENT_DOT1X \
COMPONENT_XML \
COMPONENT_IP8021X \
COMPONENT_IPWPS \
COMPONENT_IPAPPL \
COMPONENT_IPCAVIUM \
COMPONENT_IPXINC \
COMPONENT_IPDHCPC6 \
COMPONENT_IPDHCPR \
COMPONENT_IPDHCPS \
COMPONENT_IPDHCPS6 \
COMPONENT_IPDIAMETERC \
COMPONENT_IPDIAMETERP \
COMPONENT_IPEAP \
COMPONENT_IPFIREWALL \
COMPONENT_IPFREESCALE \
COMPONENT_IPHWCRYPTO \
COMPONENT_IPIKE \
COMPONENT_IPIPSEC \
COMPONENT_IPL2TP \
COMPONENT_IPMCP \
COMPONENT_IPMCRYPTO \
COMPONENT_IPMIP \
COMPONENT_IPMIP4 \
COMPONENT_IPMIP6 \
COMPONENT_IPMIP6HA \
COMPONENT_IPMIP6MN \
COMPONENT_IPMIP6PM \
COMPONENT_IPMIPFA \
COMPONENT_IPMIPHA \
COMPONENT_IPMIPMN \
COMPONENT_IPMIPPM \
COMPONENT_IPMPLS \
COMPONENT_IPPPP \
COMPONENT_IPPTP \
COMPONENT_TSN \
COMPONENT_IPRADIUS \
COMPONENT_IPRIP \
COMPONENT_IPRIPNG \
COMPONENT_IPSNTP \
COMPONENT_IPSSH \
COMPONENT_IPTCP \
COMPONENT_IPSCTP \
COMPONENT_WLAN \
COMPONENT_SNMP \
COMPONENT_DCOM \
COMPONENT_OPC \
COMPONENT_BRIDGE \
COMPONENT_CAN \
COMPONENT_SECURITY \
COMPONENT_VIP \
FEATURE_SNMP_V3 \
FEATURE_SNMP_AGENTX \
COMPONENT_IPROHC \
COMPONENT_VXMUX \
COMPONENT_VXCOMPAT \
COMPONENT_VXCOREIP \
COMPONENT_VXDOT1X \
COMPONENT_IPMACSEC \
COMPONENT_IPNTP \
COMPONENT_IFPROXY \
COMPONENT_WRNAD
else
_VARLIST = \
COMPONENT_IPNET \
WIND_IPNET \
FEATURE_IPNET_VERBOSE \
FEATURE_IPNET_GEN_DEPEND \
MSP_FEATURE_PAD \
MSP_FEATURE_PCD \
MSP_FEATURE_PID \
MSP_FEATURE_PNE
MSP_RTP= true
export MSP_RTP
COMPONENT_COREIP= true
export COMPONENT_COREIP
MSP_BUILD_USER= true
export MSP_BUILD_USER
endif
endif
# straight export
export _WRS_CONFIG_ADDEDCFLAGS
export _WRS_CONFIG_ADDEDCFLAGS2
export _WRS_CONFIG_ADDEDCFLAGS_APP
# the following is a list of the IPNET configurations that have strings associated with them
_STRLIST = \
FEATURE_IPNET_BUILD
define defvars
ifdef _WRS_CONFIG_$1
$1 = true
else
$1 = false
endif
export $1
endef
$(eval $(foreach var,$(_VARLIST),$(call defvars,$(var))))
ifeq ($(MSP_FEATURE_PAD),true)
export FEATURE_SET = pad
endif
ifeq ($(MSP_FEATURE_PCD),true)
export FEATURE_SET = pcd
endif
ifeq ($(MSP_FEATURE_PID),true)
export FEATURE_SET = pid
endif
ifeq ($(MSP_FEATURE_PNE),true)
export FEATURE_SET = pne
endif
define defStr
$1 = $(_WRS_CONFIG_$1)
export $1
endef
$(eval $(foreach var,$(_STRLIST),$(call defStr,$(var))))
ifdef _WRS_CONFIG_COMPONENT_IPNET
ifeq ($(WIND_IPNET),)
export WIND_IPNET = true
endif
endif
ifdef _WRS_CONFIG_COMPONENT_IPLITE
ifeq ($(WIND_IPLITE),)
export WIND_IPLITE = true
endif
endif
IP_DOT := .
IP_EMPTY :=
IP_SPACE := $(IP_EMPTY) $(IP_EMPTY)
##
# The available IP components are listed as <IP_MACRO>.<IP_NAME>
#
IpComps := \
BRIDGEDIR.vxbridge \
IP8021XDIR.ip8021x \
IPAPPLDIR.ipappl \
IPCAVIUMDIR.ipcavium \
IPCOMDIR.ipcom \
IPDHCPC6DIR.ipdhcpc6 \
IPDHCPRDIR.ipdhcpr \
IPDHCPS6DIR.ipdhcps6 \
IPDHCPSDIR.ipdhcps \
IPDIAMETERDIR.ipdiameter \
IPEAPDIR.ipeap \
IPFIREWALLDIR.ipfirewall \
IPFREESCALEDIR.ipfreescale \
IPHWCRYPTODIR.iphwcrypto \
IPIKEDIR.ipike \
IPIPSEC2DIR.ipipsec2 \
IPL2TPDIR.ipl2tp \
IPLDAPCDIR.ipldapc \
IPLITEDIR.iplite2 \
IPMACSECDIR.ipmacsec \
IPMCPDIR.ipmcp \
IPMCRYPTODIR.ipmcrypto \
IPMIP4DIR.ipmip4 \
IPMIP6DIR.ipmip6 \
IPMIP6HADIR.ipmip6ha \
IPMIP6MNDIR.ipmip6mn \
IPMIP6PMDIR.ipmip6pm \
IPMIPDIR.ipmip \
IPMIPFADIR.ipmipfa \
IPMIPHADIR.ipmipha \
IPMIPMNDIR.ipmipmn \
IPMIPPMDIR.ipmippm \
IPMPLSDIR.ipmpls \
IPNET2DIR.ipnet2 \
IPPPPDIR.ipppp \
IPPTPDIR.ipptp \
TSNDIR.tsn \
IPRADIUSDIR.ipradius \
IPRIPDIR.iprip \
IPRIPNGDIR.ipripng \
IPROHCDIR.iprohc \
IPSCTPDIR.ipsctp \
IPSNTPDIR.ipsntp \
IPSSHDIR.ipssh \
IPTCPDIR.iptcp \
IPWLANDIR.ipwlan \
IPWPSDIR.ipwps \
IPXINCDIR.ipxinc \
VXCOMPATDIR.vxcompat \
VXCOREIPDIR.vxcoreip \
VXDOT1XDIR.vxdot1x \
VXMUXDIR.vxmux \
WRSNMP.wrsnmp \
IPNTPDIR.ipntp \
IFPROXYDIR.vxifproxy \
WRNADDIR.wrnad
###
# By default we choose the lexically last IPNET component version in hopes
# that it is the most recent. The directory macros (e.g. IPCOMDIR) may of
# course be overriden on the command line.
define _DIR_DEF
ifeq ($$($(basename $(1))),)
TMP_DIRSU := $$(wildcard $(patsubst .%,%,$(suffix $(1)))*)
TMP_DIRS := $$(sort $$(TMP_DIRSU))
ifneq ($$(strip $$(TMP_DIRS)),)
export $(basename $(1)) := $$(word 1,$$(TMP_DIRS))
endif
endif
IP_BUILDABLE_COMPS := $$(IP_BUILDABLE_COMPS) $(basename $(1))=$$($(basename $(1)))
#$$(warning $(basename $(1)) = $$($(basename $(1))) )
endef
$(foreach IpComp,$(IpComps), $(eval $(call _DIR_DEF,$(IpComp))))
ifeq ($(IPCOMDIR),)
$(error IPCOMDIR is empty.)
endif
ifeq ($(TGT_DIR),)
ifeq ($(TMP_USR_BLD),)
TGT_DIR = $(WIND_BASE)/target
else
TGT_DIR = $(WIND_BASE)/target/usr
endif
endif
include $(WIND_BASE)/target/h/make/defs.options
##
# Ensure VX_CPU_FAMILY is defined
#
ifeq ($(TOOL_FAMILY),)
ifeq ($(findstring gnu,$(TOOL)),gnu)
TOOL_FAMILY = gnu
endif
ifeq ($(findstring diab,$(TOOL)),diab)
TOOL_FAMILY = diab
endif
ifeq ($(findstring icc,$(TOOL)),icc)
TOOL_FAMILY = icc
endif
endif
ifeq ($(TMP_USR_BLD),)
TMP_BUILD_SPACE := krnl
include $(TGT_DIR)/h/tool/$(TOOL_FAMILY)/make.$(CPU)$(TOOL)
ifneq ($(LOCAL_OBJS),)
ifeq ($(WR_IPCOM_LIB_DIR),)
export WR_IPCOM_LIB_DIR := $(CURDIR)/$(IPCOMDIR)/lib$(MAJOR_OPTION_SUFFIX)/$(VX_CPU_FAMILY)/$(CPU)/$(TOOL_COMMON_DIR)
endif
else
ifeq ($(WR_IPCOM_LIB_DIR),)
export WR_IPCOM_LIB_DIR := $(VSB_DIR)/$(VX_CPU_FAMILY)/$(CPU)$(CPU_OPTION_SUFFIX)/$(TOOL_COMMON_DIR)$(LIB_DIR_TAG)$(MINOR_OPTION_SUFFIX)
endif
endif
else
TMP_BUILD_SPACE := usr
include $(TGT_DIR)/usr/tool/$(TOOL_FAMILY)/make.$(CPU)$(TOOL)
ifneq ($(LOCAL_OBJS),)
ifeq ($(WR_IPCOM_LIB_DIR),)
export WR_IPCOM_LIB_DIR := $(CURDIR)/$(IPCOMDIR)/lib$(MAJOR_OPTION_SUFFIX)/usr/lib/$(VX_CPU_FAMILY)/$(CPU)/$(TOOL_COMMON_DIR)
endif
else
ifeq ($(WR_IPCOM_LIB_DIR),)
export WR_IPCOM_LIB_DIR := $(VSB_DIR)/usr/lib/$(VX_CPU_FAMILY)/$(CPU)/$(TOOL_COMMON_DIR)
endif
endif
endif
export WR_IPTARGET := $(VX_CPU_FAMILY)
ifneq ($(FEATURE_SET),) # MSP Build
###
# This block is to be used during feature set build
#
include $(WIND_BASE)/config/common/defs.component
#-include config.mk
ifeq ($(strip $(COMPONENT_IPNET)),true)
kernel:
ifeq ($(TARGET),rclean)
@echo "make: removing targets and objects of `pwd`"
$(MAKE) -C $(IPCOMDIR) TOOL=$(TOOL) CPU=$(CPU) cleanall
else
ifeq ($(DEBUG),true)
@echo "#"
@echo "#"
@echo "######### Build Config Info ########"
@echo "#"
@echo "# IP Component Dirs : $(IP_BUILDABLE_COMPS)"
@echo "#"
@echo "# CPU = $(CPU)"
@echo "# TOOL = $(TOOL)"
@echo "# VX_CPU_FAMILY = $(VX_CPU_FAMILY)"
@echo "# WR_IPCOM_LIB_DIR = $(WR_IPCOM_LIB_DIR)"
@echo "# WR_IPCOM_VERSION = $(WR_IPCOM_VERSION)"
@echo "# COMP_IPNET_PATH = $(COMP_IPNET_PATH)"
@echo "#"
@echo "####################################"
@echo "#"
@echo "#"
else
$(MAKE) -C $(IPCOMDIR) TOOL=$(TOOL) CPU=$(CPU) VSB_DIR=$(VSB_DIR) all
endif
endif
usr:
endif
ifeq ($(strip $(COMPONENT_IPLITE)),true)
kernel:
ifeq ($(TARGET),rclean)
@echo "make: removing targets and objects of `pwd`"
$(MAKE) -C $(IPCOMDIR) TOOL=$(TOOL) CPU=$(CPU) cleanall
else
ifeq ($(DEBUG),true)
@echo "#"
@echo "#"
@echo "######### Build Config Info ########"
@echo "#"
@echo "# IP Component Dirs : $(IP_BUILDABLE_COMPS)"
@echo "#"
@echo "# CPU = $(CPU)"
@echo "# TOOL = $(TOOL)"
@echo "# VX_CPU_FAMILY = $(VX_CPU_FAMILY)"
@echo "# WR_IPCOM_LIB_DIR = $(WR_IPCOM_LIB_DIR)"
@echo "# WR_IPCOM_VERSION = $(WR_IPCOM_VERSION)"
@echo "# COMP_IPNET_PATH = $(COMP_IPNET_PATH)"
@echo "#"
@echo "####################################"
@echo "#"
@echo "#"
else
$(MAKE) -C $(IPCOMDIR) TOOL=$(TOOL) CPU=$(CPU) all
endif
endif
usr:
endif
include $(WIND_BASE)/config/common/rules.component
#
# End of feature set build block.
###
else # Not an MSP build
###
# This block is to be used during non-feature set build
#
kernel :
@echo "make: building targets of $(COMP_IPNET_PATH)"
ifeq ($(DEBUG),true)
@echo "#"
@echo "#"
@echo "######### Build Config Info ########"
@echo "#"
@echo "# IP Component Dirs : $(IP_BUILDABLE_COMPS)"
@echo "#"
@echo "# CPU = $(CPU)"
@echo "# TOOL = $(TOOL)"
@echo "# VX_CPU_FAMILY = $(VX_CPU_FAMILY)"
@echo "# WR_IPCOM_LIB_DIR = $(WR_IPCOM_LIB_DIR)"
@echo "# WR_IPCOM_VERSION = $(WR_IPCOM_VERSION)"
@echo "# COMP_IPNET_PATH = $(COMP_IPNET_PATH)"
@echo "#"
@echo "####################################"
@echo "#"
@echo "#"
else
$(MAKE) -C $(IPCOMDIR) TOOL=$(TOOL) CPU=$(CPU) all
endif
usr :
endif # End MSP Build
rclean :
@echo "make: removing targets and objects of `pwd`"
$(MAKE) -C $(IPCOMDIR) TOOL=$(TOOL) CPU=$(CPU) cleanall
.PHONY : util_ipdef util_ipinc
util_ipdef:
$(MAKE) -C $(IPCOMDIR) TOOL=$(TOOL) CPU=$(CPU) util_ipdef
util_ipinc:
$(MAKE) -C $(IPCOMDIR) TOOL=$(TOOL) CPU=$(CPU) util_ipinc