Skip to content

Commit

Permalink
Merge pull request #40 from ZzEeKkAa/fix/dpcpp_headers_location_and_m…
Browse files Browse the repository at this point in the history
…etadata

Fix/dpcpp headers location and metadata
  • Loading branch information
napetrov authored Jun 26, 2024
2 parents 3ba576f + ff54602 commit 1ba8746
Show file tree
Hide file tree
Showing 11 changed files with 66 additions and 20 deletions.
8 changes: 5 additions & 3 deletions .ci_support/linux_64_.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
binutils_version:
- '2.30'
c_compiler:
- gcc
c_compiler_version:
- '12'
- 7.5.0
c_stdlib:
- sysroot
c_stdlib_version:
Expand All @@ -17,7 +19,7 @@ curl:
cxx_compiler:
- gxx
cxx_compiler_version:
- '12'
- 7.5.0
docker_image:
- quay.io/condaforge/linux-anvil-cos7-x86_64
libxml2:
Expand All @@ -32,4 +34,4 @@ zip_keys:
- - c_stdlib_version
- cdt_name
zlib:
- '1.2'
- '1'
2 changes: 1 addition & 1 deletion .ci_support/win_64_.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -25,4 +25,4 @@ python:
target_platform:
- win-64
zlib:
- '1.2'
- '1'
4 changes: 2 additions & 2 deletions .gitattributes

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion .github/CODEOWNERS

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

7 changes: 7 additions & 0 deletions .scripts/build_steps.sh

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 5 additions & 0 deletions .scripts/run_win_build.bat

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions README.md

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion conda-forge.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
conda_forge_output_validation: true
build_with_mambabuild: false
conda_build_tool: conda-build
github:
branch_name: main
tooling_branch_name: main
Expand Down
8 changes: 8 additions & 0 deletions recipe/conda_build_config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# Refer version dependencies at
# https://www.intel.com/content/www/us/en/developer/articles/system-requirements/intel-oneapi-dpcpp-system-requirements.html
c_compiler_version: # [linux]
- 7.5.0 # [linux]
cxx_compiler_version: # [linux]
- 7.5.0 # [linux]
binutils_version: # [linux]
- 2.30 # [linux]
38 changes: 26 additions & 12 deletions recipe/meta.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
{% set intel_ch = "https://anaconda.org/intel" %}

# use this if our build script changes and we need to increment beyond intel's version
{% set dst_build_number = '0' %}
{% set dst_build_number = '1' %}
{% set build_number = intel_build_number|int + dst_build_number|int %}

package:
Expand Down Expand Up @@ -71,6 +71,7 @@ outputs:
build:
- {{ compiler('c') }}
- {{ compiler('cxx') }}
- {{ stdlib('c') }}
host:
- ocl-icd # [linux]
- khronos-opencl-icd-loader # [win]
Expand Down Expand Up @@ -100,6 +101,7 @@ outputs:
requirements:
build:
- {{ compiler('c') }}
- {{ stdlib('c') }}
- patchelf # [linux]
host:
- {{ pin_subpackage('intel-cmplr-lib-rt', exact=True) }}
Expand Down Expand Up @@ -139,7 +141,7 @@ outputs:
build:
- {{ compiler('c') }}
- {{ compiler('cxx') }}
- sysroot_linux-64 2.17 # [linux]
- {{ stdlib('c') }}
- patchelf # [linux]
host:
- tbb-devel {{ tbb_version.split('.')[0] }}.*
Expand Down Expand Up @@ -190,6 +192,7 @@ outputs:
build:
- {{ compiler('c') }}
- {{ compiler('cxx') }}
- {{ stdlib('c') }}
host:
- {{ pin_subpackage('intel-cmplr-lib-rt', exact=True) }}
- ocl-icd # [linux]
Expand Down Expand Up @@ -226,16 +229,20 @@ outputs:
binary_relocation: False
overlinking_ignore_patterns:
- "**"
ignore_run_exports_from:
- {{ c_stdlib }}_{{ target_platform }}
run_exports:
# 1. strong so it gets added if this package is in the build requirement section.
# 2. Pin to year for now, similar to MKL.
strong:
- {{ pin_subpackage("dpcpp-cpp-rt", max_pin="x") }}
- __glibc >=2.17,<3.0.a0 # [linux64]
- {{ pin_compatible("libgcc-ng") }} # [linux64]
- {{ pin_compatible("libstdcxx-ng") }} # [linux64]
requirements:
build:
- {{ compiler('c') }}
- {{ compiler('cxx') }}
- {{ stdlib('c') }}
host:
- zlib
- libxml2
Expand All @@ -247,10 +254,14 @@ outputs:
- llvm-openmp # [not linux]
run:
- {{ pin_subpackage('dpcpp-cpp-rt', exact=True) }}
- sysroot_linux-64 2.17 # [linux64]
- gcc_impl_linux-64 # [linux64]
- gxx_impl_linux-64 # [linux64]

- binutils_impl_{{ target_platform }} >={{ binutils_version }} # [linux]
- libgcc-devel_{{ target_platform }} >={{ c_compiler_version }} # [linux]
- libstdcxx-devel_{{ target_platform }} >={{ cxx_compiler_version }} # [linux]
# None of the other compilers pin to sysroot, so we don't either. It
# also appears that sysroot version must be aligned with host system,
# e.g.:
# https://github.com/conda-forge/ctng-compiler-activation-feedstock/issues/108
- {{ c_stdlib }}_{{ target_platform }}
about:
home: https://software.intel.com/content/www/us/en/develop/tools.html
doc_url: https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/dpc-compiler.html
Expand Down Expand Up @@ -282,11 +293,11 @@ outputs:
# 2. Pin to year for now, similar to MKL.
strong:
- {{ pin_subpackage("dpcpp-cpp-rt", max_pin="x") }}
- __glibc >=2.17,<3.0.a0 # [linux64]
requirements: # [linux64 or win64]
run: # [linux64 or win64]
- {{ pin_subpackage('dpcpp_impl_linux-64', exact=True) }} # [linux64]
- {{ pin_subpackage('dpcpp_impl_win-64', exact=True) }} # [win64]
requirements:
run:
- {{ pin_subpackage('dpcpp_impl_' ~ target_platform, exact=True) }}
- binutils_{{ target_platform }} >={{ binutils_version }} # [linux]
- {{ c_stdlib }}_{{ target_platform }}
about:
home: https://software.intel.com/content/www/us/en/develop/tools.html
doc_url: https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/dpc-compiler.html
Expand All @@ -304,6 +315,7 @@ outputs:
requires:
- {{ compiler('c') }}
- {{ compiler('cxx') }}
- {{ stdlib('c') }}
files:
- simple.cpp
commands:
Expand All @@ -328,6 +340,7 @@ outputs:
build:
- {{ compiler('c') }}
- {{ compiler('cxx') }}
- {{ stdlib('c') }}
host:
- mpich # [linux]
- {{ pin_subpackage('intel-cmplr-lib-rt', exact=True) }}
Expand Down Expand Up @@ -367,3 +380,4 @@ extra:
- napetrov
- tomashek
- oleksandr-pavlyk
- ZzEeKkAa
9 changes: 9 additions & 0 deletions recipe/repack.sh
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,15 @@ set -ex

src="${SRC_DIR}/${PKG_NAME}"

# TODO: remove once fixed in the upstream
if [[ "$PKG_NAME" == "dpcpp_impl_linux-64" ]]; then
# Move intel specific headers files from the global include directory to
# allow other compilers work in the same environment.
find ${src}/include -maxdepth 1 -type f -exec mv {} ${src}/opt/compiler/include \;
# Move it to the sycl directory to much structure with /opt/intel/include
mv ${src}/lib/clang/18/include/CL ${src}/include/sycl/CL
fi

cp -av "${src}"/* "${PREFIX}/"

# replace old info folder with our new regenerated one
Expand Down

1 comment on commit 1ba8746

@conda-forge-webservices
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi! This is the friendly automated conda-forge-webservice.

I updated the Github team because of this commit.

You should get push access to this feedstock and CI services.

Your package won't be available for installation locally until it is built
and synced to the anaconda.org CDN (takes 1-2 hours after the build finishes).

Feel free to join the community Element channel.

NOTE: Please make sure to not push to the repository directly.
Use branches in your fork for any changes and send a PR.
More details on this are here.

Please sign in to comment.