llvm — llvm21_build → 21.1.0,llvm21_dev → 21.1.0,llvm21_lib → 21.1.0,buildessential,libclc → 21.1.0,mesa → 25.2.1,openmp → 21.1.0,sommelier → 20250422,spirv_llvm_translator → 21.1.0 (#12657)

* llvm => 21.1.0

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* llvm: Build Run on linux/arm/v7.

* llvm: Build Run on linux/amd64.

* llvm: Build Run on linux/386.

* llvm: Package File Update Run on linux/386 container.

* add llvm updates

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* llvm: Build Run on linux/arm/v7.

* llvm: Build Run on linux/386.

* llvm: Build Run on linux/amd64.

* llvm: Package File Update Run on linux/386 container.

* Update spirv_llvm_translator

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* Add x86_64 mesa and sommelier builds.

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* llvm: Build Run on linux/arm/v7.

* llvm: Package File Update Run on linux/386 container.

---------

Signed-off-by: Satadru Pramanik <satadru@gmail.com>
Co-authored-by: Satadru Pramanik <satadru@gmail.com>
Co-authored-by: satmandu <satmandu@users.noreply.github.com>
Co-authored-by: chromebrew-actions[bot] <chromebrew-actions[bot]@users.noreply.github.com>
This commit is contained in:
chromebrew-actions[bot]
2025-08-28 01:59:53 -05:00
committed by GitHub
parent ccf33afc09
commit 58512da5f7
34 changed files with 30933 additions and 578 deletions

View File

@@ -4,7 +4,7 @@ require 'etc'
require 'open3'
OLD_CREW_VERSION ||= defined?(CREW_VERSION) ? CREW_VERSION : '1.0'
CREW_VERSION ||= '1.65.6' unless defined?(CREW_VERSION) && CREW_VERSION == OLD_CREW_VERSION
CREW_VERSION ||= '1.65.7' unless defined?(CREW_VERSION) && CREW_VERSION == OLD_CREW_VERSION
# Kernel architecture.
KERN_ARCH ||= Etc.uname[:machine]
@@ -359,7 +359,7 @@ PY3_PIP_RETRIES ||= ENV.fetch('PY3_PIP_RETRIES', '5') unless de
CREW_GCC_VER ||= Kernel.system('which gcc', %i[out err] => File::NULL) ? "gcc#{`gcc -dumpversion`.chomp}" : 'gcc15' unless defined?(CREW_GCC_VER)
CREW_ICU_VER ||= Kernel.system('which uconv', %i[out err] => File::NULL) ? "icu#{`uconv --version`.chomp.split[3]}" : 'icu77.1' unless defined?(CREW_ICU_VER)
CREW_LLVM_VER ||= Kernel.system('which llvm-config', %i[out err] => File::NULL) ? "llvm#{`llvm-config --version`.chomp.split('.')[0]}" : 'llvm20' unless defined?(CREW_LLVM_VER)
CREW_LLVM_VER ||= Kernel.system('which llvm-config', %i[out err] => File::NULL) ? "llvm#{`llvm-config --version`.chomp.split('.')[0]}" : 'llvm21' unless defined?(CREW_LLVM_VER)
CREW_PERL_VER ||= Kernel.system('which perl', %i[out err] => File::NULL) ? "perl#{`perl --version|xargs|cut -d\\( -f2|cut -d\\) -f1|cut -dv -f2`.chomp.sub(/\.\d+$/, '')}" : 'perl5.42' unless defined?(CREW_PERL_VER)
CREW_PY_VER ||= Kernel.system("#{CREW_PREFIX}/bin/python3 --version", %i[out err] => File::NULL) ? "py#{`python3 -c "print('.'.join(__import__('platform').python_version_tuple()[:2]))"`.chomp}" : 'py3.13' unless defined?(CREW_PY_VER)
CREW_RUBY_VER ||= "ruby#{RUBY_VERSION.slice(/(?:.*(?=\.))/)}" unless defined?(CREW_RUBY_VER)

View File

@@ -1,269 +1,4 @@
# Total size: 81821204
/usr/local/include/clc/as_type.h
/usr/local/include/clc/async/async_work_group_copy.h
/usr/local/include/clc/async/async_work_group_copy.inc
/usr/local/include/clc/async/async_work_group_strided_copy.h
/usr/local/include/clc/async/async_work_group_strided_copy.inc
/usr/local/include/clc/async/gentype.inc
/usr/local/include/clc/async/prefetch.h
/usr/local/include/clc/async/prefetch.inc
/usr/local/include/clc/async/wait_group_events.h
/usr/local/include/clc/atom_decl_int32.inc
/usr/local/include/clc/atom_decl_int64.inc
/usr/local/include/clc/atomic/atomic_add.h
/usr/local/include/clc/atomic/atomic_and.h
/usr/local/include/clc/atomic/atomic_cmpxchg.h
/usr/local/include/clc/atomic/atomic_dec.h
/usr/local/include/clc/atomic/atomic_decl.inc
/usr/local/include/clc/atomic/atomic_inc.h
/usr/local/include/clc/atomic/atomic_max.h
/usr/local/include/clc/atomic/atomic_min.h
/usr/local/include/clc/atomic/atomic_or.h
/usr/local/include/clc/atomic/atomic_sub.h
/usr/local/include/clc/atomic/atomic_xchg.h
/usr/local/include/clc/atomic/atomic_xor.h
/usr/local/include/clc/cl_khr_global_int32_base_atomics/atom_add.h
/usr/local/include/clc/cl_khr_global_int32_base_atomics/atom_cmpxchg.h
/usr/local/include/clc/cl_khr_global_int32_base_atomics/atom_dec.h
/usr/local/include/clc/cl_khr_global_int32_base_atomics/atom_inc.h
/usr/local/include/clc/cl_khr_global_int32_base_atomics/atom_sub.h
/usr/local/include/clc/cl_khr_global_int32_base_atomics/atom_xchg.h
/usr/local/include/clc/cl_khr_global_int32_extended_atomics/atom_and.h
/usr/local/include/clc/cl_khr_global_int32_extended_atomics/atom_max.h
/usr/local/include/clc/cl_khr_global_int32_extended_atomics/atom_min.h
/usr/local/include/clc/cl_khr_global_int32_extended_atomics/atom_or.h
/usr/local/include/clc/cl_khr_global_int32_extended_atomics/atom_xor.h
/usr/local/include/clc/cl_khr_int64_base_atomics/atom_add.h
/usr/local/include/clc/cl_khr_int64_base_atomics/atom_cmpxchg.h
/usr/local/include/clc/cl_khr_int64_base_atomics/atom_dec.h
/usr/local/include/clc/cl_khr_int64_base_atomics/atom_inc.h
/usr/local/include/clc/cl_khr_int64_base_atomics/atom_sub.h
/usr/local/include/clc/cl_khr_int64_base_atomics/atom_xchg.h
/usr/local/include/clc/cl_khr_int64_extended_atomics/atom_and.h
/usr/local/include/clc/cl_khr_int64_extended_atomics/atom_max.h
/usr/local/include/clc/cl_khr_int64_extended_atomics/atom_min.h
/usr/local/include/clc/cl_khr_int64_extended_atomics/atom_or.h
/usr/local/include/clc/cl_khr_int64_extended_atomics/atom_xor.h
/usr/local/include/clc/cl_khr_local_int32_base_atomics/atom_add.h
/usr/local/include/clc/cl_khr_local_int32_base_atomics/atom_cmpxchg.h
/usr/local/include/clc/cl_khr_local_int32_base_atomics/atom_dec.h
/usr/local/include/clc/cl_khr_local_int32_base_atomics/atom_inc.h
/usr/local/include/clc/cl_khr_local_int32_base_atomics/atom_sub.h
/usr/local/include/clc/cl_khr_local_int32_base_atomics/atom_xchg.h
/usr/local/include/clc/cl_khr_local_int32_extended_atomics/atom_and.h
/usr/local/include/clc/cl_khr_local_int32_extended_atomics/atom_max.h
/usr/local/include/clc/cl_khr_local_int32_extended_atomics/atom_min.h
/usr/local/include/clc/cl_khr_local_int32_extended_atomics/atom_or.h
/usr/local/include/clc/cl_khr_local_int32_extended_atomics/atom_xor.h
/usr/local/include/clc/clc.h
/usr/local/include/clc/clcmacros.h
/usr/local/include/clc/common/degrees.h
/usr/local/include/clc/common/degrees.inc
/usr/local/include/clc/common/mix.h
/usr/local/include/clc/common/mix.inc
/usr/local/include/clc/common/radians.h
/usr/local/include/clc/common/radians.inc
/usr/local/include/clc/common/sign.h
/usr/local/include/clc/common/smoothstep.h
/usr/local/include/clc/common/smoothstep.inc
/usr/local/include/clc/common/step.h
/usr/local/include/clc/common/step.inc
/usr/local/include/clc/convert.h
/usr/local/include/clc/explicit_fence/explicit_memory_fence.h
/usr/local/include/clc/float/definitions.h
/usr/local/include/clc/geometric/cross.h
/usr/local/include/clc/geometric/distance.h
/usr/local/include/clc/geometric/distance.inc
/usr/local/include/clc/geometric/dot.h
/usr/local/include/clc/geometric/dot.inc
/usr/local/include/clc/geometric/fast_distance.h
/usr/local/include/clc/geometric/fast_distance.inc
/usr/local/include/clc/geometric/fast_length.h
/usr/local/include/clc/geometric/fast_length.inc
/usr/local/include/clc/geometric/fast_normalize.h
/usr/local/include/clc/geometric/fast_normalize.inc
/usr/local/include/clc/geometric/length.h
/usr/local/include/clc/geometric/length.inc
/usr/local/include/clc/geometric/normalize.h
/usr/local/include/clc/geometric/normalize.inc
/usr/local/include/clc/image/image.h
/usr/local/include/clc/image/image_defines.h
/usr/local/include/clc/integer/abs.h
/usr/local/include/clc/integer/abs.inc
/usr/local/include/clc/integer/abs_diff.h
/usr/local/include/clc/integer/abs_diff.inc
/usr/local/include/clc/integer/add_sat.h
/usr/local/include/clc/integer/add_sat.inc
/usr/local/include/clc/integer/clz.h
/usr/local/include/clc/integer/clz.inc
/usr/local/include/clc/integer/definitions.h
/usr/local/include/clc/integer/hadd.h
/usr/local/include/clc/integer/hadd.inc
/usr/local/include/clc/integer/integer-gentype.inc
/usr/local/include/clc/integer/mad24.h
/usr/local/include/clc/integer/mad24.inc
/usr/local/include/clc/integer/mad_hi.h
/usr/local/include/clc/integer/mad_sat.h
/usr/local/include/clc/integer/mad_sat.inc
/usr/local/include/clc/integer/mul24.h
/usr/local/include/clc/integer/mul24.inc
/usr/local/include/clc/integer/mul_hi.h
/usr/local/include/clc/integer/mul_hi.inc
/usr/local/include/clc/integer/popcount.h
/usr/local/include/clc/integer/rhadd.h
/usr/local/include/clc/integer/rhadd.inc
/usr/local/include/clc/integer/rotate.h
/usr/local/include/clc/integer/rotate.inc
/usr/local/include/clc/integer/sub_sat.h
/usr/local/include/clc/integer/sub_sat.inc
/usr/local/include/clc/integer/unary.inc
/usr/local/include/clc/integer/upsample.h
/usr/local/include/clc/math/acos.h
/usr/local/include/clc/math/acosh.h
/usr/local/include/clc/math/acospi.h
/usr/local/include/clc/math/asin.h
/usr/local/include/clc/math/asinh.h
/usr/local/include/clc/math/asinpi.h
/usr/local/include/clc/math/atan.h
/usr/local/include/clc/math/atan2.h
/usr/local/include/clc/math/atan2pi.h
/usr/local/include/clc/math/atanh.h
/usr/local/include/clc/math/atanpi.h
/usr/local/include/clc/math/binary_decl_tt.inc
/usr/local/include/clc/math/cbrt.h
/usr/local/include/clc/math/ceil.h
/usr/local/include/clc/math/copysign.h
/usr/local/include/clc/math/cos.h
/usr/local/include/clc/math/cosh.h
/usr/local/include/clc/math/cospi.h
/usr/local/include/clc/math/erf.h
/usr/local/include/clc/math/erfc.h
/usr/local/include/clc/math/exp.h
/usr/local/include/clc/math/exp10.h
/usr/local/include/clc/math/exp2.h
/usr/local/include/clc/math/expm1.h
/usr/local/include/clc/math/fabs.h
/usr/local/include/clc/math/fdim.h
/usr/local/include/clc/math/floor.h
/usr/local/include/clc/math/fma.h
/usr/local/include/clc/math/fmax.h
/usr/local/include/clc/math/fmin.h
/usr/local/include/clc/math/fmod.h
/usr/local/include/clc/math/fract.h
/usr/local/include/clc/math/fract.inc
/usr/local/include/clc/math/frexp.h
/usr/local/include/clc/math/frexp.inc
/usr/local/include/clc/math/half_cos.h
/usr/local/include/clc/math/half_divide.h
/usr/local/include/clc/math/half_exp.h
/usr/local/include/clc/math/half_exp10.h
/usr/local/include/clc/math/half_exp2.h
/usr/local/include/clc/math/half_log.h
/usr/local/include/clc/math/half_log10.h
/usr/local/include/clc/math/half_log2.h
/usr/local/include/clc/math/half_powr.h
/usr/local/include/clc/math/half_recip.h
/usr/local/include/clc/math/half_rsqrt.h
/usr/local/include/clc/math/half_sin.h
/usr/local/include/clc/math/half_sqrt.h
/usr/local/include/clc/math/half_tan.h
/usr/local/include/clc/math/hypot.h
/usr/local/include/clc/math/ilogb.h
/usr/local/include/clc/math/ilogb.inc
/usr/local/include/clc/math/ldexp.h
/usr/local/include/clc/math/ldexp.inc
/usr/local/include/clc/math/lgamma.h
/usr/local/include/clc/math/lgamma_r.h
/usr/local/include/clc/math/lgamma_r.inc
/usr/local/include/clc/math/log.h
/usr/local/include/clc/math/log10.h
/usr/local/include/clc/math/log1p.h
/usr/local/include/clc/math/log2.h
/usr/local/include/clc/math/logb.h
/usr/local/include/clc/math/mad.h
/usr/local/include/clc/math/maxmag.h
/usr/local/include/clc/math/minmag.h
/usr/local/include/clc/math/modf.h
/usr/local/include/clc/math/modf.inc
/usr/local/include/clc/math/nan.h
/usr/local/include/clc/math/nan.inc
/usr/local/include/clc/math/native_cos.h
/usr/local/include/clc/math/native_divide.h
/usr/local/include/clc/math/native_exp.h
/usr/local/include/clc/math/native_exp10.h
/usr/local/include/clc/math/native_exp2.h
/usr/local/include/clc/math/native_log.h
/usr/local/include/clc/math/native_log10.h
/usr/local/include/clc/math/native_log2.h
/usr/local/include/clc/math/native_powr.h
/usr/local/include/clc/math/native_recip.h
/usr/local/include/clc/math/native_rsqrt.h
/usr/local/include/clc/math/native_sin.h
/usr/local/include/clc/math/native_sqrt.h
/usr/local/include/clc/math/native_tan.h
/usr/local/include/clc/math/nextafter.h
/usr/local/include/clc/math/pow.h
/usr/local/include/clc/math/pown.h
/usr/local/include/clc/math/pown.inc
/usr/local/include/clc/math/powr.h
/usr/local/include/clc/math/remainder.h
/usr/local/include/clc/math/remquo.h
/usr/local/include/clc/math/remquo.inc
/usr/local/include/clc/math/rint.h
/usr/local/include/clc/math/rootn.h
/usr/local/include/clc/math/rootn.inc
/usr/local/include/clc/math/round.h
/usr/local/include/clc/math/rsqrt.h
/usr/local/include/clc/math/sin.h
/usr/local/include/clc/math/sincos.h
/usr/local/include/clc/math/sincos.inc
/usr/local/include/clc/math/sinh.h
/usr/local/include/clc/math/sinpi.h
/usr/local/include/clc/math/sqrt.h
/usr/local/include/clc/math/tan.h
/usr/local/include/clc/math/tanh.h
/usr/local/include/clc/math/tanpi.h
/usr/local/include/clc/math/tgamma.h
/usr/local/include/clc/math/trunc.h
/usr/local/include/clc/misc/shuffle.h
/usr/local/include/clc/misc/shuffle2.h
/usr/local/include/clc/relational/all.h
/usr/local/include/clc/relational/any.h
/usr/local/include/clc/relational/bitselect.h
/usr/local/include/clc/relational/bitselect.inc
/usr/local/include/clc/relational/isequal.h
/usr/local/include/clc/relational/isfinite.h
/usr/local/include/clc/relational/isgreater.h
/usr/local/include/clc/relational/isgreaterequal.h
/usr/local/include/clc/relational/isinf.h
/usr/local/include/clc/relational/isless.h
/usr/local/include/clc/relational/islessequal.h
/usr/local/include/clc/relational/islessgreater.h
/usr/local/include/clc/relational/isnan.h
/usr/local/include/clc/relational/isnormal.h
/usr/local/include/clc/relational/isnotequal.h
/usr/local/include/clc/relational/isordered.h
/usr/local/include/clc/relational/isunordered.h
/usr/local/include/clc/relational/select.h
/usr/local/include/clc/relational/signbit.h
/usr/local/include/clc/shared/clamp.h
/usr/local/include/clc/shared/clamp.inc
/usr/local/include/clc/shared/max.h
/usr/local/include/clc/shared/max.inc
/usr/local/include/clc/shared/min.h
/usr/local/include/clc/shared/min.inc
/usr/local/include/clc/shared/vload.h
/usr/local/include/clc/shared/vstore.h
/usr/local/include/clc/synchronization/barrier.h
/usr/local/include/clc/synchronization/cl_mem_fence_flags.h
/usr/local/include/clc/workitem/get_global_id.h
/usr/local/include/clc/workitem/get_global_offset.h
/usr/local/include/clc/workitem/get_global_size.h
/usr/local/include/clc/workitem/get_group_id.h
/usr/local/include/clc/workitem/get_local_id.h
/usr/local/include/clc/workitem/get_local_size.h
/usr/local/include/clc/workitem/get_num_groups.h
/usr/local/include/clc/workitem/get_work_dim.h
# Total size: 73654414
/usr/local/share/clc/amdgcn--amdhsa.bc
/usr/local/share/clc/aruba-r600--.bc
/usr/local/share/clc/barts-r600--.bc
@@ -343,12 +78,10 @@
/usr/local/share/clc/gfx90a-amdgcn-mesa-mesa3d.bc
/usr/local/share/clc/gfx90c-amdgcn--.bc
/usr/local/share/clc/gfx90c-amdgcn-mesa-mesa3d.bc
/usr/local/share/clc/gfx940-amdgcn--.bc
/usr/local/share/clc/gfx940-amdgcn-mesa-mesa3d.bc
/usr/local/share/clc/gfx941-amdgcn--.bc
/usr/local/share/clc/gfx941-amdgcn-mesa-mesa3d.bc
/usr/local/share/clc/gfx942-amdgcn--.bc
/usr/local/share/clc/gfx942-amdgcn-mesa-mesa3d.bc
/usr/local/share/clc/gfx950-amdgcn--.bc
/usr/local/share/clc/gfx950-amdgcn-mesa-mesa3d.bc
/usr/local/share/clc/hainan-amdgcn--.bc
/usr/local/share/clc/hainan-amdgcn-mesa-mesa3d.bc
/usr/local/share/clc/hawaii-amdgcn--.bc

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,5 @@
# Total size: 329716748
/usr/local/bin/llvm-strip
/usr/local/lib/libLLVM-21.so
/usr/local/lib/libLLVM.so
/usr/local/lib/libLLVM.so.21.1

View File

@@ -1,4 +1,4 @@
# Total size: 87707816
# Total size: 87701232
/usr/local/include/EGL/eglext_angle.h
/usr/local/include/EGL/eglmesaext.h
/usr/local/include/GL/internal/dri_interface.h

View File

@@ -1,4 +1,4 @@
# Total size: 854681
# Total size: 862841
/usr/local/include/omp.h
/usr/local/include/ompx.h
/usr/local/lib/cmake/openmp/FindOpenMPTarget.cmake

View File

@@ -1,4 +1,4 @@
# Total size: 255831
# Total size: 254455
/usr/local/bin/initsommelier
/usr/local/bin/restartsommelier
/usr/local/bin/sommelier

View File

@@ -1,8 +1,8 @@
# Total size: 2816548
# Total size: 2865121
/usr/local/bin/llvm-spirv
/usr/local/include/LLVMSPIRVLib/LLVMSPIRVExtensions.inc
/usr/local/include/LLVMSPIRVLib/LLVMSPIRVLib.h
/usr/local/include/LLVMSPIRVLib/LLVMSPIRVOpts.h
/usr/local/lib/libLLVMSPIRVLib.so
/usr/local/lib/libLLVMSPIRVLib.so.20.1
/usr/local/lib/libLLVMSPIRVLib.so.21.1
/usr/local/lib/pkgconfig/LLVMSPIRVLib.pc

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,5 @@
# Total size: 492728644
/usr/local/bin/llvm-strip
/usr/local/lib/libLLVM-21.so
/usr/local/lib/libLLVM.so
/usr/local/lib/libLLVM.so.21.1

View File

@@ -1,4 +1,4 @@
# Total size: 1884304
# Total size: 1894634
/usr/local/include/omp-tools.h
/usr/local/include/omp.h
/usr/local/include/ompt-multiplex.h

View File

@@ -1,3 +1,4 @@
# Total size: 8345659
/usr/local/bin/pygmentize
/usr/local/lib/python3.13/site-packages/pygments-2.19.2.dist-info/INSTALLER
/usr/local/lib/python3.13/site-packages/pygments-2.19.2.dist-info/METADATA

View File

@@ -1,8 +1,8 @@
# Total size: 4305660
# Total size: 4397617
/usr/local/bin/llvm-spirv
/usr/local/include/LLVMSPIRVLib/LLVMSPIRVExtensions.inc
/usr/local/include/LLVMSPIRVLib/LLVMSPIRVLib.h
/usr/local/include/LLVMSPIRVLib/LLVMSPIRVOpts.h
/usr/local/lib/libLLVMSPIRVLib.so
/usr/local/lib/libLLVMSPIRVLib.so.20.1
/usr/local/lib/libLLVMSPIRVLib.so.21.1
/usr/local/lib/pkgconfig/LLVMSPIRVLib.pc

View File

@@ -1,269 +1,4 @@
# Total size: 81821204
/usr/local/include/clc/as_type.h
/usr/local/include/clc/async/async_work_group_copy.h
/usr/local/include/clc/async/async_work_group_copy.inc
/usr/local/include/clc/async/async_work_group_strided_copy.h
/usr/local/include/clc/async/async_work_group_strided_copy.inc
/usr/local/include/clc/async/gentype.inc
/usr/local/include/clc/async/prefetch.h
/usr/local/include/clc/async/prefetch.inc
/usr/local/include/clc/async/wait_group_events.h
/usr/local/include/clc/atom_decl_int32.inc
/usr/local/include/clc/atom_decl_int64.inc
/usr/local/include/clc/atomic/atomic_add.h
/usr/local/include/clc/atomic/atomic_and.h
/usr/local/include/clc/atomic/atomic_cmpxchg.h
/usr/local/include/clc/atomic/atomic_dec.h
/usr/local/include/clc/atomic/atomic_decl.inc
/usr/local/include/clc/atomic/atomic_inc.h
/usr/local/include/clc/atomic/atomic_max.h
/usr/local/include/clc/atomic/atomic_min.h
/usr/local/include/clc/atomic/atomic_or.h
/usr/local/include/clc/atomic/atomic_sub.h
/usr/local/include/clc/atomic/atomic_xchg.h
/usr/local/include/clc/atomic/atomic_xor.h
/usr/local/include/clc/cl_khr_global_int32_base_atomics/atom_add.h
/usr/local/include/clc/cl_khr_global_int32_base_atomics/atom_cmpxchg.h
/usr/local/include/clc/cl_khr_global_int32_base_atomics/atom_dec.h
/usr/local/include/clc/cl_khr_global_int32_base_atomics/atom_inc.h
/usr/local/include/clc/cl_khr_global_int32_base_atomics/atom_sub.h
/usr/local/include/clc/cl_khr_global_int32_base_atomics/atom_xchg.h
/usr/local/include/clc/cl_khr_global_int32_extended_atomics/atom_and.h
/usr/local/include/clc/cl_khr_global_int32_extended_atomics/atom_max.h
/usr/local/include/clc/cl_khr_global_int32_extended_atomics/atom_min.h
/usr/local/include/clc/cl_khr_global_int32_extended_atomics/atom_or.h
/usr/local/include/clc/cl_khr_global_int32_extended_atomics/atom_xor.h
/usr/local/include/clc/cl_khr_int64_base_atomics/atom_add.h
/usr/local/include/clc/cl_khr_int64_base_atomics/atom_cmpxchg.h
/usr/local/include/clc/cl_khr_int64_base_atomics/atom_dec.h
/usr/local/include/clc/cl_khr_int64_base_atomics/atom_inc.h
/usr/local/include/clc/cl_khr_int64_base_atomics/atom_sub.h
/usr/local/include/clc/cl_khr_int64_base_atomics/atom_xchg.h
/usr/local/include/clc/cl_khr_int64_extended_atomics/atom_and.h
/usr/local/include/clc/cl_khr_int64_extended_atomics/atom_max.h
/usr/local/include/clc/cl_khr_int64_extended_atomics/atom_min.h
/usr/local/include/clc/cl_khr_int64_extended_atomics/atom_or.h
/usr/local/include/clc/cl_khr_int64_extended_atomics/atom_xor.h
/usr/local/include/clc/cl_khr_local_int32_base_atomics/atom_add.h
/usr/local/include/clc/cl_khr_local_int32_base_atomics/atom_cmpxchg.h
/usr/local/include/clc/cl_khr_local_int32_base_atomics/atom_dec.h
/usr/local/include/clc/cl_khr_local_int32_base_atomics/atom_inc.h
/usr/local/include/clc/cl_khr_local_int32_base_atomics/atom_sub.h
/usr/local/include/clc/cl_khr_local_int32_base_atomics/atom_xchg.h
/usr/local/include/clc/cl_khr_local_int32_extended_atomics/atom_and.h
/usr/local/include/clc/cl_khr_local_int32_extended_atomics/atom_max.h
/usr/local/include/clc/cl_khr_local_int32_extended_atomics/atom_min.h
/usr/local/include/clc/cl_khr_local_int32_extended_atomics/atom_or.h
/usr/local/include/clc/cl_khr_local_int32_extended_atomics/atom_xor.h
/usr/local/include/clc/clc.h
/usr/local/include/clc/clcmacros.h
/usr/local/include/clc/common/degrees.h
/usr/local/include/clc/common/degrees.inc
/usr/local/include/clc/common/mix.h
/usr/local/include/clc/common/mix.inc
/usr/local/include/clc/common/radians.h
/usr/local/include/clc/common/radians.inc
/usr/local/include/clc/common/sign.h
/usr/local/include/clc/common/smoothstep.h
/usr/local/include/clc/common/smoothstep.inc
/usr/local/include/clc/common/step.h
/usr/local/include/clc/common/step.inc
/usr/local/include/clc/convert.h
/usr/local/include/clc/explicit_fence/explicit_memory_fence.h
/usr/local/include/clc/float/definitions.h
/usr/local/include/clc/geometric/cross.h
/usr/local/include/clc/geometric/distance.h
/usr/local/include/clc/geometric/distance.inc
/usr/local/include/clc/geometric/dot.h
/usr/local/include/clc/geometric/dot.inc
/usr/local/include/clc/geometric/fast_distance.h
/usr/local/include/clc/geometric/fast_distance.inc
/usr/local/include/clc/geometric/fast_length.h
/usr/local/include/clc/geometric/fast_length.inc
/usr/local/include/clc/geometric/fast_normalize.h
/usr/local/include/clc/geometric/fast_normalize.inc
/usr/local/include/clc/geometric/length.h
/usr/local/include/clc/geometric/length.inc
/usr/local/include/clc/geometric/normalize.h
/usr/local/include/clc/geometric/normalize.inc
/usr/local/include/clc/image/image.h
/usr/local/include/clc/image/image_defines.h
/usr/local/include/clc/integer/abs.h
/usr/local/include/clc/integer/abs.inc
/usr/local/include/clc/integer/abs_diff.h
/usr/local/include/clc/integer/abs_diff.inc
/usr/local/include/clc/integer/add_sat.h
/usr/local/include/clc/integer/add_sat.inc
/usr/local/include/clc/integer/clz.h
/usr/local/include/clc/integer/clz.inc
/usr/local/include/clc/integer/definitions.h
/usr/local/include/clc/integer/hadd.h
/usr/local/include/clc/integer/hadd.inc
/usr/local/include/clc/integer/integer-gentype.inc
/usr/local/include/clc/integer/mad24.h
/usr/local/include/clc/integer/mad24.inc
/usr/local/include/clc/integer/mad_hi.h
/usr/local/include/clc/integer/mad_sat.h
/usr/local/include/clc/integer/mad_sat.inc
/usr/local/include/clc/integer/mul24.h
/usr/local/include/clc/integer/mul24.inc
/usr/local/include/clc/integer/mul_hi.h
/usr/local/include/clc/integer/mul_hi.inc
/usr/local/include/clc/integer/popcount.h
/usr/local/include/clc/integer/rhadd.h
/usr/local/include/clc/integer/rhadd.inc
/usr/local/include/clc/integer/rotate.h
/usr/local/include/clc/integer/rotate.inc
/usr/local/include/clc/integer/sub_sat.h
/usr/local/include/clc/integer/sub_sat.inc
/usr/local/include/clc/integer/unary.inc
/usr/local/include/clc/integer/upsample.h
/usr/local/include/clc/math/acos.h
/usr/local/include/clc/math/acosh.h
/usr/local/include/clc/math/acospi.h
/usr/local/include/clc/math/asin.h
/usr/local/include/clc/math/asinh.h
/usr/local/include/clc/math/asinpi.h
/usr/local/include/clc/math/atan.h
/usr/local/include/clc/math/atan2.h
/usr/local/include/clc/math/atan2pi.h
/usr/local/include/clc/math/atanh.h
/usr/local/include/clc/math/atanpi.h
/usr/local/include/clc/math/binary_decl_tt.inc
/usr/local/include/clc/math/cbrt.h
/usr/local/include/clc/math/ceil.h
/usr/local/include/clc/math/copysign.h
/usr/local/include/clc/math/cos.h
/usr/local/include/clc/math/cosh.h
/usr/local/include/clc/math/cospi.h
/usr/local/include/clc/math/erf.h
/usr/local/include/clc/math/erfc.h
/usr/local/include/clc/math/exp.h
/usr/local/include/clc/math/exp10.h
/usr/local/include/clc/math/exp2.h
/usr/local/include/clc/math/expm1.h
/usr/local/include/clc/math/fabs.h
/usr/local/include/clc/math/fdim.h
/usr/local/include/clc/math/floor.h
/usr/local/include/clc/math/fma.h
/usr/local/include/clc/math/fmax.h
/usr/local/include/clc/math/fmin.h
/usr/local/include/clc/math/fmod.h
/usr/local/include/clc/math/fract.h
/usr/local/include/clc/math/fract.inc
/usr/local/include/clc/math/frexp.h
/usr/local/include/clc/math/frexp.inc
/usr/local/include/clc/math/half_cos.h
/usr/local/include/clc/math/half_divide.h
/usr/local/include/clc/math/half_exp.h
/usr/local/include/clc/math/half_exp10.h
/usr/local/include/clc/math/half_exp2.h
/usr/local/include/clc/math/half_log.h
/usr/local/include/clc/math/half_log10.h
/usr/local/include/clc/math/half_log2.h
/usr/local/include/clc/math/half_powr.h
/usr/local/include/clc/math/half_recip.h
/usr/local/include/clc/math/half_rsqrt.h
/usr/local/include/clc/math/half_sin.h
/usr/local/include/clc/math/half_sqrt.h
/usr/local/include/clc/math/half_tan.h
/usr/local/include/clc/math/hypot.h
/usr/local/include/clc/math/ilogb.h
/usr/local/include/clc/math/ilogb.inc
/usr/local/include/clc/math/ldexp.h
/usr/local/include/clc/math/ldexp.inc
/usr/local/include/clc/math/lgamma.h
/usr/local/include/clc/math/lgamma_r.h
/usr/local/include/clc/math/lgamma_r.inc
/usr/local/include/clc/math/log.h
/usr/local/include/clc/math/log10.h
/usr/local/include/clc/math/log1p.h
/usr/local/include/clc/math/log2.h
/usr/local/include/clc/math/logb.h
/usr/local/include/clc/math/mad.h
/usr/local/include/clc/math/maxmag.h
/usr/local/include/clc/math/minmag.h
/usr/local/include/clc/math/modf.h
/usr/local/include/clc/math/modf.inc
/usr/local/include/clc/math/nan.h
/usr/local/include/clc/math/nan.inc
/usr/local/include/clc/math/native_cos.h
/usr/local/include/clc/math/native_divide.h
/usr/local/include/clc/math/native_exp.h
/usr/local/include/clc/math/native_exp10.h
/usr/local/include/clc/math/native_exp2.h
/usr/local/include/clc/math/native_log.h
/usr/local/include/clc/math/native_log10.h
/usr/local/include/clc/math/native_log2.h
/usr/local/include/clc/math/native_powr.h
/usr/local/include/clc/math/native_recip.h
/usr/local/include/clc/math/native_rsqrt.h
/usr/local/include/clc/math/native_sin.h
/usr/local/include/clc/math/native_sqrt.h
/usr/local/include/clc/math/native_tan.h
/usr/local/include/clc/math/nextafter.h
/usr/local/include/clc/math/pow.h
/usr/local/include/clc/math/pown.h
/usr/local/include/clc/math/pown.inc
/usr/local/include/clc/math/powr.h
/usr/local/include/clc/math/remainder.h
/usr/local/include/clc/math/remquo.h
/usr/local/include/clc/math/remquo.inc
/usr/local/include/clc/math/rint.h
/usr/local/include/clc/math/rootn.h
/usr/local/include/clc/math/rootn.inc
/usr/local/include/clc/math/round.h
/usr/local/include/clc/math/rsqrt.h
/usr/local/include/clc/math/sin.h
/usr/local/include/clc/math/sincos.h
/usr/local/include/clc/math/sincos.inc
/usr/local/include/clc/math/sinh.h
/usr/local/include/clc/math/sinpi.h
/usr/local/include/clc/math/sqrt.h
/usr/local/include/clc/math/tan.h
/usr/local/include/clc/math/tanh.h
/usr/local/include/clc/math/tanpi.h
/usr/local/include/clc/math/tgamma.h
/usr/local/include/clc/math/trunc.h
/usr/local/include/clc/misc/shuffle.h
/usr/local/include/clc/misc/shuffle2.h
/usr/local/include/clc/relational/all.h
/usr/local/include/clc/relational/any.h
/usr/local/include/clc/relational/bitselect.h
/usr/local/include/clc/relational/bitselect.inc
/usr/local/include/clc/relational/isequal.h
/usr/local/include/clc/relational/isfinite.h
/usr/local/include/clc/relational/isgreater.h
/usr/local/include/clc/relational/isgreaterequal.h
/usr/local/include/clc/relational/isinf.h
/usr/local/include/clc/relational/isless.h
/usr/local/include/clc/relational/islessequal.h
/usr/local/include/clc/relational/islessgreater.h
/usr/local/include/clc/relational/isnan.h
/usr/local/include/clc/relational/isnormal.h
/usr/local/include/clc/relational/isnotequal.h
/usr/local/include/clc/relational/isordered.h
/usr/local/include/clc/relational/isunordered.h
/usr/local/include/clc/relational/select.h
/usr/local/include/clc/relational/signbit.h
/usr/local/include/clc/shared/clamp.h
/usr/local/include/clc/shared/clamp.inc
/usr/local/include/clc/shared/max.h
/usr/local/include/clc/shared/max.inc
/usr/local/include/clc/shared/min.h
/usr/local/include/clc/shared/min.inc
/usr/local/include/clc/shared/vload.h
/usr/local/include/clc/shared/vstore.h
/usr/local/include/clc/synchronization/barrier.h
/usr/local/include/clc/synchronization/cl_mem_fence_flags.h
/usr/local/include/clc/workitem/get_global_id.h
/usr/local/include/clc/workitem/get_global_offset.h
/usr/local/include/clc/workitem/get_global_size.h
/usr/local/include/clc/workitem/get_group_id.h
/usr/local/include/clc/workitem/get_local_id.h
/usr/local/include/clc/workitem/get_local_size.h
/usr/local/include/clc/workitem/get_num_groups.h
/usr/local/include/clc/workitem/get_work_dim.h
# Total size: 73654414
/usr/local/share/clc/amdgcn--amdhsa.bc
/usr/local/share/clc/aruba-r600--.bc
/usr/local/share/clc/barts-r600--.bc
@@ -343,12 +78,10 @@
/usr/local/share/clc/gfx90a-amdgcn-mesa-mesa3d.bc
/usr/local/share/clc/gfx90c-amdgcn--.bc
/usr/local/share/clc/gfx90c-amdgcn-mesa-mesa3d.bc
/usr/local/share/clc/gfx940-amdgcn--.bc
/usr/local/share/clc/gfx940-amdgcn-mesa-mesa3d.bc
/usr/local/share/clc/gfx941-amdgcn--.bc
/usr/local/share/clc/gfx941-amdgcn-mesa-mesa3d.bc
/usr/local/share/clc/gfx942-amdgcn--.bc
/usr/local/share/clc/gfx942-amdgcn-mesa-mesa3d.bc
/usr/local/share/clc/gfx950-amdgcn--.bc
/usr/local/share/clc/gfx950-amdgcn-mesa-mesa3d.bc
/usr/local/share/clc/hainan-amdgcn--.bc
/usr/local/share/clc/hainan-amdgcn-mesa-mesa3d.bc
/usr/local/share/clc/hawaii-amdgcn--.bc

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,5 @@
# Total size: 443943896
/usr/local/bin/llvm-strip
/usr/local/lib64/libLLVM-21.so
/usr/local/lib64/libLLVM.so
/usr/local/lib64/libLLVM.so.21.1

View File

@@ -1,4 +1,4 @@
# Total size: 122774322
# Total size: 122749178
/usr/local/include/EGL/eglext_angle.h
/usr/local/include/EGL/eglmesaext.h
/usr/local/include/GL/internal/dri_interface.h

View File

@@ -1,4 +1,4 @@
# Total size: 1823256
# Total size: 1835238
/usr/local/include/omp-tools.h
/usr/local/include/omp.h
/usr/local/include/ompt-multiplex.h

View File

@@ -1,3 +1,4 @@
# Total size: 8345659
/usr/local/bin/pygmentize
/usr/local/lib/python3.13/site-packages/pygments-2.19.2.dist-info/INSTALLER
/usr/local/lib/python3.13/site-packages/pygments-2.19.2.dist-info/METADATA

View File

@@ -1,4 +1,4 @@
# Total size: 404940
# Total size: 403484
/usr/local/bin/initsommelier
/usr/local/bin/restartsommelier
/usr/local/bin/sommelier

View File

@@ -1,8 +1,8 @@
# Total size: 4426090
# Total size: 4551043
/usr/local/bin/llvm-spirv
/usr/local/include/LLVMSPIRVLib/LLVMSPIRVExtensions.inc
/usr/local/include/LLVMSPIRVLib/LLVMSPIRVLib.h
/usr/local/include/LLVMSPIRVLib/LLVMSPIRVOpts.h
/usr/local/lib64/libLLVMSPIRVLib.so
/usr/local/lib64/libLLVMSPIRVLib.so.20.1
/usr/local/lib64/libLLVMSPIRVLib.so.21.1
/usr/local/lib64/pkgconfig/LLVMSPIRVLib.pc

View File

@@ -103,8 +103,8 @@ class Buildessential < Package
# LLVM
# This can be pulled in on a per-package basis...
# depends_on 'llvm20_dev'
depends_on 'llvm20_lib' # This provides llvm-strip
# depends_on 'llvm_dev'
depends_on 'llvm_lib' # This provides llvm-strip
# Meson build system
depends_on 'py3_meson'

View File

@@ -7,7 +7,7 @@ class Libclc < Package
llvm_build_obj = Package.load_package("#{__dir__}/#{CREW_LLVM_VER}_build.rb")
description 'Library requirements of the OpenCL C programming language'
homepage 'https://libclc.llvm.org/'
version '20.1.8'
version '21.1.0'
# When upgrading llvm*_build, be sure to upgrade llvm_lib*, llvm_dev*, libclc, and openmp in tandem.
puts "#{self} version differs from llvm version #{llvm_build_obj.version}".orange if version != llvm_build_obj.version
license 'Apache-2.0-with-LLVM-exceptions, UoI-NCSA, BSD, public-domain, rc, Apache-2.0 and MIT'
@@ -17,9 +17,9 @@ class Libclc < Package
binary_compression 'tar.zst'
binary_sha256({
aarch64: '511fbd0f216e90acd5cc0f9aaa9e0687b4f5f4d1b93b773e0d82132f940fcca1',
armv7l: '511fbd0f216e90acd5cc0f9aaa9e0687b4f5f4d1b93b773e0d82132f940fcca1',
x86_64: '6f432715d615ce6ceb0c4b8af45f7fbdc4510ff36e1df1aca622512621c9d35d'
aarch64: '7b07941e64ed0dc02c8769e440a5e731d2987b722fb7f23731dbae25a781df8d',
armv7l: '7b07941e64ed0dc02c8769e440a5e731d2987b722fb7f23731dbae25a781df8d',
x86_64: 'd238b212830126b5fa3a0efcfbf3c341c8cb7b49b18839298c5268c13de08d55'
})
depends_on 'llvm_dev' => :build

190
packages/llvm21_build.rb Normal file
View File

@@ -0,0 +1,190 @@
require 'package'
class Llvm21_build < Package
@llvm_projects_to_build = ARCH == 'x86_64' ? 'bolt;clang;clang-tools-extra;compiler-rt;lld;lldb;polly;pstl' : 'clang;clang-tools-extra;compiler-rt;lld;lldb;polly;pstl'
description "The LLVM Project is a collection of modular and reusable compiler and toolchain technologies. The packages included are: #{@llvm_projects_to_build.gsub(';', ' ')}"
homepage 'https://llvm.org/'
version '21.1.0'
# When upgrading llvm*_build, be sure to upgrade llvm_lib*, llvm_dev*, libclc, and openmp in tandem.
license 'Apache-2.0-with-LLVM-exceptions, UoI-NCSA, BSD, public-domain, rc, Apache-2.0 and MIT'
compatibility 'all'
source_url 'https://github.com/llvm/llvm-project.git'
git_hashtag "llvmorg-#{version}"
binary_compression 'tar.zst'
binary_sha256({
aarch64: '7897600f2783a63c02ce2eeb50b81f67278a4f1ef2f5ed81df4b801d365a77a5',
armv7l: '7897600f2783a63c02ce2eeb50b81f67278a4f1ef2f5ed81df4b801d365a77a5',
i686: '23094743cc99cc42823b3b8ebe5a174e1f3db5cdd3cc5251c84a53395bc3f148',
x86_64: '4e8891ef26db629676149294477da8f335897700ac8f210f7d80587703b1a2af'
})
depends_on 'gcc_lib' # R
depends_on 'glibc' # R
depends_on 'libedit' # R
depends_on 'libffi' # R
depends_on 'libxml2' # R
depends_on 'llvm21_dev' => :build
depends_on 'ocaml' => :build
depends_on 'py3_pygments' => :build
depends_on 'py3_pyyaml' => :build
depends_on 'xzutils' # R
depends_on 'zlib' # R
depends_on 'zstd' # R
conflicts_ok
no_env_options
case ARCH
when 'aarch64', 'armv7l'
# LLVM_TARGETS_TO_BUILD = 'ARM;AArch64;AMDGPU'
# LLVM_TARGETS_TO_BUILD = 'all'.freeze
@ARCH_C_FLAGS = "-mfloat-abi=hard -mthumb -mfpu=vfpv3-d16 -march=armv7-a+fp -ccc-gcc-name #{CREW_TARGET}"
@ARCH_CXX_FLAGS = "-mfloat-abi=hard -mthumb -mfpu=vfpv3-d16 -march=armv7-a+fp -ccc-gcc-name #{CREW_TARGET}"
@ARCH_LDFLAGS = ''
when 'i686'
# LLVM_TARGETS_TO_BUILD = 'X86'.freeze
# Because ld.lld: error: undefinler-rt;libc;libcxx;libcxxabi;libunwind;openmped symbol: __atomic_store
# Polly demands fPIC
@ARCH_C_FLAGS = '-latomic'
@ARCH_CXX_FLAGS = '-latomic'
# Because getting this error:
# ld.lld: error: relocation R_386_PC32 cannot be used against symbol isl_map_fix_si; recompile with -fPIC
# So as per https://github.com/openssl/openssl/issues/11305#issuecomment-602003528
@ARCH_LDFLAGS = '-Wl,-znotext'
# lldb fails on i686 due to requirement for a kernel > 4.1.
# See https://github.com/llvm/llvm-project/issues/57594
when 'x86_64'
# LLVM_TARGETS_TO_BUILD = 'X86;AMDGPU'
# LLVM_TARGETS_TO_BUILD = 'all'.freeze
@ARCH_C_FLAGS = ''
@ARCH_CXX_FLAGS = ''
@ARCH_LDFLAGS = ''
end
@ARCH_C_LTO_FLAGS = "#{@ARCH_C_FLAGS} -fPIC -flto=thin #{CREW_LINKER_FLAGS}"
@ARCH_CXX_LTO_FLAGS = "#{@ARCH_CXX_FLAGS} -fPIC -flto=thin #{CREW_LINKER_FLAGS}"
@ARCH_LTO_LDFLAGS = "#{@ARCH_LDFLAGS} -flto=thin #{CREW_LINKER_FLAGS}"
# flang isn't supported on 32-bit architectures.
# openmp is its own package.
# Using Targets 'all' for non-i686 because otherwise mesa complains.
# This may be patched upstream as per
# https://reviews.llvm.org/rG1de56d6d13c083c996dfd44a32041dacae037d66
LLVM_TARGETS_TO_BUILD = 'all'.freeze
def self.patch
# Remove rc suffix on final release.
system "sed -i 's,set(LLVM_VERSION_SUFFIX rc),,' llvm/CMakeLists.txt"
# Patch for LLVM 15+ because of https://github.com/llvm/llvm-project/issues/58851
File.write 'llvm_crew_lib_prefix.patch', <<~LLVM_PATCH_EOF
--- a/clang/lib/Driver/ToolChains/Linux.cpp 2022-11-30 15:50:36.777754608 -0500
+++ b/clang/lib/Driver/ToolChains/Linux.cpp 2022-11-30 15:51:57.004417484 -0500
@@ -314,6 +314,7 @@ Linux::Linux(const Driver &D, const llvm
D.getVFS().exists(D.Dir + "/../lib/libc++.so"))
addPathIfExists(D, D.Dir + "/../lib", Paths);
+ addPathIfExists(D, concat(SysRoot, "#{CREW_LIB_PREFIX}"), Paths);
addPathIfExists(D, concat(SysRoot, "/lib"), Paths);
addPathIfExists(D, concat(SysRoot, "/usr/lib"), Paths);
}
LLVM_PATCH_EOF
system 'patch -Np1 -i llvm_crew_lib_prefix.patch'
end
def self.build
############################################################
puts "Building LLVM Targets: #{LLVM_TARGETS_TO_BUILD}".lightgreen
puts "Building LLVM Projects: #{@llvm_projects_to_build}".lightgreen
############################################################
unless Dir.exist?('builddir')
FileUtils.mkdir_p 'builddir'
File.write 'builddir/clc', <<~CLC_EOF
#!/bin/bash
machine=$(gcc -dumpmachine)
version=$(gcc -dumpversion)
gnuc_lib=#{CREW_LIB_PREFIX}/gcc/${machine}/${version}
clang -B ${gnuc_lib} -L ${gnuc_lib} "$@"
CLC_EOF
File.write 'builddir/clc++', <<~CLCPLUSPLUS_EOF
#!/bin/bash
machine=$(gcc -dumpmachine)
version=$(gcc -dumpversion)
cxx_sys=#{CREW_PREFIX}/include/c++/${version}
cxx_inc=#{CREW_PREFIX}/include/c++/${version}/${machine}
gnuc_lib=#{CREW_LIB_PREFIX}/gcc/${machine}/${version}
clang++ -fPIC -rtlib=compiler-rt -stdlib=libc++ -cxx-isystem ${cxx_sys} -I ${cxx_inc} -B ${gnuc_lib} -L ${gnuc_lib} "$@"
CLCPLUSPLUS_EOF
system "cmake -B builddir -G Ninja llvm \
-DCLANG_DEFAULT_LINKER=mold \
-DCMAKE_ASM_COMPILER_TARGET=#{CREW_TARGET} \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_C_COMPILER=$(which clang) \
-DCMAKE_C_COMPILER_TARGET=#{CREW_TARGET} \
-DCMAKE_C_FLAGS='#{@ARCH_C_LTO_FLAGS}' \
-DCMAKE_CXX_COMPILER=$(which clang++) \
-DCMAKE_CXX_FLAGS='#{@ARCH_CXX_LTO_FLAGS}' \
-DCMAKE_EXE_LINKER_FLAGS='#{@ARCH_LTO_LDFLAGS}' \
-DCMAKE_INSTALL_LIBDIR=#{ARCH_LIB} \
-DCMAKE_INSTALL_PREFIX=#{CREW_PREFIX} \
-DCMAKE_LIBRARY_PATH='#{CREW_GLIBC_INTERPRETER.nil? ? CREW_LIB_PREFIX : "#{CREW_GLIBC_PREFIX};#{CREW_LIB_PREFIX}"}' \
-D_CMAKE_TOOLCHAIN_PREFIX=llvm- \
-DCOMPILER_RT_BUILD_BUILTINS=ON \
-DCOMPILER_RT_BUILD_LIBFUZZER=OFF \
-DCOMPILER_RT_BUILD_SANITIZERS=OFF \
-DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON \
-DLLDB_INCLUDE_TESTS=OFF \
-DLLVM_BINUTILS_INCDIR='#{CREW_PREFIX}/include' \
-DLLVM_BUILD_LLVM_DYLIB=ON \
-DLLVM_DEFAULT_TARGET_TRIPLE=#{CREW_TARGET} \
-DLLVM_ENABLE_FFI=ON \
-DLLVM_ENABLE_LTO=Thin \
-DLLVM_ENABLE_PIC=ON \
-DLLVM_ENABLE_PROJECTS='#{@llvm_projects_to_build}' \
-DLLVM_ENABLE_RTTI=ON \
-DLLVM_INCLUDE_BENCHMARKS=OFF \
-DLLVM_INSTALL_UTILS=ON \
-DLLVM_LIBDIR_SUFFIX='#{CREW_LIB_SUFFIX}' \
-DLLVM_LINK_LLVM_DYLIB=ON \
-DLLVM_OPTIMIZED_TABLEGEN=ON \
-DLLVM_TARGETS_TO_BUILD='#{LLVM_TARGETS_TO_BUILD}' \
-Wno-dev"
end
system "#{CREW_NINJA} -C builddir -j #{CREW_NPROC}"
end
def self.install
system "DESTDIR=#{CREW_DEST_DIR} #{CREW_NINJA} -C builddir install"
Dir.chdir('builddir') do
FileUtils.install 'clc', "#{CREW_DEST_PREFIX}/bin/clc", mode: 0o755
FileUtils.install 'clc++', "#{CREW_DEST_PREFIX}/bin/clc++", mode: 0o755
FileUtils.mkdir_p "#{CREW_DEST_LIB_PREFIX}/bfd-plugins"
Dir.chdir("#{CREW_DEST_LIB_PREFIX}/bfd-plugins") do
FileUtils.ln_s "../../lib#{CREW_LIB_SUFFIX}/LLVMgold.so", 'LLVMgold.so'
end
# libunwind.* conflicts with libunwind package
FileUtils.rm Dir.glob("#{CREW_DEST_LIB_PREFIX}/libunwind.*")
end
end
# preserve for check, skip check for current version
# def self.check
# Dir.chdir('builddir') do
# system 'ninja check-llvm || true'
# system 'ninja check-clang || true'
# system 'ninja check-lld || true'
# end
# end
def self.postinstall
puts
puts "To compile programs, use 'clang' or 'clang++'.".lightblue
puts
puts 'To avoid the repeated use of switch options,'.lightblue
puts "try the wrapper scripts 'clc' or 'clc++'.".lightblue
puts
puts 'For more information, see https://llvm.org/pubs/2008-10-04-ACAT-LLVM-Intro.pdf'.lightblue
puts
end
end

52
packages/llvm21_dev.rb Normal file
View File

@@ -0,0 +1,52 @@
require 'package'
Package.load_package("#{__dir__}/llvm21_build.rb")
class Llvm21_dev < Package
description 'LLVM: Everything except libLLVM & llvm-strip'
homepage Llvm21_build.homepage
version '21.1.0'
# When upgrading llvm*_build, be sure to upgrade llvm_lib*, llvm_dev*, libclc, and openmp in tandem.
puts "#{self} version differs from llvm version #{Llvm21_build.version}".orange if version != Llvm21_build.version
license Llvm21_build.license
compatibility 'all'
source_url 'SKIP'
binary_compression 'tar.zst'
binary_sha256({
aarch64: 'a3f9c3af1de9a889acc8f4d82ebcde0c033a573a496d4f668b87edbebe25f5fa',
armv7l: 'a3f9c3af1de9a889acc8f4d82ebcde0c033a573a496d4f668b87edbebe25f5fa',
i686: '8f88168698f5d798161467be8b4d397ecaf98eb3f2a23f8bff06d3f166b81dc2',
x86_64: '48a94cdeadaa9205edeaab675536a724a43b96281f62f03a712a24313d84780d'
})
depends_on 'gcc_lib' # R
depends_on 'glibc' # R
depends_on 'libedit' # R
depends_on 'libxml2' # R
depends_on 'llvm21_build' => :build
depends_on 'llvm_lib' # R
depends_on 'xzutils' # R
depends_on 'zlib' # R
depends_on 'zstd' # R
conflicts_ok
no_shrink
no_source_build
no_strip
def self.install
puts 'Installing llvm21_build to pull files for build...'.lightblue
@filelist_path = File.join(CREW_META_PATH, 'llvm21_build.filelist')
abort 'File list for llvm21_build does not exist!'.lightred unless File.file?(@filelist_path)
@filelist = File.readlines(@filelist_path, chomp: true).grep(/^(?!#)/)
@filelist.each do |filename|
next if filename.include?('.so') && filename.include?('libLLVM')
next if filename.include?('llvm-strip')
@destpath = File.join(CREW_DEST_DIR, filename)
@filename_target = File.realpath(filename)
FileUtils.install @filename_target, @destpath
end
end
end

50
packages/llvm21_lib.rb Normal file
View File

@@ -0,0 +1,50 @@
require 'package'
Package.load_package("#{__dir__}/llvm21_build.rb")
class Llvm21_lib < Package
description 'LibLLVM and llvm-strip'
homepage Llvm21_build.homepage
version '21.1.0'
# When upgrading llvm*_build, be sure to upgrade llvm_lib*, llvm_dev*, libclc, and openmp in tandem.
puts "#{self} version differs from llvm version #{Llvm21_build.version}".orange if version != Llvm21_build.version
license Llvm21_build.license
compatibility 'all'
source_url 'SKIP'
binary_compression 'tar.zst'
binary_sha256({
aarch64: 'd439db5b6004c5e00b650eb6bbcc89c78cc09f13f8e3a8f84e20dbf111a4b65a',
armv7l: 'd439db5b6004c5e00b650eb6bbcc89c78cc09f13f8e3a8f84e20dbf111a4b65a',
i686: '169914da347af0b9856ff07304faac3d0884027f98bf4967dc3a930c47a326bd',
x86_64: 'a5ffb327036a3116d058fd199732999c48f4239bf23346562b65efc2602231ac'
})
depends_on 'gcc_lib' # R
depends_on 'glibc' # R
depends_on 'libedit' # R
depends_on 'libffi' # R
depends_on 'libxml2' # R
depends_on 'llvm21_build' => :build
depends_on 'zlib' # R
depends_on 'zstd' # R
conflicts_ok
no_shrink
no_source_build
no_strip
def self.install
puts 'Installing llvm21_build to pull files for build...'.lightblue
@filelist_path = File.join(CREW_META_PATH, 'llvm21_build.filelist')
abort 'File list for llvm21_build does not exist!'.lightred unless File.file?(@filelist_path)
@filelist = File.readlines(@filelist_path, chomp: true).grep(/^(?!#)/)
@filelist.each do |filename|
next unless (filename.include?('.so') && filename.include?('libLLVM')) || filename.include?('llvm-strip')
@destpath = File.join(CREW_DEST_DIR, filename)
@filename_target = File.realpath(filename)
FileUtils.install @filename_target, @destpath
end
end
end

View File

@@ -11,9 +11,9 @@ class Mesa < Meson
binary_compression 'tar.zst'
binary_sha256({
aarch64: '56c7f99b5c21a949f2a8becbd9fde0237cca4fea8add84e78e535ccc3490b487',
armv7l: '56c7f99b5c21a949f2a8becbd9fde0237cca4fea8add84e78e535ccc3490b487',
x86_64: 'cd216cb1f475c97091a5bdc46694ae56dac42d99b7aa53e87d7cd6e29032c72e'
aarch64: '64c4babd0cd5b38a53e0657df64b2ae5cd7cddc39aab6fa815fe83863f07b76e',
armv7l: '64c4babd0cd5b38a53e0657df64b2ae5cd7cddc39aab6fa815fe83863f07b76e',
x86_64: 'ffb678baec5074f742b5fad7a349459f0f00566386b00908e1f9ed37a48e59fd'
})
depends_on 'elfutils' # R

View File

@@ -7,7 +7,7 @@ class Openmp < Package
llvm_build_obj = Package.load_package("#{__dir__}/#{CREW_LLVM_VER}_build.rb")
description 'LLVM OpenMP Runtime Library'
homepage 'https://openmp.llvm.org/'
version '20.1.8'
version '21.1.0'
# When upgrading llvm_build*, be sure to upgrade llvm_lib*, llvm_dev*, libclc, and openmp in tandem.
puts "#{self} version differs from llvm version #{llvm_build_obj.version}".orange if version != llvm_build_obj.version
license 'Apache-2.0-with-LLVM-exceptions, UoI-NCSA, BSD, public-domain, rc, Apache-2.0 and MIT'
@@ -17,10 +17,10 @@ class Openmp < Package
binary_compression 'tar.zst'
binary_sha256({
aarch64: 'fb89756a03328908e1f66cc2bbc15c9fb7d9699091021c1b742b35da3eb310c6',
armv7l: 'fb89756a03328908e1f66cc2bbc15c9fb7d9699091021c1b742b35da3eb310c6',
i686: '1dcdfdd1cf2e7f4bf72d300e07b08d7672ef00f44aa858dc6055f46f6e498f32',
x86_64: '223ef5891c73752bfb1923fa3a44c7dc85d11f93d99d5505a57bc44d58296bcb'
aarch64: '99a1dd5f9ef715a79c90b6c635a3fb5b8c524eebb8f350629d8a407be90ba5bc',
armv7l: '99a1dd5f9ef715a79c90b6c635a3fb5b8c524eebb8f350629d8a407be90ba5bc',
i686: '5f85ba3fcadc0fbb70fc8b3ecd8cad4bcb27d0636de1d1eccbcd404718c6a036',
x86_64: '69b3ce19ad20a5ddd2522df290e40aaa2497ca45d7c47ce1e8dc0e824120575e'
})
depends_on 'gcc_lib' # R

View File

@@ -11,9 +11,9 @@ class Sommelier < Package
binary_compression 'tar.zst'
binary_sha256({
aarch64: 'f5419b5787ec89c9d252597d66ac101942c87cd2c5fb423d17566cf87c7ea4bf',
armv7l: 'f5419b5787ec89c9d252597d66ac101942c87cd2c5fb423d17566cf87c7ea4bf',
x86_64: 'd31a50da5ec4463c8fdeca8189fa7797804e2eb5b431c7b78802c2179529f9a3'
aarch64: '48b3b55b2806078091eaf7b4c81099d408590c21b01c75bd0386127eeac83b72',
armv7l: '48b3b55b2806078091eaf7b4c81099d408590c21b01c75bd0386127eeac83b72',
x86_64: '143424c0763ac30e28e2085ff4c8eaaa869962a225eb3030ff5bd8d97cf09f5f'
})
depends_on 'gcc_lib' # R

View File

@@ -3,7 +3,7 @@ require 'buildsystems/cmake'
class Spirv_llvm_translator < CMake
description 'Tool and a library for bi-directional translation between SPIR-V and LLVM IR'
homepage 'https://github.com/KhronosGroup/SPIRV-LLVM-Translator'
version '20.1.3'
version '21.1.0'
license 'Apache-2.0 WITH LLVM-exception'
compatibility 'all'
source_url 'https://github.com/KhronosGroup/SPIRV-LLVM-Translator.git'
@@ -11,10 +11,10 @@ class Spirv_llvm_translator < CMake
binary_compression 'tar.zst'
binary_sha256({
aarch64: '3495b2e6c3897363829b5ffac8de2527c49ca4cd9a739c0966043eb0a52c9235',
armv7l: '3495b2e6c3897363829b5ffac8de2527c49ca4cd9a739c0966043eb0a52c9235',
i686: '66d45c590d1c9bcc707306af49e92675656878d419593dd6903af55efaf0e115',
x86_64: '6c9ca8a32fd040373486e3cfada677d983547a697d5866185165ccbc33a57d88'
aarch64: 'dcf4b5def7038fa08031f3af05e72807f1c3703a4c0bf34b1fc8ba14039d40be',
armv7l: 'dcf4b5def7038fa08031f3af05e72807f1c3703a4c0bf34b1fc8ba14039d40be',
i686: 'b4c3b4f3152977005fd887c7cbf64ef1e774f6b315a5a111a48975aaeaa2b4ae',
x86_64: '51542942fe1198aab5bb3a284470aa6510e9b6d10fbf6560a911e2982a7865b3'
})
depends_on 'gcc_lib' # R

View File

@@ -119,7 +119,7 @@ def main(pkg)
pkgdeps = pkgdeps.map { |i| i.gsub('gcc_build', 'gcc_lib') }.uniq
# Massage the llvm entries in the dependency list.
pkgdeps = pkgdeps.map { |i| i.gsub('llvm_build', 'llvm_lib') }.uniq
pkgdeps = pkgdeps.map { |i| i.gsub(/llvm(\d)+_build/, 'llvm_lib') }.uniq
pkgdeps = pkgdeps.map { |i| i.gsub(/llvm(\d)+_lib/, 'llvm_lib') }.uniq
pkgdeps = pkgdeps.map { |i| i.gsub(/llvm(\d)+_dev/, 'llvm_dev') }.uniq