changeset 4510:140689282d54

llvm: Update to version 5.0.
author John W. Eaton <jwe@octave.org>
date Mon, 16 Oct 2017 20:26:32 -0400
parents 3d2263062bbd
children 0117b5797a5c
files src/llvm.mk
diffstat 1 files changed, 27 insertions(+), 87 deletions(-) [+]
line wrap: on
line diff
--- a/src/llvm.mk	Thu Oct 12 15:37:33 2017 -0400
+++ b/src/llvm.mk	Mon Oct 16 20:26:32 2017 -0400
@@ -3,102 +3,42 @@
 
 PKG             := llvm
 $(PKG)_IGNORE   :=
-$(PKG)_VERSION  := 3.3
-$(PKG)_CHECKSUM := c6c22d5593419e3cb47cbcf16d967640e5cce133
+$(PKG)_VERSION  := 5.0.0
+$(PKG)_CHECKSUM := 7b0fd212ecc38461e392cbdcbe6a1d4944138a04
 $(PKG)_SUBDIR   := llvm-$($(PKG)_VERSION).src
-$(PKG)_FILE     := llvm-$($(PKG)_VERSION).src.tar.gz
-$(PKG)_URL      := http://llvm.org/releases/$($(PKG)_VERSION)/$($(PKG)_FILE)
+$(PKG)_FILE     := llvm-$($(PKG)_VERSION).src.tar.xz
+$(PKG)_URL      := http://releases.llvm.org/$($(PKG)_VERSION)/$($(PKG)_FILE)
 $(PKG)_DEPS     :=
-ifeq ($(MXE_SYSTEM),msvc)
-    $(PKG)_DEPS += libffi
-endif
 
 define $(PKG)_UPDATE
-    $(WGET) -q -O- 'http://llvm.org/releases/download.html' | \
+    $(WGET) -q -O- 'http://releases/llvm.org/download.html' | \
     grep 'Download LLVM' | \
     $(SED) -n 's,.*\([0-9]\.[0-9]\).*,\1,p' | \
     head -1
 endef
 
-ifeq ($(MXE_NATIVE_MINGW_BUILD),yes)
-ifeq ($(MXE_SYSTEM),msvc)
-define $(PKG)_BUILD
-    mkdir '$(1)/.build'
-    cd '$(1)/.build' && cmake \
-        -G "NMake Makefiles" \
-        -DCMAKE_TOOLCHAIN_FILE='$(CMAKE_TOOLCHAIN_FILE)' \
-        -DBUILD_SHARED_LIBS=OFF \
-        -DLLVM_TARGETS_TO_BUILD="X86" \
-        -DLLVM_ENABLE_FFI=ON \
-        "-DFFI_INCLUDE_DIR=$(HOST_LIBDIR)/libffi-$(libffi_VERSION)/include" \
-        -DLLVM_REQUIRES_EH=ON \
-        ../
-    sed -i '/^	echo "/ {s/echo "/echo /;s/" >>/ >>/;}' \
-        '$(1)/.build/tools/llvm-config/CMakeFiles/llvm-config.dir/build.make'
-    cd '$(1)/.build' && \
-        env -u MAKE -u MAKEFLAGS nmake && \
-        env -u MAKE -u MAKEFLAGS nmake DESTDIR='$(3)' install
-endef
-else
-define $(PKG)_BUILD
-    mkdir '$(1)/build'
-    cd '$(1)/build' && ../configure  \
-      $(CONFIGURE_CPPFLAGS) $(CONFIGURE_LDFLAGS) \
-      $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
-      --enable-targets='host-only' \
-      --disable-docs \
-      $(ENABLE_SHARED_OR_STATIC) \
-      --prefix='$(HOST_PREFIX)'
-
-    PATH='$(HOST_BINDIR):$(PATH)' $(MAKE) -C '$(1)/build' -j $(JOBS) install DESTDIR='$(3)'
+ifeq ($(MXE_NATIVE_BUILD),yes)
+  ifeq ($(MXE_SYSTEM),gnu-linux)
+    define $(PKG)_BUILD
+      mkdir '$(1)/.build' && cd '$(1)/.build' && cmake .. \
+	$($(PKG)_CMAKE_FLAGS) \
+	-DCMAKE_TOOLCHAIN_FILE='$(CMAKE_TOOLCHAIN_FILE)' \
+        -DLLVM_BUILD_LLVM_DYLIB=On \
+        -DLLVM_LINK_LLVM_DYLIB=On \
+        -DLLVM_VERSION_SUFFIX= \
+        -DLLVM_TARGETS_TO_BUILD='X86' \
+	-DLLVM_BUILD_EXAMPLES=Off \
+	-DLLVM_INCLUDE_EXAMPLES=Off \
+	-DLLVM_BUILD_TESTS=Off \
+	-DLLVM_INCLUDE_TESTS=Off \
+	-DLLVM_ENABLE_BACKTRACES=Off
 
-    # create import lib for the dll
-    $(if $(filter yes, $(BUILD_SHARED)),
-      cd '$(1)/build/tools/llvm-shlib/Release+Asserts' && \
-        $(MXE_DLLTOOL) \
-         --dllname "LLVM-`$(3)$(HOST_BINDIR)/llvm-config --version`.dll" \
-         --def "LLVM-`$(3)$(HOST_BINDIR)/llvm-config --version`.def" \
-         --output-lib "libLLVM-`$(3)$(HOST_BINDIR)/llvm-config --version`.a"
-      $(INSTALL) -d "$(3)$(HOST_LIBDIR)"
-      cd '$(1)/build/tools/llvm-shlib/Release+Asserts' && \
-        $(INSTALL) -m644 \
-         "libLLVM-`$(3)$(HOST_BINDIR)/llvm-config --version`.a" \
-         "$(3)$(HOST_LIBDIR)"
-    )
-endef
-endif
+      $(MAKE) -C '$(1)/.build' -j '$(JOBS)' install DESTDIR='$(3)'
+    endef
+  else
+    echo "unsupported LLVM configuration" && 1>&2
+    exit 1
+  endif
 else
-define $(PKG)_BUILD
-    mkdir '$(1)/build'
-    cd '$(1)/build' && ../configure  \
-      $(CONFIGURE_CPPFLAGS) $(CONFIGURE_LDFLAGS) \
-      $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
-      --enable-targets='x86' \
-      --disable-docs \
-      $(ENABLE_SHARED_OR_STATIC) \
-      --prefix='$(HOST_PREFIX)'
-
-    $(MAKE) -C '$(1)/build' -j $(JOBS)
-    $(MAKE) -C '$(1)/build' -j 1 install DESTDIR='$(3)'
-
-    if [ $(MXE_NATIVE_BUILD) = no ]; then \
-      $(INSTALL) -d '$(3)$(BUILD_TOOLS_PREFIX)/bin'; \
-      $(INSTALL) -m755 '$(3)$(HOST_BINDIR)/llvm-config-host' '$(3)$(BUILD_TOOLS_PREFIX)/bin/llvm-config'; \
-    fi
-
-    # create import lib for the dll
-    if [ $(MXE_SYSTEM) = mingw -a $(BUILD_SHARED) = yes ]; then \
-      cd '$(1)/build/tools/llvm-shlib/Release+Asserts' && \
-        $(MXE_DLLTOOL) \
-         --dllname "LLVM-`$(3)$(BUILD_TOOLS_PREFIX)/bin/llvm-config --version`.dll" \
-         --def "LLVM-`$(3)$(BUILD_TOOLS_PREFIX)/bin/llvm-config --version`.def" \
-         --output-lib "libLLVM-`$(3)$(BUILD_TOOLS_PREFIX)/bin/llvm-config --version`.a"; \
-      $(INSTALL) -d "$(3)$(HOST_LIBDIR)"; \
-      cd '$(1)/build/tools/llvm-shlib/Release+Asserts' && \
-        $(INSTALL) -m644 \
-         "libLLVM-`$(3)$(BUILD_TOOLS_PREFIX)/bin/llvm-config --version`.a" \
-         "$(3)$(HOST_LIBDIR)"; \
-    fi
-
-endef
+  echo "unsupported LLVM configuration" 1>&2 && exit 1
 endif