184 lines
5.1 KiB
Plaintext
184 lines
5.1 KiB
Plaintext
# defs.option - makefile definitions related to option builds
|
|
#
|
|
# Copyright (c) 1984-2005 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
|
|
# --------------------
|
|
# 01h,15apr05,kch Changed 'inet6_fr' to '-inet6_fr' and 'inet6_vs_fr'
|
|
# to '-inet6_vs_fr'.
|
|
# 01g,14apr05,kch Fixed SUPPORTED_OPTIONS such that virtual stack build
|
|
# options will be supported for MSP only. Added ROUTER_STACK
|
|
# setting to virtual stack option builds.
|
|
# 01f,31mar05,kch Added the -vs, -vs_fr, -inet6_vs and inet6_vs_fr build
|
|
# options for virtual stack.
|
|
# 01e,23sep04,dlk Use OPT_DEFINE instead of EXTRA_DEFINE. Using
|
|
# EXTRA_DEFINE requires 'override', which breaks later
|
|
# additions to EXTRA_DEFINE (e.g. in some BSPs) which
|
|
# don't use 'override'.
|
|
# 01d,02sep04,dlk Remove dsi from -inet6 builds. Tighten check
|
|
# on OPT validity. Add aim to free build libraries.
|
|
# Do not modify ADDED_CFLAGS.
|
|
# 01c,04may04,dlk Added the -inet6_fr build option. Remove references
|
|
# to the fpio library.
|
|
# 01b,20apr04,dlk Added -inet6 build option.
|
|
# 01a,04feb04,dlk written.
|
|
#
|
|
# DESCRIPTION
|
|
#
|
|
# This file is included in Makefiles to establish information related
|
|
# to option builds, in particular the lists of libraries which support
|
|
# particular option builds.
|
|
#
|
|
|
|
# Protect against multiple inclusion.
|
|
ifeq ($(DEFS_OPTION),)
|
|
DEFS_OPTION = TRUE
|
|
|
|
# For GPP build, the environment variable $FEATURE_SET is either set to "gpp"
|
|
# or simply not defined at all. Here it is assumed that the top-level Feature
|
|
# Set Makefile (if exist) has verified the setting of the $FEATURE_SET
|
|
# variable (if defined).
|
|
|
|
ifeq ($(FEATURE_SET),)
|
|
_GPP_BUILD = TRUE
|
|
else
|
|
ifeq ($(FEATURE_SET),gpp)
|
|
_GPP_BUILD = TRUE
|
|
endif
|
|
endif
|
|
|
|
# Supported build options for all products
|
|
|
|
SUPPORTED_OPTIONS = -fr -inet6 -inet6_fr
|
|
|
|
# Supported build options for MSP platform products.
|
|
ifeq ($(_GPP_BUILD),)
|
|
SUPPORTED_OPTIONS += -vs -vs_fr -inet6_vs -inet6_vs_fr
|
|
endif
|
|
|
|
# Check that OPT is valid. If not, fail.
|
|
|
|
_empty_ =
|
|
_space_ = $(_empty_) $(_empty_)
|
|
|
|
ifneq ($(OPT),)
|
|
ifneq ($(findstring $(_space_),$(OPT)),)
|
|
$(error OPT may not contain spaces: "$(OPT)")
|
|
endif
|
|
ifeq ($(filter $(OPT), $(SUPPORTED_OPTIONS)),)
|
|
$(error OPT="$(OPT)" is unsupported. Allowed: $(SUPPORTED_OPTIONS))
|
|
endif
|
|
endif
|
|
|
|
ifeq ($(OPT),-fr)
|
|
export _FREE_VERSION := 1
|
|
OPT_DEFINE += -D_FREE_VERSION
|
|
|
|
# Temporary hack until network makefiles check OPT before
|
|
# defining INCLUDE_WVNETD.
|
|
ifeq ($(LIB_BASE_NAME),net)
|
|
OPT_DEFINE += -UINCLUDE_WVNETD
|
|
endif
|
|
|
|
endif
|
|
|
|
LIB_BASE_NAMES-fr := net arch os wind hwdb aim
|
|
|
|
|
|
ifeq ($(OPT),-inet6)
|
|
export _INET6_BUILD := 1
|
|
OPT_DEFINE += -DINET6
|
|
endif
|
|
|
|
LIB_BASE_NAMES-inet6 := net ppp
|
|
|
|
ifeq ($(OPT),-inet6_fr)
|
|
export _INET6_BUILD := 1
|
|
export _FREE_VERSION := 1
|
|
OPT_DEFINE += -D_FREE_VERSION -DINET6
|
|
|
|
# Temporary hack until network makefiles check OPT before
|
|
# defining INCLUDE_WVNETD.
|
|
ifeq ($(LIB_BASE_NAME),net)
|
|
OPT_DEFINE += -UINCLUDE_WVNETD
|
|
endif
|
|
|
|
endif # ifeq ($(OPT),-inet6_fr)
|
|
|
|
# This should be the union of LIB_BASE_NAMES-fr and LIB_BASE_NAMES-inet6
|
|
|
|
LIB_BASE_NAMES-inet6_fr := $(LIB_BASE_NAMES-inet6)
|
|
LIB_BASE_NAMES-inet6_fr += \
|
|
$(filter-out $(LIB_BASE_NAMES-inet6),$(LIB_BASE_NAMES-fr))
|
|
|
|
|
|
# For (ipv4 only) virtual stack support (OPT=-vs)
|
|
|
|
ifeq ($(OPT),-vs)
|
|
export _VIRTUAL_STACK_BUILD := 1
|
|
OPT_DEFINE += -DVIRTUAL_STACK -DROUTER_STACK
|
|
endif
|
|
|
|
# For virtual stack, the rpc directory must be rebuild.
|
|
LIB_BASE_NAMES-vs := $(LIB_BASE_NAMES-inet6) rpc
|
|
|
|
|
|
# For (ipv4 only) virtual stack + free build support (OPT=-vs_fr)
|
|
|
|
ifeq ($(OPT),-vs_fr)
|
|
export _VIRTUAL_STACK_BUILD := 1
|
|
export _FREE_VERSION := 1
|
|
OPT_DEFINE += -D_FREE_VERSION -DVIRTUAL_STACK -DROUTER_STACK
|
|
|
|
# Temporary hack until network makefiles check OPT before
|
|
# defining INCLUDE_WVNETD.
|
|
ifeq ($(LIB_BASE_NAME),net)
|
|
OPT_DEFINE += -UINCLUDE_WVNETD
|
|
endif
|
|
|
|
endif # ifeq ($(OPT),-vs_fr)
|
|
|
|
LIB_BASE_NAMES-vs_fr := $(LIB_BASE_NAMES-vs)
|
|
LIB_BASE_NAMES-vs_fr += \
|
|
$(filter-out $(LIB_BASE_NAMES-vs),$(LIB_BASE_NAMES-fr))
|
|
|
|
|
|
# For virtual stack + inet6 support (OPT=-inet6_vs)
|
|
|
|
ifeq ($(OPT),-inet6_vs)
|
|
export _INET6_BUILD := 1
|
|
export _VIRTUAL_STACK_BUILD := 1
|
|
OPT_DEFINE += -DINET6 -DVIRTUAL_STACK -DROUTER_STACK
|
|
endif
|
|
|
|
LIB_BASE_NAMES-inet6_vs := $(LIB_BASE_NAMES-vs)
|
|
|
|
|
|
# For virtual stack + inet6 + free build support (OPT=-inet6_vs_fr)
|
|
|
|
ifeq ($(OPT),-inet6_vs_fr)
|
|
export _INET6_BUILD := 1
|
|
export _VIRTUAL_STACK_BUILD := 1
|
|
export _FREE_VERSION := 1
|
|
OPT_DEFINE += -DINET6 -D_FREE_VERSION -DVIRTUAL_STACK -DROUTER_STACK
|
|
|
|
# Temporary hack until network makefiles check OPT before
|
|
# defining INCLUDE_WVNETD.
|
|
ifeq ($(LIB_BASE_NAME),net)
|
|
OPT_DEFINE += -UINCLUDE_WVNETD
|
|
endif
|
|
|
|
endif # ifeq ($(OPT),-inet6_vs_fr)
|
|
|
|
LIB_BASE_NAMES-inet6_vs_fr := $(LIB_BASE_NAMES-vs)
|
|
LIB_BASE_NAMES-inet6_vs_fr += \
|
|
$(filter-out $(LIB_BASE_NAMES-vs),$(LIB_BASE_NAMES-fr))
|
|
|
|
|
|
endif # ifeq ($(DEFS_OPTION),)
|