aboutsummaryrefslogtreecommitdiffstats
path: root/build/external
diff options
context:
space:
mode:
authorDave Wallace <dwallacelf@gmail.com>2024-05-15 18:16:40 -0400
committerFlorin Coras <florin.coras@gmail.com>2024-11-20 16:36:54 +0000
commit79c8f99ac928ab6108b3dd854b2ad389c4809ebb (patch)
tree2d998195b5b970285eefd1958db2da799d475757 /build/external
parent258b82975b120b3deb34483254f1d40dca5bb79d (diff)
build: add vpp-opt-deps package
- Build an optional vpp package for optional dynamically linked dependencies for vpp plugins. Initial package contents include openssl 3.3.2. - Refactor $WS_ROOT/build makefile structure - Remove vpp-ext-deps debian control replacement of vpp-dpdk-dev package Type: make Change-Id: I1af0eff4a0c009c9d9061362f79e2013d8bf1a93 Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Diffstat (limited to 'build/external')
-rw-r--r--build/external/Makefile37
-rw-r--r--build/external/deb/debian/control2
-rwxr-xr-xbuild/external/deb/debian/rules2
-rw-r--r--build/external/packages.mk175
4 files changed, 3 insertions, 213 deletions
diff --git a/build/external/Makefile b/build/external/Makefile
index b4a099c57e1..d70ba7c3f6a 100644
--- a/build/external/Makefile
+++ b/build/external/Makefile
@@ -11,42 +11,9 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-# Scripts require non-POSIX parts of bash
-SHELL := $(shell which bash)
-
-DL_CACHE_DIR = $(HOME)/Downloads
-MAKE_ARGS ?= -j
-BUILD_DIR ?= $(CURDIR)/_build
-INSTALL_DIR ?= $(CURDIR)/_install
-PKG_VERSION ?= $(shell git describe --abbrev=0 --match 'v[0-9]*' | cut -d- -f1 | cut -dv -f2 | cut -d. -f1,2)
-PKG_SUFFIX ?= $(shell git log --oneline v$(PKG_VERSION)-rc0.. . | wc -l)
-SOURCE_DATE_EPOCH ?= $(shell git log -1 --pretty=%ct .)
-ifeq ($(shell uname), FreeBSD)
-JOBS := $(shell nproc)
-else
-JOBS := $(if $(shell [ -f /proc/cpuinfo ] && head /proc/cpuinfo),\
- $(shell grep -c ^processor /proc/cpuinfo), 2)
-endif # FreeBSD
-
-B := $(BUILD_DIR)
-I := $(INSTALL_DIR)
-ifeq ($(WORKSPACE),)
-L := $(B)
-else
-L := $(WORKSPACE)/archives/vpp-ext-deps
-$(shell rm -rf $(L) && mkdir -p $(L))
-endif
-
-ifneq ($(shell which cmake3),)
-CMAKE?=cmake3
-else
-CMAKE?=cmake
-endif
-
-ARCH_X86_64=$(filter x86_64,$(shell uname -m))
-AARCH64=$(filter aarch64,$(shell uname -m))
+include ../build_common.mk
+include ../packages_common.mk
-include packages.mk
include packages/ipsec-mb.mk
include packages/quicly.mk
ifneq ($(shell uname), FreeBSD)
diff --git a/build/external/deb/debian/control b/build/external/deb/debian/control
index 80b81b8b375..a4e59f4c577 100644
--- a/build/external/deb/debian/control
+++ b/build/external/deb/debian/control
@@ -9,5 +9,3 @@ Package: vpp-ext-deps
Architecture: any
Depends: ${shlibs:Depends}
Description: VPP developer package containing dependencies
-Replaces: vpp-dpdk-dev
-Conflicts: vpp-dpdk-dev
diff --git a/build/external/deb/debian/rules b/build/external/deb/debian/rules
index 901d4689766..6682952fa0e 100755
--- a/build/external/deb/debian/rules
+++ b/build/external/deb/debian/rules
@@ -30,4 +30,4 @@ override_dh_install:
dh_install -p$(PKG) --autodest /opt
override_dh_shlibdeps:
- dh_shlibdeps -l$(INSTALL_DIR)lib/
+ dh_shlibdeps -l$(INSTALL_DIR)lib/:$(INSTALL_DIR)lib64
diff --git a/build/external/packages.mk b/build/external/packages.mk
deleted file mode 100644
index e8cbe271d9b..00000000000
--- a/build/external/packages.mk
+++ /dev/null
@@ -1,175 +0,0 @@
-# Copyright (c) 2018 Cisco and/or its affiliates.
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at:
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-define h1
- @echo "--- $(1)"
-endef
-
-define package
-$1_tarball_strip_dirs ?= 0
-$1_src_dir ?= $(B)/src-$1
-$1_patch_dir ?= $(CURDIR)/patches/$1_$($1_version)
-$1_build_dir ?= $(B)/build-$1
-$1_install_dir ?= $(I)
-$1_config_log ?= $(L)/$1.config.log
-$1_build_log ?= $(L)/$1.build.log
-$1_install_log ?= $(L)/$1.install.log
-
-##############################################################################
-# Download
-##############################################################################
-downloads/$($1_tarball):
- mkdir -p downloads
- @if [ -e $(DL_CACHE_DIR)/$($1_tarball) ] ; \
- then cp $(DL_CACHE_DIR)/$($1_tarball) $$@ ; \
- else \
- echo "Downloading $($1_url)" ; \
- curl -o $$@ -LO $($1_url) ; \
- fi
- @rm -f $(B)/.$1.download.ok
-
-$(B)/.$1.download.ok: downloads/$($1_tarball)
- @mkdir -p $(B)
- $$(call h1,"validating $1 $($1_version) checksum")
- @SUM=$$(shell openssl md5 $$< | cut -f 2 -d " " -) ; \
- ([ "$$$${SUM}" = "$($1_tarball_md5sum)" ] || \
- ( echo "==========================================================" && \
- echo "Bad Checksum!" && \
- echo "Expected: $($1_tarball_md5sum)" && \
- echo "Calculated: $$$${SUM}" && \
- echo "Please remove $$< and retry" && \
- echo "==========================================================" && \
- false ))
- @touch $$@
-
-.PHONY: $1-download
-$1-download: $(B)/.$1.download.ok
-
-##############################################################################
-# Extract
-##############################################################################
-$(B)/.$1.extract.ok: $(B)/.$1.download.ok
- $$(call h1,"extracting $1 $($1_version)")
- @mkdir -p $$($1_src_dir)
- @tar \
- --directory $$($1_src_dir) \
- --extract \
- --strip-components=$$($1_tarball_strip_dirs) \
- --file downloads/$($1_tarball)
- @touch $$@
-
-.PHONY: $1-extract
-$1-extract: $(B)/.$1.extract.ok
-
-##############################################################################
-# Patch
-##############################################################################
-$(B)/.$1.patch.ok: $(B)/.$1.extract.ok
- $$(call h1,"patching $1 $($1_version)")
-ifneq ($$(wildcard $$($1_patch_dir)/*.patch),)
- @for f in $$($1_patch_dir)/*.patch ; do \
- echo "Applying patch: $$$$(basename $$$$f)" ; \
- patch -p1 -d $$($1_src_dir) < $$$$f ; \
- done
-endif
- @touch $$@
-
-.PHONY: $1-patch
-$1-patch: $(B)/.$1.patch.ok
-
-##############################################################################
-# Config
-##############################################################################
-
-ifeq ($$(call $1_config_cmds),)
-define $1_config_cmds
- @cd $$($1_build_dir) && \
- CFLAGS="$$($1_cflags)" \
- $$($1_src_dir)/configure \
- --prefix=$$($1_install_dir) \
- $$($1_configure_args) > $$($1_config_log)
-endef
-endif
-
-ifneq ($(filter $1,$(VPP_SKIP_EXTERNAL)), $1)
-$(B)/.$1.config.ok: $(B)/.$1.patch.ok $(addprefix $(B)/.,$(addsuffix .install.ok,$($1_depends)))
- $$(call h1,"configuring $1 $($1_version) - log: $$($1_config_log)")
- @mkdir -p $$($1_build_dir)
- $$(call $1_config_cmds)
- @touch $$@
-else
-$(B)/.$1.config.ok:
- $$(call h1,"Skipping $1 $($1_version)")
- @mkdir -p $(B)
- @touch $$@
-endif
-
-.PHONY: $1-config
-$1-config: $(B)/.$1.config.ok
-
-##############################################################################
-# Build
-##############################################################################
-
-ifeq ($$(call $1_build_cmds),)
-define $1_build_cmds
- @$(MAKE) $(MAKE_ARGS) -C $$($1_build_dir) > $$($1_build_log)
-endef
-endif
-
-ifneq ($(filter $1,$(VPP_SKIP_EXTERNAL)), $1)
-$(B)/.$1.build.ok: $(B)/.$1.config.ok
- $$(call h1,"building $1 $($1_version) - log: $$($1_build_log)")
- $$(call $1_build_cmds)
- @touch $$@
-else
-$(B)/.$1.build.ok:
- $$(call h1,"Skipping $1 $($1_version)")
- @mkdir -p $(B)
- @touch $$@
-endif
-
-.PHONY: $1-build
-$1-build: $(B)/.$1.build.ok
-
-##############################################################################
-# Install
-##############################################################################
-
-ifeq ($$(call $1_install_cmds),)
-define $1_install_cmds
- @$(MAKE) $(MAKE_ARGS) -C $$($1_build_dir) install > $$($1_install_log)
-endef
-endif
-
-ifneq ($(filter $1,$(VPP_SKIP_EXTERNAL)), $1)
-$(B)/.$1.install.ok: $(B)/.$1.build.ok
- $$(call h1,"installing $1 $($1_version) - log: $$($1_install_log)")
- $$(call $1_install_cmds)
- @touch $$@
-else
-$(B)/.$1.install.ok:
- $$(call h1,"Skipping $1 $($1_version)")
- @mkdir -p $(B)
- @touch $$@
-endif
-
-.PHONY: $1-install
-$1-install: $(B)/.$1.install.ok
-
-.PHONY: $1-show-%
-$1-show-%:
- @echo $$($$*)
-
-ALL_TARGETS += $1-install
-endef