diff options
author | 2024-05-15 18:16:40 -0400 | |
---|---|---|
committer | 2024-11-20 16:36:54 +0000 | |
commit | 79c8f99ac928ab6108b3dd854b2ad389c4809ebb (patch) | |
tree | 2d998195b5b970285eefd1958db2da799d475757 /build/external | |
parent | 258b82975b120b3deb34483254f1d40dca5bb79d (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/Makefile | 37 | ||||
-rw-r--r-- | build/external/deb/debian/control | 2 | ||||
-rwxr-xr-x | build/external/deb/debian/rules | 2 | ||||
-rw-r--r-- | build/external/packages.mk | 175 |
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 |