llvmPackages_17.libclc: init

This commit is contained in:
Weijia Wang 2023-12-12 02:28:36 +01:00
parent 676285f3fa
commit f6da64f8db
4 changed files with 9 additions and 4 deletions

View File

@ -281,7 +281,7 @@ in let
# Has to be in tools despite mostly being a library,
# because we use a native helper executable from a
# non-cross build in cross builds.
libclc = callPackage ./libclc {
libclc = callPackage ../common/libclc.nix {
inherit buildLlvmTools;
};
});

View File

@ -269,6 +269,12 @@ in let
nixSupport.cc-cflags = [ "-fno-exceptions" ];
});
# Has to be in tools despite mostly being a library,
# because we use a native helper executable from a
# non-cross build in cross builds.
libclc = callPackage ../common/libclc.nix {
inherit buildLlvmTools;
};
});
libraries = lib.makeExtensible (libraries: let

View File

@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
outputs = [ "out" "dev" ];
patches = [
./libclc-gnu-install-dirs.patch
./libclc/libclc-gnu-install-dirs.patch
];
# cmake expects all required binaries to be in the same place, so it will not be able to find clang without the patch
@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
--replace 'find_program( LLVM_OPT opt PATHS ''${LLVM_TOOLS_BINARY_DIR} NO_DEFAULT_PATH )' \
'find_program( LLVM_OPT opt PATHS "${buildLlvmTools.llvm}/bin" NO_DEFAULT_PATH )' \
--replace 'find_program( LLVM_SPIRV llvm-spirv PATHS ''${LLVM_TOOLS_BINARY_DIR} NO_DEFAULT_PATH )' \
'find_program( LLVM_SPIRV llvm-spirv PATHS "${buildPackages.spirv-llvm-translator}/bin" NO_DEFAULT_PATH )'
'find_program( LLVM_SPIRV llvm-spirv PATHS "${buildPackages.spirv-llvm-translator.override { inherit (buildLlvmTools) llvm; }}/bin" NO_DEFAULT_PATH )'
'' + lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) ''
substituteInPlace CMakeLists.txt \
--replace 'COMMAND prepare_builtins' 'COMMAND ${buildLlvmTools.libclc.dev}/bin/prepare_builtins'
@ -45,7 +45,6 @@ stdenv.mkDerivation rec {
'';
meta = with lib; {
broken = stdenv.isDarwin;
homepage = "http://libclc.llvm.org/";
description = "Implementation of the library requirements of the OpenCL C programming language";
license = licenses.mit;