Skip to content

Commit

Permalink
Merge pull request JuliaLang#14623 from JuliaLang/llvm37
Browse files Browse the repository at this point in the history
Upgrade to LLVM 3.7.1 and switch over CI
  • Loading branch information
Keno committed Jan 15, 2016
2 parents 0a00109 + 7725b8e commit d4749d2
Show file tree
Hide file tree
Showing 19 changed files with 27 additions and 42 deletions.
8 changes: 4 additions & 4 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,8 @@ matrix:
- bar
- g++-5
- gfortran-5
- os: osx
env: ARCH="x86_64"
# - os: osx # TODO: turn this back on once it's fast enough to not time out
# env: ARCH="x86_64"
cache:
directories:
- $TRAVIS_BUILD_DIR/deps/srccache
Expand Down Expand Up @@ -63,12 +63,12 @@ before_install:
brew tap staticfloat/julia;
brew rm --force $(brew deps --HEAD julia);
brew install -v --only-dependencies --HEAD julia;
brew install -v llvm33-julia;
BUILDOPTS="-j3 USECLANG=1 LLVM_CONFIG=$(brew --prefix llvm33-julia)/bin/llvm-config-3.3 VERBOSE=1 USE_BLAS64=0 SUITESPARSE_INC=-I$(brew --prefix suite-sparse-julia)/include FORCE_ASSERTIONS=1 STAGE2_DEPS=utf8proc";
BUILDOPTS="-j3 USECLANG=1 LLVM_CONFIG=$(brew --prefix llvm37-julia)/bin/llvm-config-3.7.1 VERBOSE=1 USE_BLAS64=0 SUITESPARSE_INC=-I$(brew --prefix suite-sparse-julia)/include FORCE_ASSERTIONS=1 STAGE2_DEPS=utf8proc";
BUILDOPTS="$BUILDOPTS LIBBLAS=-lopenblas LIBBLASNAME=libopenblas LIBLAPACK=-lopenblas LIBLAPACKNAME=libopenblas";
for lib in LLVM SUITESPARSE ARPACK BLAS FFTW LAPACK GMP MPFR PCRE LIBUNWIND LIBGIT2; do
export BUILDOPTS="$BUILDOPTS USE_SYSTEM_$lib=1";
done;
export CXXFLAGS=-DUSE_ORCJIT;
export LDFLAGS="-L$(brew --prefix openblas-julia)/lib -L$(brew --prefix suite-sparse-julia)/lib";
export DYLD_FALLBACK_LIBRARY_PATH="/usr/local/lib:/lib:/usr/lib:$(brew --prefix openblas-julia)/lib:$(brew --prefix suite-sparse-julia)/lib:$(brew --prefix arpack-julia)/lib";
make $BUILDOPTS -C contrib -f repackage_system_suitesparse4.make;
Expand Down
4 changes: 2 additions & 2 deletions LICENSE.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ for exceptions.
Julia includes code from the following projects, which have their own licenses:
- [LDC](https://github.com/ldc-developers/ldc/blob/master/LICENSE) (for ccall/cfunction ABI definitions) [BSD-3]. The portion of code that Julia uses from LDC is [BSD-3] licensed.
- [LLVM](https://llvm.org/releases/3.3/LICENSE.TXT) (for parts of src/jitlayers.cpp and src/disasm.cpp) [BSD-3, effectively]
- [LLVM](https://llvm.org/releases/3.7.0/LICENSE.TXT) (for parts of src/jitlayers.cpp and src/disasm.cpp) [BSD-3, effectively]
- [MUSL](https://git.musl-libc.org/cgit/musl/tree/COPYRIGHT) (for getopt implementations on Windows) [MIT]
- [NetBSD](https://www.netbsd.org/about/redistribution.html) (for setjmp, longjmp, and strptime implementations on Windows) [BSD-3]

Expand All @@ -39,7 +39,7 @@ own licenses:
- [FEMTOLISP](https://github.com/JeffBezanson/femtolisp) [BSD-3]
- [LIBUNWIND](https://git.savannah.gnu.org/gitweb/?p=libunwind.git;a=blob_plain;f=LICENSE;hb=master) [MIT]
- [LIBUV](https://github.com/joyent/libuv/blob/master/LICENSE) [MIT]
- [LLVM](https://llvm.org/releases/3.3/LICENSE.TXT) [BSD-3, effectively]
- [LLVM](https://llvm.org/releases/3.7.0/LICENSE.TXT) [BSD-3, effectively]
- [UTF8PROC](https://github.com/JuliaLang/libmojibake) [MIT]


Expand Down
1 change: 0 additions & 1 deletion Make.inc
Original file line number Diff line number Diff line change
Expand Up @@ -603,7 +603,6 @@ JCFLAGS += -fsigned-char

LLVM_ASSERTIONS=1
#LLVM_FLAGS+="--with-float=hard --with-abi=aapcs-vfp"
LLVM_VER:=3.7.1

override USE_BLAS64:=0
override OPENBLAS_DYNAMIC_ARCH:=0
Expand Down
2 changes: 0 additions & 2 deletions Make.powerpc
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,6 @@ ifeq ($(USE_SYSTEM_LLVM),1)
LLVM_CONFIG=llvm-config-3.5
else
LLVM_ASSERTIONS=1
LLVM_VER=3.7.1
LLVM_ASSERTIONS=1
endif

# On a newly allocated machine, you'll need the following dependencies:
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -267,7 +267,7 @@ Building Julia requires that the following software be installed:

Julia uses the following external libraries, which are automatically downloaded (or in a few cases, included in the Julia source repository) and then compiled from source the first time you run `make`:

- **[LLVM]** (3.3) — compiler infrastructure. (3.4 not supported; 3.5+ mostly supported, [with caveats](https://github.com/JuliaLang/julia/issues/9336))
- **[LLVM]** (3.7) — compiler infrastructure.
- **[FemtoLisp]** — packaged with Julia source, and used to implement the compiler front-end.
- **[libuv]** — portable, high-performance event-based I/O library
- **[OpenLibm]** — portable libm library containing elementary math functions.
Expand Down
4 changes: 2 additions & 2 deletions appveyor.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,8 @@ cache:
# Cache any downloads from sourceforge because it's really unreliable
- i686-4.9.2-release-win32-sjlj-rt_v4-rev3.7z
- x86_64-4.9.2-release-win32-seh-rt_v4-rev3.7z
- llvm-3.3-i686-w64-mingw32-juliadeps.7z
- llvm-3.3-x86_64-w64-mingw32-juliadeps.7z
- llvm-3.7.1-i686-w64-mingw32-juliadeps-r03.7z
- llvm-3.7.1-x86_64-w64-mingw32-juliadeps-r03.7z

build_script:
# If there's a newer build queued for the same PR, cancel this one
Expand Down
6 changes: 1 addition & 5 deletions contrib/windows/msys_build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -118,11 +118,7 @@ if [ -z "$USEMSVC" ]; then
fi
export AR=${CROSS_COMPILE}ar

f=llvm-3.3-$ARCH-w64-mingw32-juliadeps.7z
# The MinGW binary version of LLVM doesn't include libgtest or libgtest_main
mkdir -p usr/lib
$AR cr usr/lib/libgtest.a
$AR cr usr/lib/libgtest_main.a
f=llvm-3.7.1-$ARCH-w64-mingw32-juliadeps-r03.7z
else
echo "override USEMSVC = 1" >> Make.user
echo "override ARCH = $ARCH" >> Make.user
Expand Down
30 changes: 12 additions & 18 deletions deps/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -347,37 +347,30 @@ LLVM_OBJ_SOURCE := $(LLVM_BUILD_DIR)/build_$(LLVM_BUILDTYPE)/$(LLVM_FLAVOR)/lib/
endif
LLVM_OBJ_TARGET := $(build_libdir)/$(LLVM_LIB_FILE)

ifneq ($(LLVM_VER),svn)
ifeq ($(LLVM_VER), 3.3)
LLVM_TAR:=$(SRCDIR)/srccache/llvm-$(LLVM_VER).src.tar.gz
LLVM_TAR_EXT:=$(LLVM_VER).src.tar.gz
else
LLVM_TAR:=$(SRCDIR)/srccache/llvm-$(LLVM_VER).src.tar.xz
endif
LLVM_TAR_EXT:=$(LLVM_VER).src.tar.xz
endif # LLVM_VER == 3.3

ifneq ($(LLVM_VER),svn)
LLVM_TAR:=$(SRCDIR)/srccache/llvm-$(LLVM_TAR_EXT)

ifeq ($(BUILD_LLDB),1)
ifeq ($(LLVM_VER), 3.3)
LLVM_LLDB_TAR:=$(SRCDIR)/srccache/lldb-$(LLVM_VER).src.tar.gz
else
LLVM_LLDB_TAR:=$(SRCDIR)/srccache/lldb-$(LLVM_VER).src.tar.xz
endif # LLVM_VER == 3.3
LLVM_LLDB_TAR:=$(SRCDIR)/srccache/lldb-$(LLVM_TAR_EXT)
endif # BUILD_LLDB

ifeq ($(BUILD_LLVM_CLANG),1)
ifeq ($(LLVM_VER), 3.3)
LLVM_CLANG_TAR:=$(SRCDIR)/srccache/cfe-$(LLVM_VER).src.tar.gz
LLVM_COMPILER_RT_TAR:=$(SRCDIR)/srccache/compiler-rt-$(LLVM_VER).src.tar.gz
else
LLVM_CLANG_TAR:=$(SRCDIR)/srccache/cfe-$(LLVM_VER).src.tar.xz
LLVM_COMPILER_RT_TAR:=$(SRCDIR)/srccache/compiler-rt-$(LLVM_VER).src.tar.xz
endif # LLVM_VER
LLVM_CLANG_TAR:=$(SRCDIR)/srccache/cfe-$(LLVM_TAR_EXT)
LLVM_COMPILER_RT_TAR:=$(SRCDIR)/srccache/compiler-rt-$(LLVM_TAR_EXT)
else
LLVM_CLANG_TAR:=
LLVM_COMPILER_RT_TAR:=
LLVM_LIBCXX_TAR:=
endif # BUILD_LLVM_CLANG

ifeq ($(BUILD_CUSTOM_LIBCXX),1)
LLVM_LIBCXX_TAR:=$(SRCDIR)/srccache/libcxx-$(LLVM_VER).src.tar.gz
LLVM_LIBCXX_TAR:=$(SRCDIR)/srccache/libcxx-$(LLVM_TAR_EXT)
endif
endif # LLVM_VER != svn

Expand All @@ -387,7 +380,8 @@ LLVM_LDFLAGS := $(LDFLAGS)
LLVM_TARGETS := host
LLVM_TARGET_FLAGS := --enable-targets=$(LLVM_TARGETS)
LLVM_CMAKE += -DLLVM_TARGETS_TO_BUILD:STRING="$(LLVM_TARGETS)" -DCMAKE_BUILD_TYPE="$(LLVM_BUILDTYPE)" -DLLVM_BUILD_LLVM_DYLIB:BOOL=ON -DLLVM_DYLIB_EXPORT_ALL:BOOL=ON
LLVM_FLAGS += --disable-profiling --enable-shared --enable-static $(LLVM_TARGET_FLAGS) --disable-bindings --disable-docs
LLVM_FLAGS += --disable-profiling --enable-shared --enable-static $(LLVM_TARGET_FLAGS)
LLVM_FLAGS += --disable-bindings --disable-docs --disable-libedit --disable-terminfo
# LLVM has weird install prefixes (see llvm-$(LLVM_VER)/build_$(LLVM_BUILDTYPE)/Makefile.config for the full list)
# We map them here to the "normal" ones, which means just prefixing "PROJ_" to the variable name.
LLVM_MFLAGS := PROJ_libdir=$(build_libdir) PROJ_bindir=$(build_bindir) PROJ_includedir=$(build_includedir)
Expand Down
2 changes: 1 addition & 1 deletion deps/Versions.make
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
LLVM_VER = 3.3
LLVM_VER = 3.7.1
LLVM_LIB_SUFFIX =
PCRE_VER = 10.20
DSFMT_VER = 2.2.3
Expand Down
1 change: 0 additions & 1 deletion deps/checksums/llvm-3.3-i686-w64-mingw32-juliadeps.7z/md5

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

1 change: 0 additions & 1 deletion deps/checksums/llvm-3.3.src.tar.gz/md5

This file was deleted.

1 change: 0 additions & 1 deletion deps/checksums/llvm-3.3.src.tar.gz/sha512

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
0ca00bce067fcd5250253cda895e2ebc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
e1a86a4d173bf0ea7e8bb8490fa8d332933ae9c1ba90cdf769945e225e2554b3cc0387156a7a38f5f97e637b5da23d1b06b57dbe2bb2aeb9504cb4e12f73dab4
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
2f28c7608cfe6a7bf0e07bd87453701d
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
644350781b69aa3be302c9acd6a616b6601236941e26e022988e56017b42be5afdc1da98bcd8f3d4a706fd85481913ad83d16cd37aefd549f28405a596f5ce7c

0 comments on commit d4749d2

Please sign in to comment.