Skip to content

Commit 702d0d5

Browse files
committed
switches Julia to LLVM 6.0.0 and uses BinaryBuilder for CI
- changes the support LLVM version to 6.0.0 - adds support for using a pre-built LLVM binary from `staticfloat/LLVMBuilder` taking advantage of the BinaryBuilder infrastructure. - adds two Makefile flags: - `BINARYBUILDER_TRIPLET` the BinaryBuilder triplet you are building for. An example would be `x86_64-linux-gnu`. - `USE_BINARYBUILDER_LLVM = 0` set this to 1 if you want to use the pre-built binaries for LLVM. - uses the pre-built binaries on OSX Travis instead of the bottle. - uses the pre-built binaries on Appveyor instead of a custom cache.
1 parent 7f47f42 commit 702d0d5

21 files changed

Lines changed: 57 additions & 23 deletions

File tree

‎.travis.yml‎

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -85,11 +85,12 @@ before_install:
8585
brew tap staticfloat/julia;
8686
brew rm --force $(brew deps --HEAD julia);
8787
brew install -v --only-dependencies --HEAD julia;
88-
brew install -v staticfloat/juliadeps/libgfortran llvm39-julia;
89-
BUILDOPTS="-j3 USECLANG=1 USECCACHE=1 LLVM_CONFIG=$(brew --prefix llvm39-julia)/bin/llvm-config LLVM_SIZE=$(brew --prefix llvm39-julia)/bin/llvm-size";
88+
brew install -v staticfloat/juliadeps/libgfortran;
89+
BUILDOPTS="-j3 USECLANG=1 USECCACHE=1 BINARYBUILDER_TRIPLET=x86_64-apple-darwin14";
90+
BUILDOPTS="$BUILDOPTS USE_BINARYBUILDER_LLVM=1 LLVM_CONFIG=$TRAVIS_BUILD_DIR/usr/tools/llvm-config LLVM_SIZE=$TRAVIS_BUILD_DIR/usr/tools/llvm-size";
9091
BUILDOPTS="$BUILDOPTS VERBOSE=1 USE_BLAS64=0 SUITESPARSE_INC=-I$(brew --prefix suite-sparse-julia)/include FORCE_ASSERTIONS=1";
9192
BUILDOPTS="$BUILDOPTS LIBBLAS=-lopenblas LIBBLASNAME=libopenblas LIBLAPACK=-lopenblas LIBLAPACKNAME=libopenblas";
92-
for lib in LLVM SUITESPARSE ARPACK BLAS LAPACK GMP MPFR PCRE LIBUNWIND; do
93+
for lib in SUITESPARSE ARPACK BLAS LAPACK GMP MPFR PCRE LIBUNWIND; do
9394
BUILDOPTS="$BUILDOPTS USE_SYSTEM_$lib=1";
9495
done;
9596
export LDFLAGS="-L$(brew --prefix openblas-julia)/lib -L$(brew --prefix suite-sparse-julia)/lib";

‎Make.inc‎

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -220,6 +220,11 @@ includedir_rel := $(shell $(JULIAHOME)/contrib/relative_path.sh $(bindir) $(incl
220220
INSTALL_F := $(JULIAHOME)/contrib/install.sh 644
221221
INSTALL_M := $(JULIAHOME)/contrib/install.sh 755
222222

223+
# BinaryBuilder options
224+
# TODO: Autodiscover triplet
225+
USE_BINARYBUILDER_LLVM := 0
226+
BINARYBUILDER_TRIPLET :=
227+
223228
# LLVM Options
224229
LLVMROOT := $(build_prefix)
225230
LLVM_ASSERTIONS := 0

‎contrib/windows/appveyor_build.sh‎

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -45,13 +45,15 @@ if [ "$ARCH" = x86_64 ]; then
4545
echo 'USE_BLAS64 = 1' >> Make.user
4646
echo 'LIBBLAS = -L$(JULIAHOME)/usr/bin -lopenblas64_' >> Make.user
4747
echo 'LIBBLASNAME = libopenblas64_' >> Make.user
48+
echo 'BINARYBUILDER_TRIPLET = x86_64-w64-mingw32' >> Make.user
4849
else
4950
bits=32
5051
archsuffix=86
5152
exc=sjlj
5253
echo "override MARCH = pentium4" >> Make.user
5354
echo 'LIBBLAS = -L$(JULIAHOME)/usr/bin -lopenblas' >> Make.user
5455
echo 'LIBBLASNAME = libopenblas' >> Make.user
56+
echo 'BINARYBUILDER_TRIPLET = i686-w64-mingw32' >> Make.user
5557
fi
5658
echo "override JULIA_CPU_TARGET=generic;native" >> Make.user
5759

@@ -128,8 +130,7 @@ if [ -z "$USEMSVC" ]; then
128130
rm -f mingw$bits/bin/make.exe
129131
fi
130132
export AR=${CROSS_COMPILE}ar
131-
132-
f=llvm-3.9.1-$ARCH-w64-mingw32-juliadeps-r07.7z
133+
mkdir -p usr/tools
133134
else
134135
echo "override USEMSVC = 1" >> Make.user
135136
echo "override ARCH = $ARCH" >> Make.user
@@ -143,13 +144,12 @@ else
143144
echo "override LD = $LD -DEBUG" >> Make.user
144145

145146
f=llvm-3.3-$ARCH-msvc12-juliadeps.7z
147+
checksum_download \
148+
"$f" "https://bintray.com/artifact/download/tkelman/generic/$f"
149+
echo "Extracting $f"
150+
$SEVENZIP x -y $f >> get-deps.log
146151
fi
147152

148-
checksum_download \
149-
"$f" "https://bintray.com/artifact/download/tkelman/generic/$f"
150-
echo "Extracting $f"
151-
$SEVENZIP x -y $f >> get-deps.log
152-
153153
if [ -z "`which make 2>/dev/null`" ]; then
154154
if [ -n "`uname | grep CYGWIN`" ]; then
155155
echo "Install the Cygwin package for 'make' and try again."
@@ -170,7 +170,7 @@ if ! [ -e usr/bin/busybox.exe ]; then
170170
echo "Downloading $f"
171171
$curlflags -o usr/bin/busybox.exe http://frippery.org/files/busybox/$f
172172
fi
173-
chmod +x usr/bin/* usr/tools/*
173+
chmod -R +x usr/bin usr/tools
174174

175175
for lib in SUITESPARSE ARPACK BLAS LAPACK \
176176
GMP MPFR PCRE LIBUNWIND; do
@@ -202,7 +202,9 @@ if [ -n "$USEMSVC" ]; then
202202
-e 's|$dir/$lib|$dir/lib$lib|g' deps/srccache/libuv/compile > linkld
203203
chmod +x linkld
204204
else
205-
echo 'override DEP_LIBS += openlibm' >> Make.user
205+
# Use BinaryBuilder
206+
echo 'USE_BINARYBUILDER_LLVM = 1' >> Make.user
207+
echo 'override DEP_LIBS += llvm openlibm' >> Make.user
206208
make check-whitespace
207209
make VERBOSE=1 -C base version_git.jl.phony
208210
echo 'NO_GIT = 1' >> Make.user

‎deps/Versions.make‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
LLVM_VER = 3.9.1
1+
LLVM_VER = 6.0.0
2+
LLVM_BB_REL = 1
23
PCRE_VER = 10.30
34
DSFMT_VER = 2.2.3
45
LAPACK_VER = 3.5.0

‎deps/checksums/cfe-3.9.1.src.tar.xz/md5‎

Lines changed: 0 additions & 1 deletion
This file was deleted.

‎deps/checksums/cfe-3.9.1.src.tar.xz/sha512‎

Lines changed: 0 additions & 1 deletion
This file was deleted.
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
121b3896cb0c7765d690acc5d9495d24
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
e886dd27448503bbfc7fd4f68eb089c19b2f2be4f0e5b26d3df253833f60b91d70b472a6b530063386e2252075b110ce9f5942800feddf6c34b94a75cf7bd5c6

‎deps/checksums/compiler-rt-3.9.1.src.tar.xz/md5‎

Lines changed: 0 additions & 1 deletion
This file was deleted.

‎deps/checksums/compiler-rt-3.9.1.src.tar.xz/sha512‎

Lines changed: 0 additions & 1 deletion
This file was deleted.

0 commit comments

Comments
 (0)