| ################################################################################ |
| # |
| # bcc |
| # |
| ################################################################################ |
| |
| BCC_VERSION = 0.29.1 |
| BCC_SITE = https://github.com/iovisor/bcc/releases/download/v$(BCC_VERSION) |
| BCC_SOURCE = bcc-src-with-submodule.tar.gz |
| BCC_LICENSE = Apache-2.0 |
| BCC_LICENSE_FILES = LICENSE.txt |
| BCC_INSTALL_STAGING = YES |
| BCC_DEPENDENCIES = \ |
| clang \ |
| elfutils \ |
| flex \ |
| host-bison \ |
| host-flex \ |
| host-python-setuptools \ |
| host-zip \ |
| llvm \ |
| python3 |
| |
| # ENABLE_LLVM_SHARED=ON to use llvm.so - we only support shared libs |
| # Force REVISION otherwise bcc will use git describe to generate a version number. |
| BCC_CONF_OPTS = \ |
| -DENABLE_LLVM_SHARED:BOOL=ON \ |
| -DREVISION:STRING=$(BCC_VERSION) \ |
| -DENABLE_CLANG_JIT:BOOL=ON \ |
| -DENABLE_MAN:BOOL=OFF \ |
| -DENABLE_EXAMPLES:BOOL=OFF \ |
| -DPY_SKIP_DEB_LAYOUT:BOOL=ON |
| |
| define BCC_LINUX_CONFIG_FIXUPS |
| # Enable kernel support for eBPF |
| $(call KCONFIG_ENABLE_OPT,CONFIG_BPF) |
| $(call KCONFIG_ENABLE_OPT,CONFIG_BPF_SYSCALL) |
| $(call KCONFIG_ENABLE_OPT,CONFIG_NET_CLS_BPF) |
| $(call KCONFIG_ENABLE_OPT,CONFIG_NET_ACT_BPF) |
| $(call KCONFIG_ENABLE_OPT,CONFIG_BPF_JIT) |
| # [for Linux kernel versions 4.1 through 4.6] |
| $(call KCONFIG_ENABLE_OPT,CONFIG_HAVE_BPF_JIT) |
| # [for Linux kernel versions 4.7 and later] |
| $(call KCONFIG_ENABLE_OPT,CONFIG_HAVE_EBPF_JIT) |
| $(call KCONFIG_ENABLE_OPT,CONFIG_BPF_EVENTS) |
| # [for Linux kernel versions 5.2 and later] |
| $(call KCONFIG_ENABLE_OPT,CONFIG_IKHEADERS) |
| # bcc needs debugfs at runtime |
| $(call KCONFIG_ENABLE_OPT,CONFIG_DEBUG_FS) |
| endef |
| |
| $(eval $(cmake-package)) |