Files
packages/libs/gperftools/Makefile
Josef Schlehofer 8308097182 gperftools: include headers in the staging_dir
This fixes version detection issues when other packages (like snort3)
try to find the tcmalloc library using CMake's find_package(). Without
the headers in the staging directory, CMake cannot read the version
information from tcmalloc.h, resulting in empty version strings.

Fixes:
Found TCMalloc: /builder/staging_dir/target-x86_64_musl/usr/lib/libtcmalloc.so (found version "")

Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
(cherry picked from commit e52a809371)
2025-10-10 08:39:59 +02:00

73 lines
2.3 KiB
Makefile

include $(TOPDIR)/rules.mk
PKG_NAME:=gperftools
PKG_VERSION:=2.17.2
PKG_RELEASE:=2
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/gperftools/gperftools/tar.gz/$(PKG_NAME)-$(PKG_VERSION)?
PKG_HASH:=885dbbf1f25a922de0cdc78b0703c3ab93c43850e1d2f7c889e41be7c824c53d
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_NAME)-$(PKG_VERSION)
PKG_MAINTAINER:=John Audia <therealgraysky@proton.me>
PKG_LICENSE:=BSD-3-Clause
PKG_LICENSE_FILES:=COPYING
PKG_BUILD_FLAGS:=no-mips16
PKG_INSTALL:=1
PKG_BUILD_PARALLEL:=1
PKG_FIXUP:=autoreconf
include $(INCLUDE_DIR)/package.mk
define Package/gperftools-headers
CATEGORY:=Libraries
SECTION:=libs
TITLE:=Gperftools Headers
URL:=https://github.com/gperftools/gperftools
DEPENDS:= @!(powerpc)
endef
define Package/gperftools-runtime
SECTION:=libs
CATEGORY:=Libraries
TITLE:=Gperftools Runtime
URL:=https://github.com/gperftools/gperftools
DEPENDS:=+PACKAGE_libunwind:libunwind +libstdcpp @!(powerpc)
endef
define Package/gperftools-headers/description
Gperftools is a collection of a high-performance multi-threaded malloc() implementation, plus some pretty nifty performance analysis tools.
This package contains the headers.
endef
define Package/gperftools-runtime/description
Gperftools is a collection of a high-performance multi-threaded malloc() implementation, plus some pretty nifty performance analysis tools.
This package contains the shared objects and bins.
endef
CONFIGURE_ARGS += \
--enable-frame-pointers \
$(if $(CONFIG_PACKAGE_libunwind),--enable-libunwind,--disable-libunwind) \
--disable-deprecated-pprof
define Build/InstallDev
$(INSTALL_DIR) $(1)/usr/lib
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libtcmalloc.so* $(1)/usr/lib/
$(INSTALL_DIR) $(1)/usr/include/gperftools
$(CP) $(PKG_INSTALL_DIR)/usr/include/gperftools/*.h $(1)/usr/include/gperftools/
endef
define Package/gperftools-headers/install
$(INSTALL_DIR) $(1)/usr/include/gperftools
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/include/gperftools/tcmalloc.h $(1)/usr/include/gperftools
endef
define Package/gperftools-runtime/install
$(INSTALL_DIR) $(1)/usr/lib
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libtcmalloc.so* $(1)/usr/lib/
endef
$(eval $(call BuildPackage,gperftools-headers))
$(eval $(call BuildPackage,gperftools-runtime))