Add wrapper generator

Change-Id: I34a191acfefbef2e40d0242eb121ba9af55cb9de
Signed-off-by: Galantsev, Dmitrii <dmitrii.galantsev@amd.com>
This commit is contained in:
Galantsev, Dmitrii
2023-10-11 21:54:09 -05:00
zatwierdzone przez Dmitrii Galantsev
rodzic 66eb3de5e4
commit c94036de21
5 zmienionych plików z 92 dodań i 13 usunięć
+5 -4
Wyświetl plik
@@ -1,8 +1,9 @@
# Generate py-interface and package targets
# CLANG installed must be 14.0 or above
set(clang_ver 14.0)
set(ctypeslib_ver 2.3.2)
# CLANG installed must be 16.0 or above
set(clang_ver 16.0)
set(clang_ver_py 16.0.1)
set(ctypeslib_ver_py 2.3.4)
set(PY_BUILD_DIR "python_package")
# amdsmi part of this string is the directory containing all python files
@@ -52,7 +53,7 @@ else()
endif()
add_custom_target(
python_pre_reqs
COMMAND ${Python3_EXECUTABLE} -m pip install ${Python3_BREAK_SYSTEM_PACKAGES} clang==${clang_ver} ctypeslib2==${ctypeslib_ver})
COMMAND ${Python3_EXECUTABLE} -m pip install ${Python3_BREAK_SYSTEM_PACKAGES} clang==${clang_ver_py} ctypeslib2==${ctypeslib_ver_py})
# generate new wrapper
configure_file(${PROJECT_SOURCE_DIR}/tools/generator.py generator.py @ONLY COPYONLY)
add_custom_command(
+43
Wyświetl plik
@@ -0,0 +1,43 @@
FROM ubuntu:latest
# do not prompt in apt
# https://github.com/moby/moby/issues/4032#issuecomment-163689851
ARG DEBIAN_FRONTEND=noninteractive
ARG DEBCONF_NONINTERACTIVE_SEEN=true
# set timezone
ENV TZ="America/Chicago"
RUN ln -snf /usr/share/zoneinfo/${TZ} /etc/localtime && echo ${TZ} > /etc/timezone
RUN apt update --yes \
&& apt install --yes \
build-essential \
cmake \
gnupg \
libdrm-dev \
libpython3-dev \
lsb-release \
pkg-config \
pkg-config \
python3-pip \
software-properties-common \
wget \
&& apt clean \
&& rm -rf /var/cache/apt/ /var/lib/apt/lists/*
WORKDIR /var/tmp
RUN TEMPDIR=$(mktemp -d) \
&& cd $TEMPDIR \
&& wget https://apt.llvm.org/llvm.sh && chmod +x llvm.sh \
&& ./llvm.sh 16 \
&& update-alternatives --install /usr/bin/clang clang $(which clang-16) 91 --slave /usr/bin/clang++ clang++ $(which clang++-16) \
&& python3 -m pip install --no-cache-dir clang==16.0.1 ctypeslib2==2.3.4 -U \
&& rm -rf $TEMPDIR
WORKDIR /src
CMD cp -r /src /tmp/src \
&& cd /tmp/src \
&& rm -rf build .cache \
&& cmake -B build -DBUILD_WRAPPER=ON \
&& make -C build -j $(nproc) \
&& cp /tmp/src/py-interface/amdsmi_wrapper.py /src/py-interface/amdsmi_wrapper.py
+1 -1
Wyświetl plik
@@ -23,7 +23,7 @@
import os
# -*- coding: utf-8 -*-
#
# TARGET arch is: ['-I/usr/lib64/clang/17/include']
# TARGET arch is: ['-I/usr/lib/llvm-16/lib/clang/16/include']
# WORD_SIZE is: 8
# POINTER_SIZE is: 8
# LONGDOUBLE_SIZE is: 16