Merge pull request #14026 from neheb/hwl
[feed/packages.git] / libs / hwloc / Makefile
1 #
2 # This is free software, licensed under the GNU General Public License v2.
3 # See /LICENSE for more information.
4 #
5
6 include $(TOPDIR)/rules.mk
7
8 PKG_NAME:=hwloc
9 PKG_VERSION:=2.3.0
10 PKG_RELEASE:=1
11
12 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
13 PKG_SOURCE_URL:=https://download.open-mpi.org/release/$(PKG_NAME)/v2.3
14 PKG_HASH:=b607f6097873f69ef6b4b01e66e0dcb45f9939e8979827284664bbf0d4018a64
15
16 PKG_MAINTAINER:=W. Michael Petullo <mike@flyn.org>
17 PKG_LICENSE:=BSD-3-Clause
18 PKG_LICENSE_FILES:=COPYING
19
20 PKG_INSTALL:=1
21 PKG_BUILD_PARALLEL:=1
22
23 include $(INCLUDE_DIR)/package.mk
24
25 define Package/hwloc/Default
26 SECTION:=libs
27 CATEGORY:=Libraries
28 TITLE:=Portable Hardware Locality
29 URL:=https://www.open-mpi.org/projects/hwloc/
30 endef
31
32 define Package/hwloc/Default/description
33 The Portable Hardware Locality (hwloc) software package provides a
34 portable abstraction (across OS, versions, architectures, ...) of the
35 hierarchical topology of modern architectures, including NUMA memory
36 nodes, sockets, shared caches, cores and simultaneous multithreading. It
37 also gathers various system attributes such as cache and memory
38 information as well as the locality of I/O devices such as network
39 interfaces, InfiniBand HCAs or GPUs.
40 endef
41
42 define Package/hwloc-utils
43 $(call Package/hwloc/Default)
44 SECTION:=utils
45 CATEGORY:=Utilities
46 TITLE+= utilities
47 DEPENDS+= +libhwloc +libncurses
48 endef
49
50 define Package/hwloc-utils/description
51 $(call Package/hwloc/Default/description)
52 This package contains the hwloc utilities.
53 endef
54
55 define Package/libhwloc
56 $(call Package/hwloc/Default)
57 SECTION:=libs
58 CATEGORY:=Libraries
59 TITLE+= libraries
60 DEPENDS+=+libpciaccess
61 endef
62
63 define Package/libhwloc/description
64 $(call Package/hwloc/Default/description)
65 This package contains the hwloc libraries.
66 endef
67
68 CONFIGURE_ARGS += \
69 --disable-libxml2 \
70 --disable-libudev
71
72 define Build/InstallDev
73 $(INSTALL_DIR) $(STAGING_DIR)/usr/include
74 $(CP) $(PKG_INSTALL_DIR)/usr/include/hwloc.h $(STAGING_DIR)/usr/include/
75 $(INSTALL_DIR) $(STAGING_DIR)/usr/include/hwloc
76 $(CP) $(PKG_INSTALL_DIR)/usr/include/hwloc/*.h $(STAGING_DIR)/usr/include/hwloc/
77 $(INSTALL_DIR) $(STAGING_DIR)/usr/include/hwloc/autogen
78 $(CP) $(PKG_INSTALL_DIR)/usr/include/hwloc/autogen/*.h $(STAGING_DIR)/usr/include/hwloc/autogen/
79 $(INSTALL_DIR) $(STAGING_DIR)/usr/lib
80 $(CP) $(PKG_INSTALL_DIR)/usr/lib/lib* $(STAGING_DIR)/usr/lib/
81 $(INSTALL_DIR) $(1)/usr/lib/pkgconfig
82 $(INSTALL_DATA) \
83 $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/*.pc \
84 $(1)/usr/lib/pkgconfig
85 endef
86
87 define Package/hwloc-utils/install
88 $(INSTALL_DIR) $(1)/usr/bin
89 $(CP) $(PKG_INSTALL_DIR)/usr/bin/* $(1)/usr/bin/
90 endef
91
92 define Package/libhwloc/install
93 $(INSTALL_DIR) $(1)/usr/lib
94 $(CP) $(PKG_INSTALL_DIR)/usr/lib/*.so* $(1)/usr/lib/
95 endef
96
97 $(eval $(call BuildPackage,hwloc-utils))
98 $(eval $(call BuildPackage,libhwloc))