Commit 254b633f authored by lovedheart's avatar lovedheart Committed by Ed Reel

adjust llvm and related packages (#2298)

* adjust llvm and related packages

* Update llvm.rb
parent e25cfdb6
require 'package'
class Clang < Package
description 'C language family frontend for LLVM.'
homepage 'https://clang.llvm.org/'
version '5.0.1'
source_url 'https://releases.llvm.org/5.0.1/cfe-5.0.1.src.tar.xz'
source_sha256 '135f6c9b0cd2da1aff2250e065946258eb699777888df39ca5a5b4fe5e23d0ff'
binary_url ({
aarch64: 'https://dl.bintray.com/chromebrew/chromebrew/clang-5.0.1-chromeos-armv7l.tar.xz',
armv7l: 'https://dl.bintray.com/chromebrew/chromebrew/clang-5.0.1-chromeos-armv7l.tar.xz',
i686: 'https://dl.bintray.com/chromebrew/chromebrew/clang-5.0.1-chromeos-i686.tar.xz',
x86_64: 'https://dl.bintray.com/chromebrew/chromebrew/clang-5.0.1-chromeos-x86_64.tar.xz',
})
binary_sha256 ({
aarch64: '10b6e17be70dbb7ffd235f8ba8202365b371928ffe48b36c1e3c4d38ff743e46',
armv7l: '10b6e17be70dbb7ffd235f8ba8202365b371928ffe48b36c1e3c4d38ff743e46',
i686: '800cc05762df8508cba1696e26f5f1b38f35c823dc77f5e9bb9eb3fd01902489',
x86_64: '6512c4905caa1679ab201b31d2e978343f08eb56e0ca5b3006b8aed0c5dbe932',
})
depends_on 'cmake' => :build
depends_on 'llvm'
depends_on 'clang_libcpp'
depends_on 'clang_openmp'
depends_on 'llvm_compiler_rt'
depends_on 'llvm_polly'
depends_on 'llvm_unwind'
depends_on 'lld'
def self.build
Dir.mkdir 'mybuilddir'
Dir.chdir "mybuilddir" do
system "cmake -DBUILD_SHARED_LIBS=ON -DCMAKE_BUILD_TYPE=Release .."
system "cmake --build . -- -j#{CREW_NPROC}"
end
end
def self.install
Dir.chdir "mybuilddir" do
system "cmake -DCMAKE_INSTALL_PREFIX=#{CREW_DEST_PREFIX} -P cmake_install.cmake"
FileUtils.cd("#{CREW_DEST_PREFIX}/bin") do
system "echo '#!/bin/bash' > clangppw"
system "echo 'GCCVERSION=`gcc --version | grep ^gcc | sed '\\''s/^.* //g'\\''`' >> clangppw"
system "echo 'TARGET=`gcc -dumpmachine`' >> clangppw"
system "echo '#{CREW_PREFIX}/bin/clang++ -I#{CREW_PREFIX}/include/c++/v1 -B#{CREW_PREFIX}/lib/gcc/${TARGET}/${GCCVERSION} -lc++ $@' >> clangppw"
system "chmod 755 clangppw"
system "echo '#!/bin/bash' > clangw"
system "echo 'GCCVERSION=`gcc --version | grep ^gcc | sed '\\''s/^.* //g'\\''`' >> clangw"
system "echo 'TARGET=`gcc -dumpmachine`' >> clangw"
system "echo '#{CREW_PREFIX}/bin/clang -B#{CREW_PREFIX}/lib/gcc/${TARGET}/${GCCVERSION} $@' >> clangw"
system "chmod 755 clangw"
end
end
end
end
require 'package'
class Clang_libcpp < Package
description 'Standard library for Clang5.'
homepage 'https://libcxx.llvm.org/'
version '5.0.1'
source_url 'https://releases.llvm.org/5.0.1/libcxx-5.0.1.src.tar.xz'
source_sha256 'fa8f99dd2bde109daa3276d529851a3bce5718d46ce1c5d0806f46caa3e57c00'
binary_url ({
aarch64: 'https://dl.bintray.com/chromebrew/chromebrew/clang_libcpp-5.0.1-chromeos-armv7l.tar.xz',
armv7l: 'https://dl.bintray.com/chromebrew/chromebrew/clang_libcpp-5.0.1-chromeos-armv7l.tar.xz',
i686: 'https://dl.bintray.com/chromebrew/chromebrew/clang_libcpp-5.0.1-chromeos-i686.tar.xz',
x86_64: 'https://dl.bintray.com/chromebrew/chromebrew/clang_libcpp-5.0.1-chromeos-x86_64.tar.xz',
})
binary_sha256 ({
aarch64: '0e133108ae8098f5b4f7f7d8bade54e7ff3fabf237f5abcf43129b36051d4cff',
armv7l: '0e133108ae8098f5b4f7f7d8bade54e7ff3fabf237f5abcf43129b36051d4cff',
i686: '7d05985319135a390385059ddc4ef7067398518fa8daaf6a672a68a3f5a08433',
x86_64: '3a3d97ee96bb2705e98bbac73905717e5ea257acc7ee20745f0644c7dc720eaa',
})
depends_on 'cmake' => :build
depends_on 'llvm'
def self.build
Dir.mkdir 'mybuilddir'
Dir.chdir "mybuilddir" do
system "cmake -DBUILD_SHARED_LIBS=ON -DCMAKE_BUILD_TYPE=Release .."
system "cmake --build . -- -j#{CREW_NPROC}"
end
end
def self.install
Dir.chdir "mybuilddir" do
system "cmake -DCMAKE_INSTALL_PREFIX=#{CREW_DEST_PREFIX} -P cmake_install.cmake"
end
end
end
require 'package'
class Clang_openmp < Package
description 'The OpenMP subproject of LLVM contains the components required to build an executable OpenMP program that are outside the compiler itself.'
homepage 'https://openmp.llvm.org/'
version '5.0.1'
source_url 'https://releases.llvm.org/5.0.1/openmp-5.0.1.src.tar.xz'
source_sha256 'adb635cdd2f9f828351b1e13d892480c657fb12500e69c70e007bddf0fca2653'
binary_url ({
aarch64: 'https://dl.bintray.com/chromebrew/chromebrew/clang_openmp-5.0.1-chromeos-armv7l.tar.xz',
armv7l: 'https://dl.bintray.com/chromebrew/chromebrew/clang_openmp-5.0.1-chromeos-armv7l.tar.xz',
i686: 'https://dl.bintray.com/chromebrew/chromebrew/clang_openmp-5.0.1-chromeos-i686.tar.xz',
x86_64: 'https://dl.bintray.com/chromebrew/chromebrew/clang_openmp-5.0.1-chromeos-x86_64.tar.xz',
})
binary_sha256 ({
aarch64: 'd9e49ff4e11df413cc68143cf951cd2e8261676ba8fcd8948e2947dc193a952c',
armv7l: 'd9e49ff4e11df413cc68143cf951cd2e8261676ba8fcd8948e2947dc193a952c',
i686: 'e462e46e77399edb8d59b11d45b1821ee759e59b289848014479e5fe8dfc7690',
x86_64: '367eabe360b8bf396c9c733bd7e177ea10c775b8f96d5b14be7a317bb7992f5d',
})
depends_on 'cmake' => :build
def self.build
Dir.mkdir 'mybuilddir'
Dir.chdir "mybuilddir" do
system "cmake -DBUILD_SHARED_LIBS=ON -DCMAKE_BUILD_TYPE=Release .."
system "cmake --build . -- -j#{CREW_NPROC}"
end
end
def self.install
Dir.chdir "mybuilddir" do
system "cmake -DCMAKE_INSTALL_PREFIX=#{CREW_DEST_PREFIX} -P cmake_install.cmake"
end
end
end
require 'package'
class Lld < Package
description 'LLD is a linker from the LLVM project.'
homepage 'https://lld.llvm.org/'
version '6.0.0'
source_url 'https://releases.llvm.org/6.0.0/lld-6.0.0.src.tar.xz'
source_sha256 '6b8c4a833cf30230c0213d78dbac01af21387b298225de90ab56032ca79c0e0b'
binary_url ({
aarch64: 'https://dl.bintray.com/chromebrew/chromebrew/lld-6.0.0-chromeos-armv7l.tar.xz',
armv7l: 'https://dl.bintray.com/chromebrew/chromebrew/lld-6.0.0-chromeos-armv7l.tar.xz',
i686: 'https://dl.bintray.com/chromebrew/chromebrew/lld-6.0.0-chromeos-i686.tar.xz',
x86_64: 'https://dl.bintray.com/chromebrew/chromebrew/lld-6.0.0-chromeos-x86_64.tar.xz',
})
binary_sha256 ({
aarch64: '1be1bfd58802046614cd5a8edc5d665a042eeddfeae09e63b1f0e7993aab288f',
armv7l: '1be1bfd58802046614cd5a8edc5d665a042eeddfeae09e63b1f0e7993aab288f',
i686: '23154f25acc73cdddbacafe3b1a094d2d03a9e1500d8cb1c184793b58116893f',
x86_64: '9e57137f1277f6216c1219460203d460344df61c37332a4129d0c97394bd4c25',
})
depends_on 'icu4c'
depends_on 'llvm'
def self.build
system "mkdir -p builddir"
Dir.chdir("builddir") do
case ARCH
when "x86_64"
system "cmake",
"-DCMAKE_INSTALL_PREFIX=#{CREW_PREFIX}",
"-DLLVM_LIBDIR_SUFFIX=64",
"-DBUILD_SHARED_LIBS=ON",
"-DCMAKE_BUILD_TYPE=Release",
".."
else
system "cmake",
"-DCMAKE_INSTALL_PREFIX=#{CREW_PREFIX}",
"-DBUILD_SHARED_LIBS=ON",
"-DCMAKE_BUILD_TYPE=Release",
".."
end
system "make"
end
end
def self.install
Dir.chdir("builddir") do
system "make", "DESTDIR=#{CREW_DEST_DIR}", "install"
end
end
end
This diff is collapsed.
This diff is collapsed.
require 'package'
class Llvm_compiler_rt < Package
description 'Part of the LLVM project.'
homepage 'https://compiler-rt.llvm.org/'
version '6.0.0'
source_url 'http://releases.llvm.org/6.0.0/compiler-rt-6.0.0.src.tar.xz'
source_sha256 'd0cc1342cf57e9a8d52f5498da47a3b28d24ac0d39cbc92308781b3ee0cea79a'
binary_url ({
aarch64: 'https://dl.bintray.com/chromebrew/chromebrew/llvm_compiler_rt-6.0.0-chromeos-armv7l.tar.xz',
armv7l: 'https://dl.bintray.com/chromebrew/chromebrew/llvm_compiler_rt-6.0.0-chromeos-armv7l.tar.xz',
i686: 'https://dl.bintray.com/chromebrew/chromebrew/llvm_compiler_rt-6.0.0-chromeos-i686.tar.xz',
x86_64: 'https://dl.bintray.com/chromebrew/chromebrew/llvm_compiler_rt-6.0.0-chromeos-x86_64.tar.xz',
})
binary_sha256 ({
aarch64: '78d7bd2c47789d3e19e35d3a5f23cc7ff85509a9e86a6cca4fbed9c99fa1f52b',
armv7l: '78d7bd2c47789d3e19e35d3a5f23cc7ff85509a9e86a6cca4fbed9c99fa1f52b',
i686: 'c9bdb1c5819571139cced1615373a51694bf0829815143f0a1552708e4a53764',
x86_64: '5ac574941affdeeedd11124b0c02504e74b0af59ee1661baf182acf267706328',
})
depends_on 'llvm'
def self.build
system "mkdir -p builddir"
Dir.chdir("builddir") do
system "cmake",
"-DCMAKE_INSTALL_PREFIX=#{CREW_PREFIX}",
"-DBUILD_SHARED_LIBS=ON",
"-DCMAKE_BUILD_TYPE=Release",
".."
system "make"
end
end
def self.install # the steps required to install the package
Dir.chdir("builddir") do
system "make", "DESTDIR=#{CREW_DEST_DIR}", "install"
end
end
end
require 'package'
class Llvm_polly < Package
description 'Polly is a high-level loop and data-locality optimizer and optimization infrastructure for LLVM.'
homepage 'https://polly.llvm.org/'
version '6.0.0'
source_url 'https://releases.llvm.org/6.0.0/polly-6.0.0.src.tar.xz'
source_sha256 '47e493a799dca35bc68ca2ceaeed27c5ca09b12241f87f7220b5f5882194f59c'
binary_url ({
aarch64: 'https://dl.bintray.com/chromebrew/chromebrew/llvm_polly-6.0.0-chromeos-armv7l.tar.xz',
armv7l: 'https://dl.bintray.com/chromebrew/chromebrew/llvm_polly-6.0.0-chromeos-armv7l.tar.xz',
i686: 'https://dl.bintray.com/chromebrew/chromebrew/llvm_polly-6.0.0-chromeos-i686.tar.xz',
x86_64: 'https://dl.bintray.com/chromebrew/chromebrew/llvm_polly-6.0.0-chromeos-x86_64.tar.xz',
})
binary_sha256 ({
aarch64: '6cbcf1f4b4be8436cb8777b4901415a3b4491245bd0cf1c91282f5a0fcbc4695',
armv7l: '6cbcf1f4b4be8436cb8777b4901415a3b4491245bd0cf1c91282f5a0fcbc4695',
i686: 'bc820d67a82ca545669b8c19abd689fce9013ae4a2d3ed906a2334c24ac31b63',
x86_64: '2c871c0b3f35f4102f473c286c84d3ef8e2549749906dcdab8c6925ea1a6eb3a',
})
depends_on 'llvm'
def self.build
system "mkdir -p builddir"
Dir.chdir("builddir") do
case ARCH
when "x86_64"
system "cmake",
"-DCMAKE_INSTALL_PREFIX=#{CREW_PREFIX}",
"-DLLVM_LIBDIR_SUFFIX=64",
"-DBUILD_SHARED_LIBS=ON",
"-DCMAKE_BUILD_TYPE=Release",
"-DLLVM_FILECHECK=ON",
"-DLLVM_NOT=ON",
".."
else
system "cmake",
"-DCMAKE_INSTALL_PREFIX=#{CREW_PREFIX}",
"-DBUILD_SHARED_LIBS=ON",
"-DCMAKE_BUILD_TYPE=Release",
"-DLLVM_FILECHECK=ON",
"-DLLVM_NOT=ON",
".."
end
system "make"
end
end
def self.install
Dir.chdir("builddir") do
system "make", "DESTDIR=#{CREW_DEST_DIR}", "install"
end
end
end
require 'package'
class Llvm_unwind < Package
description 'Part of the LLVM project.'
homepage 'https://github.com/llvm-mirror/libunwind'
version '6.0.0'
source_url 'https://releases.llvm.org/6.0.0/libunwind-6.0.0.src.tar.xz'
source_sha256 '256c4ed971191bde42208386c8d39e5143fa4afd098e03bd2c140c878c63f1d6'
binary_url ({
aarch64: 'https://dl.bintray.com/chromebrew/chromebrew/llvm_unwind-6.0.0-chromeos-armv7l.tar.xz',
armv7l: 'https://dl.bintray.com/chromebrew/chromebrew/llvm_unwind-6.0.0-chromeos-armv7l.tar.xz',
i686: 'https://dl.bintray.com/chromebrew/chromebrew/llvm_unwind-6.0.0-chromeos-i686.tar.xz',
x86_64: 'https://dl.bintray.com/chromebrew/chromebrew/llvm_unwind-6.0.0-chromeos-x86_64.tar.xz',
})
binary_sha256 ({
aarch64: '3fa7a4015549fffef05586673ce27fdff912b82e559df299c4edc007bcc59b6b',
armv7l: '3fa7a4015549fffef05586673ce27fdff912b82e559df299c4edc007bcc59b6b',
i686: '0966f9d500bc0330f486f97e4203def62ce9f76cf3cff6b53eefb4d1b265fd2c',
x86_64: '8f11eec662c83e7baaeb613e13ebfd1e62e54c5e3bb5cc81319ae3d2b5cd310e',
})
depends_on 'llvm'
def self.build
system "mkdir -p builddir"
Dir.chdir("builddir") do
case ARCH
when "x86_64"
system "cmake",
"-DCMAKE_INSTALL_PREFIX=#{CREW_PREFIX}",
"-DLLVM_LIBDIR_SUFFIX=64",
"-DBUILD_SHARED_LIBS=ON",
"-DCMAKE_BUILD_TYPE=Release",
".."
else
system "cmake",
"-DCMAKE_INSTALL_PREFIX=#{CREW_PREFIX}",
"-DBUILD_SHARED_LIBS=ON",
"-DCMAKE_BUILD_TYPE=Release",
".."
end
system "make"
end
end
def self.install
Dir.chdir("builddir") do
system "make", "DESTDIR=#{CREW_DEST_DIR}", "install"
end
end
end
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment