Skip to content

DPCLANG does not differentiate install targets from CLANG #23267

Description

@dvrogozh

That's resurrection of the following issue for which I do not have permissions to reopen:

Configuring and building https://github.com/intel/llvm/releases/tag/v7.1.1 as follows on Ubuntu 24.04:

cmake -B _build -S llvm -G Ninja \
    -DCMAKE_BUILD_TYPE=Release \
    -DCMAKE_INSTALL_PREFIX=$(pwd)/_install \
    -DBUILD_SHARED_LIBS=ON \
    -DLLVM_BUILD_TOOLS=ON \
    -DLLVM_ENABLE_ASSERTIONS=ON \
    -DLLVM_ENABLE_DOXYGEN=OFF \
    -DLLVM_ENABLE_LLD=OFF \
    -DLLVM_ENABLE_PROJECTS='clang;sycl;llvm-spirv;opencl;xpti;xptifw;compiler-rt;libdevice;sycl-jit' \
    -DLLVM_ENABLE_RTTI=ON \
    -DLLVM_ENABLE_SPHINX=OFF \
    -DLLVM_ENABLE_ZSTD=ON \
    -DLLVM_EXTERNAL_PROJECTS='sycl;llvm-spirv;opencl;xpti;xptifw;compiler-rt;libdevice;sycl-jit' \
    -DLLVM_SPIRV_ENABLE_LIBSPIRV_DIS=OFF \
    -DLLVM_TARGETS_TO_BUILD='host;SPIRV' \
    -DSYCL_ENABLE_EXTENSION_JIT=ON \
    -DSYCL_ENABLE_MAJOR_RELEASE_PREVIEW_LIB=OFF \
    -DSYCL_ENABLE_WERROR=OFF \
    -DSYCL_ENABLE_XPTI_TRACING=ON \
    -DLLVM_EXTERNAL_LIBDEVICE_SOURCE_DIR=$(pwd)/libdevice \
    -DLLVM_EXTERNAL_LLVM_SPIRV_SOURCE_DIR=$(pwd)/llvm-spirv \
    -DLLVM_EXTERNAL_SYCL_JIT_SOURCE_DIR=$(pwd)/sycl-jit \
    -DLLVM_EXTERNAL_SYCL_SOURCE_DIR=$(pwd)/sycl \
    -DLLVM_EXTERNAL_XPTI_SOURCE_DIR=$(pwd)/xpti \
    -DLLVM_EXTERNAL_XPTIFW_SOURCE_DIR=$(pwd)/xptifw \
    -DSYCL_INCLUDE_TESTS=OFF \
    -DXPTI_ENABLE_WERROR=OFF
cmake --build _build
cmake --install _build

I am getting a number of original LLVM targets (such as clang-22) installed into the _install/bin directory which is not expected:

$ ls _install/bin/
amdgpu-arch             clang-sycl-linker  llvm-bcanalyzer          llvm-extract            llvm-opt-report   llvm-windres
analyze-build           clang-tblgen       llvm-bitcode-strip       llvm-foreach            llvm-otool        llvm-xray
append-file             cllayerinfo        llvm-cas                 llvm-gsymutil           llvm-pdbutil      nvptx-arch
bugpoint                diagtool           llvm-cat                 llvm-ifs                llvm-profdata     offload-arch
c-index-test            dpclang            llvm-cfi-verify          llvm-install-name-tool  llvm-profgen      opencl-aot
clang                   dpclang++          llvm-cgdata              llvm-ir2vec             llvm-ranlib       opt
clang++                 dpclang-cl         llvm-config              llvm-jitlink            llvm-rc           reduce-chunk-list
clang-22                dpclang-cpp        llvm-cov                 llvm-lib                llvm-readelf      sancov
clang-check             dpllvm             llvm-c-test              llvm-libtool-darwin     llvm-readobj      sanstats
clang-cl                dpsyclbin-dump     llvm-ctxprof-util        llvm-link               llvm-readtapi     scan-build
clang-cpp               dpsycl-ls          llvm-cvtres              llvm-lipo               llvm-reduce       scan-build-py
clang-extdef-mapping    dpsycl-prof        llvm-cxxdump             llvm-lto                llvm-remarkutil   scan-view
clang-format            dpsycl-sanitize    llvm-cxxfilt             llvm-lto2               llvm-rtdyld       spirv-to-ir-wrapper
clang-installapi        dpsycl-trace       llvm-cxxmap              llvm-mc                 llvm-sim          syclbin-dump
clang-linker-wrapper    dsymutil           llvm-debuginfo-analyzer  llvm-mca                llvm-size         sycl-ls
clang-nvlink-wrapper    file-table-tform   llvm-debuginfod          llvm-ml                 llvm-spirv        sycl-module-split
clang-offload-bundler   git-clang-format   llvm-debuginfod-find     llvm-ml64               llvm-split        sycl-post-link
clang-offload-deps      hmaptool           llvm-diff                llvm-modextract         llvm-stress       sycl-prof
clang-offload-extract   intercept-build    llvm-dis                 llvm-mt                 llvm-strings      sycl-sanitize
clang-offload-packager  llc                llvm-dlltool             llvm-nm                 llvm-strip        sycl-trace
clang-offload-wrapper   lli                llvm-dwarfdump           llvm-objcopy            llvm-symbolizer   verify-uselistorder
clang-refactor          llvm-addr2line     llvm-dwarfutil           llvm-objdump            llvm-tblgen
clang-repl              llvm-ar            llvm-dwp                 llvm-offload-binary     llvm-tli-checker
clang-scan-deps         llvm-as            llvm-exegesis            llvm-offload-wrapper    llvm-undname

Expectation is that dpclang compiler can be installed system-wide without overriding targets installed from other packages.

CC: @dm-vodopyanov, @sarnex, @androniychuk

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions