mirror of https://github.com/microsoft/vcpkg.git
[libbpf] Add new port (#51968)
This commit is contained in:
parent
c1ccec989e
commit
45929bdc2c
|
|
@ -0,0 +1,19 @@
|
|||
diff --git a/src/Makefile b/src/Makefile
|
||||
index 91cc02a..fe30a96 100644
|
||||
--- a/src/Makefile
|
||||
+++ b/src/Makefile
|
||||
@@ -62,12 +62,13 @@ OBJS := bpf.o btf.o libbpf.o libbpf_utils.o netlink.o \
|
||||
SHARED_OBJS := $(addprefix $(SHARED_OBJDIR)/,$(OBJS))
|
||||
STATIC_OBJS := $(addprefix $(STATIC_OBJDIR)/,$(OBJS))
|
||||
|
||||
-STATIC_LIBS := $(OBJDIR)/libbpf.a
|
||||
ifndef BUILD_STATIC_ONLY
|
||||
SHARED_LIBS := $(OBJDIR)/libbpf.so \
|
||||
$(OBJDIR)/libbpf.so.$(LIBBPF_MAJOR_VERSION) \
|
||||
$(OBJDIR)/libbpf.so.$(LIBBPF_VERSION)
|
||||
VERSION_SCRIPT := libbpf.map
|
||||
+else
|
||||
+ STATIC_LIBS := $(OBJDIR)/libbpf.a
|
||||
endif
|
||||
|
||||
HEADERS := bpf.h libbpf.h btf.h libbpf_common.h libbpf_legacy.h \
|
||||
|
|
@ -0,0 +1,31 @@
|
|||
diff --git a/src/Makefile b/src/Makefile
|
||||
index fe30a96..174931f 100644
|
||||
--- a/src/Makefile
|
||||
+++ b/src/Makefile
|
||||
@@ -43,15 +43,20 @@ ALL_CFLAGS += $(CFLAGS) \
|
||||
ALL_LDFLAGS += $(LDFLAGS) $(EXTRA_LDFLAGS)
|
||||
|
||||
ifeq ($(shell command -v $(PKG_CONFIG) 2> /dev/null),)
|
||||
-NO_PKG_CONFIG := 1
|
||||
+$(error pkg-config not found)
|
||||
endif
|
||||
-ifdef NO_PKG_CONFIG
|
||||
- ALL_LDFLAGS += -lelf -lz
|
||||
-else
|
||||
- ALL_CFLAGS += $(shell $(PKG_CONFIG) --cflags libelf zlib)
|
||||
- ALL_LDFLAGS += $(shell $(PKG_CONFIG) --libs libelf zlib)
|
||||
+
|
||||
+ifneq ($(shell $(PKG_CONFIG) --env-only --exists libelf && echo true),true)
|
||||
+$(error libelf not found)
|
||||
endif
|
||||
|
||||
+ifneq ($(shell $(PKG_CONFIG) --env-only --exists zlib && echo true),true)
|
||||
+$(error zlib not found)
|
||||
+endif
|
||||
+
|
||||
+ALL_CFLAGS += $(shell $(PKG_CONFIG) --env-only --cflags libelf zlib)
|
||||
+ALL_LDFLAGS += $(shell $(PKG_CONFIG) --env-only --libs libelf zlib)
|
||||
+
|
||||
OBJDIR ?= .
|
||||
SHARED_OBJDIR := $(OBJDIR)/sharedobjs
|
||||
STATIC_OBJDIR := $(OBJDIR)/staticobjs
|
||||
|
|
@ -0,0 +1,66 @@
|
|||
vcpkg_from_github(
|
||||
OUT_SOURCE_PATH SOURCE_PATH
|
||||
REPO libbpf/libbpf
|
||||
REF "v${VERSION}"
|
||||
SHA512 29996f76d45222070b7554c1a098d67cf0933876a0fb3965800a304239a7e8dcc4d2ecc3ffe049dfbebe62e29e12cca793c6b22d5845955dd17faff5786691dd
|
||||
HEAD_REF master
|
||||
PATCHES
|
||||
0001-enable-static-or-shared.patch
|
||||
0002-fix-dependency-lookup.patch
|
||||
)
|
||||
|
||||
find_program(MAKE make REQUIRED)
|
||||
|
||||
set(OPTIONS "")
|
||||
if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
|
||||
list(APPEND OPTIONS "BUILD_STATIC_ONLY=y")
|
||||
endif()
|
||||
|
||||
if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release")
|
||||
file(COPY "${SOURCE_PATH}/" DESTINATION "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/")
|
||||
z_vcpkg_setup_pkgconfig_path(CONFIG RELEASE)
|
||||
|
||||
vcpkg_execute_build_process(
|
||||
COMMAND
|
||||
"${MAKE}"
|
||||
"install"
|
||||
"-j${VCPKG_CONCURRENCY}"
|
||||
"PREFIX=${CURRENT_PACKAGES_DIR}"
|
||||
"LIBDIR=${CURRENT_PACKAGES_DIR}/lib"
|
||||
${OPTIONS}
|
||||
WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/src"
|
||||
LOGNAME "make-install-${TARGET_TRIPLET}-rel"
|
||||
)
|
||||
|
||||
z_vcpkg_restore_pkgconfig_path()
|
||||
endif()
|
||||
|
||||
if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
|
||||
file(COPY "${SOURCE_PATH}/" DESTINATION "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/")
|
||||
z_vcpkg_setup_pkgconfig_path(CONFIG DEBUG)
|
||||
|
||||
vcpkg_execute_build_process(
|
||||
COMMAND
|
||||
"${MAKE}"
|
||||
"install"
|
||||
"-j${VCPKG_CONCURRENCY}"
|
||||
"PREFIX=${CURRENT_PACKAGES_DIR}/debug"
|
||||
"LIBDIR=${CURRENT_PACKAGES_DIR}/debug/lib"
|
||||
${OPTIONS}
|
||||
WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/src"
|
||||
LOGNAME "make-install-${TARGET_TRIPLET}-dbg"
|
||||
)
|
||||
|
||||
z_vcpkg_restore_pkgconfig_path()
|
||||
endif()
|
||||
|
||||
vcpkg_fixup_pkgconfig()
|
||||
|
||||
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
|
||||
|
||||
vcpkg_install_copyright(FILE_LIST
|
||||
"${SOURCE_PATH}/LICENSE"
|
||||
"${SOURCE_PATH}/LICENSE.LGPL-2.1"
|
||||
"${SOURCE_PATH}/LICENSE.BSD-2-Clause"
|
||||
)
|
||||
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
{
|
||||
"name": "libbpf",
|
||||
"version": "1.7.0",
|
||||
"description": "Supports loading compiled BPF object files into the Linux Kernel",
|
||||
"license": "LGPL-2.1-only OR BSD-2-Clause",
|
||||
"supports": "linux",
|
||||
"dependencies": [
|
||||
"elfutils",
|
||||
{
|
||||
"name": "pkgconf",
|
||||
"host": true
|
||||
},
|
||||
{
|
||||
"name": "vcpkg-make",
|
||||
"host": true
|
||||
},
|
||||
"zlib"
|
||||
]
|
||||
}
|
||||
|
|
@ -4764,6 +4764,10 @@
|
|||
"baseline": "1.4.1",
|
||||
"port-version": 0
|
||||
},
|
||||
"libbpf": {
|
||||
"baseline": "1.7.0",
|
||||
"port-version": 0
|
||||
},
|
||||
"libbson": {
|
||||
"baseline": "2.3.0",
|
||||
"port-version": 0
|
||||
|
|
|
|||
|
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
"versions": [
|
||||
{
|
||||
"git-tree": "aea6aac91b32835628f587b7ec0ea00f0152f35a",
|
||||
"version": "1.7.0",
|
||||
"port-version": 0
|
||||
}
|
||||
]
|
||||
}
|
||||
Loading…
Reference in New Issue