Add wrapper generator
Change-Id: I34a191acfefbef2e40d0242eb121ba9af55cb9de Signed-off-by: Galantsev, Dmitrii <dmitrii.galantsev@amd.com>
This commit is contained in:
zatwierdzone przez
Dmitrii Galantsev
rodzic
66eb3de5e4
commit
c94036de21
@@ -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(
|
||||
|
||||
@@ -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
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user