diff --git a/libs/hwloc/Makefile b/libs/hwloc/Makefile new file mode 100644 index 000000000..bf2dbfa64 --- /dev/null +++ b/libs/hwloc/Makefile @@ -0,0 +1,92 @@ +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +include $(TOPDIR)/rules.mk + +PKG_NAME:=hwloc +PKG_VERSION:=2.0.1 +PKG_RELEASE:=1 + +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz +PKG_SOURCE_URL:=https://download.open-mpi.org/release/$(PKG_NAME)/v2.0/ +PKG_HASH:=f1156df22fc2365a31a3dc5f752c53aad49e34a5e22d75ed231cd97eaa437f9d + +PKG_LICENSE:=BSD-3-Clause +PKG_MAINTAINER:=W. Michael Petullo +PKG_INSTALL:=1 + +PKG_FIXUP:=autoreconf + +include $(INCLUDE_DIR)/package.mk + +define Package/hwloc/Default + SECTION:=libs + CATEGORY:=Libraries + TITLE:=Portable Hardware Locality + URL:=https://www.open-mpi.org/projects/hwloc/ +endef + +define Package/hwloc/Default/description + The Portable Hardware Locality (hwloc) software package provides a + portable abstraction (across OS, versions, architectures, ...) of the + hierarchical topology of modern architectures, including NUMA memory + nodes, sockets, shared caches, cores and simultaneous multithreading. It + also gathers various system attributes such as cache and memory + information as well as the locality of I/O devices such as network + interfaces, InfiniBand HCAs or GPUs. +endef + +define Package/hwloc-utils +$(call Package/hwloc/Default) + SECTION:=utils + CATEGORY:=Utilities + TITLE+= utilities + DEPENDS+= +libhwloc +endef + +define Package/hwloc-utils/description +$(call Package/hwloc/Default/description) + This package contains the hwloc utilities. +endef + +define Package/libhwloc +$(call Package/hwloc/Default) + SECTION:=libs + CATEGORY:=Libraries + TITLE+= libraries +endef + +define Package/libhwloc/description +$(call Package/hwloc/Default/description) + This package contains the hwloc libraries. +endef + +define Build/InstallDev + $(INSTALL_DIR) $(STAGING_DIR)/usr/include + $(CP) $(PKG_INSTALL_DIR)/usr/include/hwloc.h $(STAGING_DIR)/usr/include/ + $(INSTALL_DIR) $(STAGING_DIR)/usr/include/hwloc + $(CP) $(PKG_INSTALL_DIR)/usr/include/hwloc/*.h $(STAGING_DIR)/usr/include/hwloc/ + $(INSTALL_DIR) $(STAGING_DIR)/usr/include/hwloc/autogen + $(CP) $(PKG_INSTALL_DIR)/usr/include/hwloc/autogen/*.h $(STAGING_DIR)/usr/include/hwloc/autogen/ + $(INSTALL_DIR) $(STAGING_DIR)/usr/lib + $(CP) $(PKG_INSTALL_DIR)/usr/lib/lib* $(STAGING_DIR)/usr/lib/ + $(INSTALL_DIR) $(1)/usr/lib/pkgconfig + $(INSTALL_DATA) \ + $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/*.pc \ + $(1)/usr/lib/pkgconfig +endef + +define Package/hwloc-utils/install + $(INSTALL_DIR) $(1)/usr/bin + $(CP) $(PKG_INSTALL_DIR)/usr/bin/* $(1)/usr/bin/ +endef + +define Package/libhwloc/install + $(INSTALL_DIR) $(1)/usr/lib + $(CP) $(PKG_INSTALL_DIR)/usr/lib/*.so* $(1)/usr/lib/ +endef + +$(eval $(call BuildPackage,hwloc-utils)) +$(eval $(call BuildPackage,libhwloc))