This is to make explicit the conditional select of libunwind is only needed for libopenvswitch. If we spill it over other packages, the generated kconfig will have recursive dependency issue. 2 new patches were made for this goal The other thing is that "+libunwind" will cause it to be built if any of the packages defined in this Makefile is enabled (y or m). This is at the moment by-design of the build system. Libunwind does not support architectures like arc. Use conditional select To avoid (libunwind) build failures like the following, checking for ELF helper width... configure: error: Unknown ELF target: arc make[3]: *** [Makefile:65: /data/openwrt/build_dir/target-arc_arc700_uClibc/ libunwind-1.3.1/.configured_68b329da9893e34099c7d8ad5cb9c940] Error 1 Things like "+PACKAGE_openvswitch-libopenvswitch:libunwind" will also result in recursive deps error for chains of 3 nodes. Kconfig construct like the following will be made config A tristate select B depends on !(C) || (x) config B tristate select C config C tristate config x bool Other changes include - Shared use of variable ovs__common_depends was removed - Ovn doc build was patched out Link: https://github.com/openwrt/packages/pull/12959#issuecomment-665021413 Reported-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
36 lines
925 B
Makefile
36 lines
925 B
Makefile
# Copyright (C) 2020 Yousong Zhou <yszhou4tech@gmail.com>
|
|
#
|
|
# This is free software, licensed under the GNU General Public License v2.
|
|
# See /LICENSE for more information.
|
|
|
|
# Versions
|
|
|
|
ovs_version:=2.13.0
|
|
ovs_builddir=$(KERNEL_BUILD_DIR)/openvswitch-$(ovs_version)
|
|
|
|
# Shared vars, macros
|
|
|
|
ovs_packages:=
|
|
|
|
ovs_package_name=$(if $(filter openvswitch,$(1)),openvswitch,openvswitch-$(1))
|
|
define OvsPackageTemplate
|
|
define Package/$(call ovs_package_name,$(1))
|
|
SECTION:=net
|
|
SUBMENU:=Open vSwitch
|
|
CATEGORY:=Network
|
|
URL:=https://www.openvswitch.org
|
|
TITLE:=$(ovs_$(1)_title)
|
|
HIDDEN:=$(ovs_$(1)_hidden)
|
|
DEPENDS:=$(ovs_$(1)_depends)
|
|
endef
|
|
|
|
define Package/$(call ovs_package_name,$(1))/install
|
|
$(foreach f,$(ovs_$(1)_files),
|
|
$(INSTALL_DIR) $$(1)/$(dir $(f))
|
|
$(CP) $(PKG_INSTALL_DIR)/$(f) $$(1)/$(dir $(f))
|
|
)
|
|
$(ovs_$(1)_install)
|
|
endef
|
|
|
|
ovs_packages+=$(call ovs_package_name,$(1))
|
|
endef
|