Add OpenCL
This commit is contained in:
parent
a7ad11d5cb
commit
197c403fa0
2 changed files with 60 additions and 0 deletions
|
@ -27,6 +27,7 @@ ffbuild_dockerbuild() {
|
|||
local myconf=(
|
||||
--prefix="/usr/$FFBUILD_TOOLCHAIN"
|
||||
--host="$FFBUILD_TOOLCHAIN"
|
||||
--with-default-win32-winnt="0x601"
|
||||
--enable-idl
|
||||
)
|
||||
|
||||
|
|
59
scripts.d/45-opencl.sh
Executable file
59
scripts.d/45-opencl.sh
Executable file
|
@ -0,0 +1,59 @@
|
|||
#!/bin/bash
|
||||
|
||||
HEADERS_REPO="https://github.com/KhronosGroup/OpenCL-Headers.git"
|
||||
HEADERS_COMMIT="b316a57d5b8e3ae4a19c3b344c52ba86a4b7e790"
|
||||
|
||||
LOADER_REPO="https://github.com/KhronosGroup/OpenCL-ICD-Loader.git"
|
||||
LOADER_COMMIT="b3b483303b160db080857288c1b53e8152f62b98"
|
||||
|
||||
ffbuild_enabled() {
|
||||
return 0
|
||||
}
|
||||
|
||||
ffbuild_dockerstage() {
|
||||
to_df "ADD $SELF /stage.sh"
|
||||
to_df "RUN run_stage"
|
||||
}
|
||||
|
||||
ffbuild_dockerbuild() {
|
||||
mkdir opencl && cd opencl
|
||||
|
||||
git-mini-clone "$HEADERS_REPO" "$HEADERS_COMMIT" headers
|
||||
mkdir -p "$FFBUILD_PREFIX"/include/CL
|
||||
cp -r headers/CL/* "$FFBUILD_PREFIX"/include/CL/.
|
||||
|
||||
git-mini-clone "$LOADER_REPO" "$LOADER_COMMIT" loader
|
||||
cd loader
|
||||
|
||||
mkdir build && cd build
|
||||
|
||||
cmake -DCMAKE_TOOLCHAIN_FILE="$FFBUILD_CMAKE_TOOLCHAIN" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="$FFBUILD_PREFIX" -DOPENCL_ICD_LOADER_HEADERS_DIR="$FFBUILD_PREFIX"/include -DBUILD_SHARED_LIBS=OFF -DOPENCL_ICD_LOADER_DISABLE_OPENCLON12=ON -DOPENCL_ICD_LOADER_PIC=ON -DOPENCL_ICD_LOADER_BUILD_TESTING=OFF ..
|
||||
make -j$(nproc)
|
||||
make install
|
||||
|
||||
echo "prefix=$FFBUILD_PREFIX" > OpenCL.pc
|
||||
echo "exec_prefix=\${prefix}" >> OpenCL.pc
|
||||
echo "libdir=\${exec_prefix}/lib" >> OpenCL.pc
|
||||
echo "includedir=\${prefix}/include" >> OpenCL.pc
|
||||
echo >> OpenCL.pc
|
||||
echo "Name: OpenCL" >> OpenCL.pc
|
||||
echo "Description: OpenCL ICD Loader" >> OpenCL.pc
|
||||
echo "Version: 9999" >> OpenCL.pc
|
||||
echo "Libs: -L\${libdir} -lOpenCL" >> OpenCL.pc
|
||||
echo "Libs.private: -lole32 -lshlwapi -lcfgmgr32" >> OpenCL.pc
|
||||
echo "Cflags: -I\${includedir}" >> OpenCL.pc
|
||||
|
||||
mkdir -p "$FFBUILD_PREFIX"/lib/pkgconfig
|
||||
mv OpenCL.pc "$FFBUILD_PREFIX"/lib/pkgconfig/OpenCL.pc
|
||||
|
||||
cd ../../..
|
||||
rm -rf opencl
|
||||
}
|
||||
|
||||
ffbuild_configure() {
|
||||
echo --enable-opencl
|
||||
}
|
||||
|
||||
ffbuild_unconfigure() {
|
||||
echo --disable-opencl
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue