Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
35a70a1
readd rc-channel target
h-vetinari Jul 17, 2023
19b301b
MNT: Re-rendered with conda-build 3.25.0, conda-smithy 3.24.0, and co…
h-vetinari Jul 17, 2023
b73c01e
realign some selectors
h-vetinari Jul 17, 2023
d7a15d8
specify MSVC runtime library
h-vetinari Jul 17, 2023
bea09a1
rebase patches
h-vetinari Jul 17, 2023
13a0ee8
build from upstream main branch
h-vetinari Jul 17, 2023
47204e2
deal with library-extension for building from untagged commit
h-vetinari Jul 17, 2023
d30eeb7
Merge pull request #228 from h-vetinari/rc
h-vetinari Jul 18, 2023
a766e9c
Merge remote-tracking branch 'upstream/main' into rc_tmp
h-vetinari Jul 27, 2023
fc8df49
place arch-independent options in main CMake invocation
h-vetinari Jul 27, 2023
da3c0eb
set LLVM_ENABLE_DUMP=ON
h-vetinari Jul 27, 2023
0623e04
MNT: Re-rendered with conda-build 3.26.0, conda-smithy 3.24.1, and co…
h-vetinari Jul 28, 2023
a6e4e10
LLVM 17.0.0.rc1
h-vetinari Jul 29, 2023
afe0197
Merge pull request #233 from h-vetinari/rc
h-vetinari Jul 29, 2023
f031d2a
fix SHA
h-vetinari Jul 29, 2023
2804a08
clarify SOVER_EXT definition in install_llvm.sh
h-vetinari Jul 29, 2023
c32128f
fix `git` suffix that shouldn't be there anymore for rc
h-vetinari Jul 29, 2023
49a9872
bump to 17.0.0.rc2
h-vetinari Aug 8, 2023
2783613
rebase patches
h-vetinari Aug 8, 2023
966c2c3
llvmdev 17.0.0.rc2 (#235)
github-actions[bot] Aug 9, 2023
99fa6e8
Merge remote-tracking branch 'upstream/main' into rc
h-vetinari Aug 9, 2023
8744ce2
update comment about libllvm-c on osx
h-vetinari Aug 22, 2023
38f0720
llvmdev 17.0.0.rc3
h-vetinari Aug 22, 2023
1bc1071
rebase patches
h-vetinari Aug 22, 2023
f0a0174
adapt expected library suffix to new convention
h-vetinari Aug 22, 2023
d6c1b49
adapt install_llvm.sh for rc-suffix
h-vetinari Aug 22, 2023
b778c1b
llvmdev 17.0.0.rc3, forward-port `llvm-c{{ major }}` (#236)
github-actions[bot] Aug 23, 2023
d1f6d26
Merge remote-tracking branch 'upstream/rc' into 17
h-vetinari Sep 19, 2023
1157225
remove rc-channels
h-vetinari Sep 19, 2023
364bfab
llvmdev 17.0.0
h-vetinari Sep 19, 2023
3d0cb4f
MNT: Re-rendered with conda-build 3.26.1, conda-smithy 3.25.1, and co…
h-vetinari Sep 19, 2023
317e4b7
backport patch that removes rc-suffix and missed the GA tag
h-vetinari Sep 19, 2023
9be6a9a
llvmdev 17.0.1
h-vetinari Sep 19, 2023
197437d
add missing jinja-filter to make if-condition work
h-vetinari Sep 19, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 0 additions & 7 deletions .ci_support/migrations/libxml2211.yaml

This file was deleted.

26 changes: 13 additions & 13 deletions README.md

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

3 changes: 3 additions & 0 deletions recipe/bld.bat
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,9 @@ cmake -G "Ninja" ^
-DCMAKE_BUILD_TYPE="Release" ^
-DCMAKE_PREFIX_PATH=%LIBRARY_PREFIX% ^
-DCMAKE_INSTALL_PREFIX:PATH=%LIBRARY_PREFIX% ^
-DCMAKE_MSVC_RUNTIME_LIBRARY=MultiThreadedDLL ^

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

See d7a15d8

-DLLVM_USE_INTEL_JITEVENTS=ON ^
-DLLVM_ENABLE_DUMP=ON ^
-DLLVM_ENABLE_LIBXML2=FORCE_ON ^
-DLLVM_ENABLE_RTTI=ON ^
-DLLVM_ENABLE_ZLIB=FORCE_ON ^
Expand All @@ -23,6 +25,7 @@ cmake -G "Ninja" ^
-DLLVM_INCLUDE_TESTS=ON ^
-DLLVM_INCLUDE_UTILS=ON ^
-DLLVM_INSTALL_UTILS=ON ^
-DLLVM_USE_SYMLINKS=OFF ^

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

See bea09a1

-DLLVM_UTILS_INSTALL_DIR=libexec\llvm ^
-DLLVM_BUILD_LLVM_C_DYLIB=ON ^
-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=WebAssembly ^
Expand Down
5 changes: 3 additions & 2 deletions recipe/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,6 @@ if [[ "$CC_FOR_BUILD" != "" && "$CC_FOR_BUILD" != "$CC" ]]; then
CMAKE_ARGS="${CMAKE_ARGS} -DCROSS_TOOLCHAIN_FLAGS_NATIVE=${NATIVE_FLAGS}"
fi

CMAKE_ARGS="${CMAKE_ARGS} -DLLVM_HOST_TRIPLE=${CONDA_TOOLCHAIN_HOST} -DLLVM_DEFAULT_TARGET_TRIPLE=${CONDA_TOOLCHAIN_HOST}"

# disable -fno-plt due to https://bugs.llvm.org/show_bug.cgi?id=51863 due to some GCC bug
if [[ "$target_platform" == "linux-ppc64le" ]]; then
CFLAGS="$(echo $CFLAGS | sed 's/-fno-plt //g')"
Expand All @@ -37,12 +35,15 @@ cmake -DCMAKE_INSTALL_PREFIX="${PREFIX}" \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_LIBRARY_PATH="${PREFIX}" \
-DLLVM_ENABLE_BACKTRACES=ON \
-DLLVM_ENABLE_DUMP=ON \
-DLLVM_ENABLE_LIBEDIT=OFF \
-DLLVM_ENABLE_LIBXML2=FORCE_ON \
-DLLVM_ENABLE_RTTI=ON \
-DLLVM_ENABLE_TERMINFO=OFF \
-DLLVM_ENABLE_ZLIB=FORCE_ON \
-DLLVM_ENABLE_ZSTD=FORCE_ON \
-DLLVM_DEFAULT_TARGET_TRIPLE=${CONDA_TOOLCHAIN_HOST} \
-DLLVM_HOST_TRIPLE=${CONDA_TOOLCHAIN_HOST} \
-DLLVM_INCLUDE_BENCHMARKS=OFF \
-DLLVM_INCLUDE_DOCS=OFF \
-DLLVM_INCLUDE_EXAMPLES=OFF \
Expand Down
18 changes: 14 additions & 4 deletions recipe/install_llvm.sh
Original file line number Diff line number Diff line change
Expand Up @@ -6,16 +6,26 @@ IFS='.' read -ra VER_ARR <<< "$PKG_VERSION"
# temporary prefix to be able to install files more granularly
mkdir temp_prefix

# default SOVER for tagged releases is just the major version
SOVER_EXT=${VER_ARR[0]}
if [[ "${PKG_VERSION}" == *rc* ]]; then
# rc's get "rc" without the number
SOVER_EXT="${SOVER_EXT}rc"
elif [[ "${PKG_VERSION}" == *dev0 ]]; then
# otherwise with git suffix
SOVER_EXT="${SOVER_EXT}git"
fi

if [[ "${PKG_NAME}" == libllvm-c* ]]; then
cmake --install ./build --prefix=./temp_prefix
# only libLLVM-C
mv ./temp_prefix/lib/libLLVM-C${VER_ARR[0]}${SHLIB_EXT} $PREFIX/lib
mv ./temp_prefix/lib/libLLVM-C${SOVER_EXT}${SHLIB_EXT} $PREFIX/lib
elif [[ "${PKG_NAME}" == libllvm* ]]; then
cmake --install ./build --prefix=./temp_prefix
# all other libraries
mv ./temp_prefix/lib/libLLVM-${VER_ARR[0]}${SHLIB_EXT} $PREFIX/lib
mv ./temp_prefix/lib/lib*.so.${VER_ARR[0]} $PREFIX/lib || true
mv ./temp_prefix/lib/lib*.${VER_ARR[0]}.dylib $PREFIX/lib || true
mv ./temp_prefix/lib/libLLVM-${SOVER_EXT}${SHLIB_EXT} $PREFIX/lib
mv ./temp_prefix/lib/lib*.so.${SOVER_EXT} $PREFIX/lib || true
mv ./temp_prefix/lib/lib*.${SOVER_EXT}.dylib $PREFIX/lib || true
elif [[ "${PKG_NAME}" == "llvm-tools" ]]; then
cmake --install ./build --prefix=./temp_prefix
# everything in /bin & /share
Expand Down
30 changes: 17 additions & 13 deletions recipe/meta.yaml
Original file line number Diff line number Diff line change
@@ -1,23 +1,26 @@
{% set version = "16.0.6" %}
{% set version = "17.0.1" %}
{% set major_ver = version.split(".")[0] %}

# as of LLVM 17, we expect an "rc" suffix for the release candidates
{% set extra = "rc" if version.split(".")[-1]|int not in range(7) else "" %}
{% set extra = "git" if version.split(".")[-1] == "dev0" else extra %}

package:
name: llvm-package
version: {{ version }}

source:
url: https://github.com/llvm/llvm-project/releases/download/llvmorg-{{ version.replace(".rc", "-rc") }}/llvm-project-{{ version.replace(".rc", "rc") }}.src.tar.xz
sha256: ce5e71081d17ce9e86d7cbcfa28c4b04b9300f8fb7e78422b1feb6bc52c3028e
sha256: b0e42aafc01ece2ca2b42e3526f54bebc4b1f1dc8de6e34f46a0446a13e882b9
patches:
# - patches/intel-D47188-svml-VF.patch # Fixes vectorizer and extends SVML support
# - patches/expect-fastmath-entrypoints-in-add-TLI-mappings.ll.patch # adjusts test added in 10.0.0 for intel-D47188-svml-VF.patch effects
# - patches/amd-roc-2.7.0.diff
- patches/0001-pass-through-QEMU_LD_PREFIX-SDKROOT.patch
- patches/0002-Always-copy-on-windows.patch
- patches/0003-restore-macos-10.9-support.patch
- patches/0002-restore-macos-10.9-support.patch

build:
number: 2
number: 0
merge_build_host: false

requirements:
Expand All @@ -38,7 +41,7 @@ requirements:
outputs:
# Contains everything
- name: llvmdev
script: install_llvm.sh # [not win]
script: install_llvm.sh # [unix]
script: install_llvm.bat # [win]
build:
activate_in_script: true
Expand Down Expand Up @@ -87,7 +90,7 @@ outputs:
script: install_llvm.sh # [not win]
build:
activate_in_script: true
run_exports: # [not win]
run_exports: # [not win]
- {{ pin_subpackage("libllvm" + major_ver, max_pin="x.x") }} # [not win]
requirements:
build:
Expand All @@ -105,13 +108,14 @@ outputs:
- libcxx >={{ cxx_compiler_version }} # [osx]
test:
commands:
- test -f $PREFIX/lib/libLLVM-{{ major_ver }}${SHLIB_EXT} # [not win]
- test -f $PREFIX/lib/libLLVM-{{ major_ver }}{{ extra }}.so # [linux]
- test -f $PREFIX/lib/libLLVM-{{ major_ver }}{{ extra }}.dylib # [osx]

# This is a meta package so that people can use the latest libllvm and also
# for run_exports
- name: llvm
build:
run_exports: # [not win]
run_exports: # [not win]
- {{ pin_subpackage("libllvm" + major_ver, max_pin="x.x") }} # [not win]
requirements:
build:
Expand All @@ -120,17 +124,17 @@ outputs:
- libxml2
- zlib
- zstd
run: # [not win]
run: # [not win]
- {{ pin_subpackage("libllvm" + major_ver, exact=True) }} # [not win]
run_constrained: # [not win]
run_constrained: # [not win]
- llvmdev {{ version }} # [not win]
test:
commands:
- echo "Hello World!"

# Contains LLVM tools
- name: llvm-tools
script: install_llvm.sh # [not win]
script: install_llvm.sh # [unix]
script: install_llvm.bat # [win]
build:
activate_in_script: true
Expand Down Expand Up @@ -167,7 +171,7 @@ outputs:
activate_in_script: true
# not supported on linux, see
# https://github.com/llvm/llvm-project/blob/llvmorg-16.0.6/llvm/tools/llvm-shlib/CMakeLists.txt#L82-L85
# TODO osx currently (16.0.6) does not build: raise issue as soon as we've caught up to last release
# osx currently fails as well, see https://github.com/llvm/llvm-project/issues/64657
skip: true # [not win]
requirements:
build:
Expand Down
25 changes: 11 additions & 14 deletions recipe/patches/0001-pass-through-QEMU_LD_PREFIX-SDKROOT.patch
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
From 106633cb03de3c70ef0df4ebc2749ab64cddc12b Mon Sep 17 00:00:00 2001
From 98d274ca29c5ede687835eb0fd788c5e33617298 Mon Sep 17 00:00:00 2001
From: Isuru Fernando <isuruf@gmail.com>
Date: Tue, 4 Aug 2020 21:06:30 -0500
Subject: [PATCH 1/2] pass through QEMU_LD_PREFIX & SDKROOT
Expand All @@ -8,18 +8,15 @@ Subject: [PATCH 1/2] pass through QEMU_LD_PREFIX & SDKROOT
1 file changed, 2 insertions(+)

diff --git a/llvm/utils/lit/lit/TestingConfig.py b/llvm/utils/lit/lit/TestingConfig.py
index c86f27e88b..7a74b2fec4 100644
index 76fd66502009..3009e921b621 100644
--- a/llvm/utils/lit/lit/TestingConfig.py
+++ b/llvm/utils/lit/lit/TestingConfig.py
@@ -26,6 +26,8 @@ class TestingConfig(object):
'LD_LIBRARY_PATH',
'SYSTEMROOT',
'TERM',
+ 'QEMU_LD_PREFIX',
+ 'SDKROOT',
'CLANG',
'LLDB',
'LD_PRELOAD',
--
2.38.1.windows.1

@@ -25,6 +25,8 @@ class TestingConfig(object):
"LD_LIBRARY_PATH",
"SYSTEMROOT",
"TERM",
+ "QEMU_LD_PREFIX",
+ "SDKROOT",
"CLANG",
"LLDB",
"LD_PRELOAD",
32 changes: 0 additions & 32 deletions recipe/patches/0002-Always-copy-on-windows.patch

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
From 9e0190d4f32e250c074c321b33c894a593e1dda7 Mon Sep 17 00:00:00 2001
From 721625044d3b421d647a436b682289fa17533284 Mon Sep 17 00:00:00 2001
From: Isuru Fernando <isuruf@gmail.com>
Date: Wed, 22 Mar 2023 12:25:49 -0500
Subject: [PATCH] restore macos 10.9 support
Subject: [PATCH 2/2] restore macos 10.9 support

ThreadPriority::Low is mapped to ThreadPriority::Background
just like Linux/Windows when macOS is version 10.9
Expand Down Expand Up @@ -56,6 +56,3 @@ index 819748db4ec2..2541a0ca8e5c 100644
#endif
return SetThreadPriorityResult::FAILURE;
}
--
2.37.3