diff --git a/DEBIAN/control b/DEBIAN/control index 563a85813d..37474f0f19 100644 --- a/DEBIAN/control +++ b/DEBIAN/control @@ -3,6 +3,6 @@ Architecture: amd64 Maintainer: Advanced Micro Devices Inc. Depends: Priority: optional -Version: 1.8.1 +Version: 2.0.0 Description: Thunk library for AMD KFD diff --git a/DEBIAN/postinst b/DEBIAN/postinst new file mode 100755 index 0000000000..b3919c75d4 --- /dev/null +++ b/DEBIAN/postinst @@ -0,0 +1,7 @@ +#!/bin/bash + +set -e + +echo "Updating ldconfig" +ldconfig +echo "Done" diff --git a/DEBIAN/x86_64-libhsakmt.conf b/DEBIAN/x86_64-libhsakmt.conf new file mode 100644 index 0000000000..a4551d4820 --- /dev/null +++ b/DEBIAN/x86_64-libhsakmt.conf @@ -0,0 +1 @@ +/opt/rocm/lib diff --git a/RPM/libhsakmt.spec b/RPM/libhsakmt.spec index b9855fcd24..ad24a7eb8c 100644 --- a/RPM/libhsakmt.spec +++ b/RPM/libhsakmt.spec @@ -1,5 +1,5 @@ %define name libhsakmt -%define version 1.8.1 +%define version 2.0.0 %define thunkroot %{getenv:OUT_DIR} Name: %{name} @@ -21,6 +21,12 @@ for AMD KFD cp -R %thunkroot/build/thunk/rpm/libhsakmt $RPM_BUILD_ROOT find $RPM_BUILD_ROOT \! -type d | sed "s|$RPM_BUILD_ROOT||"> thunk.list +%post +ldconfig + +%postun +ldconfig + %clean rm -rf $RPM_BUILD_ROOT diff --git a/src/Makefile b/src/Makefile index 143385b5f6..c6828e9ae1 100644 --- a/src/Makefile +++ b/src/Makefile @@ -1,5 +1,6 @@ # Include directories -INCLUDES += ../include +INCLUDE_DIR := ../include +INCLUDES += $(INCLUDE_DIR) CFLAGS += $(foreach DIR,$(INCLUDES),-I$(DIR)) LIB_NAME = libhsakmt.so @@ -39,6 +40,7 @@ ifdef O else BUILD_ROOT := ../build endif +BUILD_ROOT := $(abspath $(BUILD_ROOT)) BUILDDIR = $(BUILD_ROOT)/$(MAKECMDGOALS) TARGET = $(addprefix $(BUILDDIR)/,$(OBJS)) @@ -54,18 +56,29 @@ lnx: LDFLAGS += -m32 lnx: $(BUILDDIR)/$(LIB_NAME) PACKAGE_DIR = $(BUILDDIR)/libhsakmt -INSTALL_DIR_DEB = $(PACKAGE_DIR)/usr/lib/x86_64-linux-gnu -INSTALL_DIR_RPM = $(PACKAGE_DIR)/usr/lib64 +DEBIAN_DIR = ../DEBIAN +LDCONF_FILE = $(DEBIAN_DIR)/x86_64-libhsakmt.conf +LDCONF_INSTALL_DIR = $(PACKAGE_DIR)/etc/ld.so.conf.d +INSTALL_LIB_DIR = $(PACKAGE_DIR)/opt/rocm/lib +INSTALL_INCLUDE_DIR = $(PACKAGE_DIR)/opt/rocm/include/libhsakmt deb: lnx64a - @mkdir -p $(INSTALL_DIR_DEB) - @cp $(BUILDDIR)/libhsakmt.so* $(INSTALL_DIR_DEB) - @cp -r ../DEBIAN $(PACKAGE_DIR) + @mkdir -p $(INSTALL_LIB_DIR) + @mkdir -p $(INSTALL_INCLUDE_DIR) + @mkdir -p $(LDCONF_INSTALL_DIR) + @cp -r $(INCLUDE_DIR)/* $(INSTALL_INCLUDE_DIR) + @cp $(BUILDDIR)/libhsakmt.so* $(INSTALL_LIB_DIR) + @cp -r $(LDCONF_FILE) $(LDCONF_INSTALL_DIR) + @cp -r $(DEBIAN_DIR) $(PACKAGE_DIR) @fakeroot dpkg-deb --build $(PACKAGE_DIR) $(BUILDDIR)/libhsakmt.deb rpm: lnx64a - mkdir -p $(INSTALL_DIR_RPM) - @cp $(BUILDDIR)/libhsakmt.so* $(INSTALL_DIR_RPM) + @mkdir -p $(INSTALL_LIB_DIR) + @mkdir -p $(INSTALL_INCLUDE_DIR) + @mkdir -p $(LDCONF_INSTALL_DIR) + @cp -r $(INCLUDE_DIR)/* $(INSTALL_INCLUDE_DIR) + @cp $(BUILDDIR)/libhsakmt.so* $(INSTALL_LIB_DIR) + @cp -r $(LDCONF_FILE) $(LDCONF_INSTALL_DIR) @rpmbuild --define '_topdir $(BUILD_ROOT)/rpm' -ba $(THUNK_ROOT)/RPM/libhsakmt.spec lnx64a: $(BUILDDIR)/$(LIB_NAME)