mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-07-24 11:16:51 +00:00
llvm: update to llvm-3.5.0
Signed-off-by: Stephan Raue <stephan@openelec.tv>
This commit is contained in:
parent
6c0eda0fc2
commit
8a5b34bdbf
@ -17,12 +17,12 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="llvm"
|
||||
PKG_VERSION="3.4.2"
|
||||
PKG_VERSION="3.5.0"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="http://llvm.org/"
|
||||
PKG_URL="http://llvm.org/releases/$PKG_VERSION/${PKG_NAME}-${PKG_VERSION}.src.tar.gz"
|
||||
PKG_URL="http://llvm.org/releases/$PKG_VERSION/${PKG_NAME}-${PKG_VERSION}.src.tar.xz"
|
||||
PKG_SOURCE_DIR="${PKG_NAME}-${PKG_VERSION}.src"
|
||||
PKG_DEPENDS_HOST=""
|
||||
PKG_DEPENDS_TARGET="toolchain llvm:host"
|
||||
@ -98,11 +98,6 @@ pre_configure_host() {
|
||||
autoconf --force --verbose -I m4 -o ../configure
|
||||
)
|
||||
|
||||
( cd ../projects/sample/autoconf
|
||||
aclocal --force --verbose -I m4
|
||||
autoconf --force --verbose -I m4 -o ../configure
|
||||
)
|
||||
|
||||
# we are building hosttools inside the target builddir
|
||||
mkdir -p ../.$TARGET_NAME && cd ../.$TARGET_NAME/
|
||||
rm -rf ../.$HOST_NAME
|
||||
|
@ -1,114 +0,0 @@
|
||||
diff -Naur llvm-3.3.src/autoconf/configure.ac llvm-3.3.src.patch/autoconf/configure.ac
|
||||
--- llvm-3.3.src/autoconf/configure.ac 2013-05-20 22:18:23.000000000 +0200
|
||||
+++ llvm-3.3.src.patch/autoconf/configure.ac 2013-09-24 07:20:25.485443916 +0200
|
||||
@@ -461,6 +461,10 @@
|
||||
AC_CHECK_PROG(BUILD_CXX, c++, c++, , , /usr/ucb/c++)
|
||||
fi
|
||||
fi
|
||||
+ AC_SUBST(BUILD_CPPFLAGS)
|
||||
+ AC_SUBST(BUILD_CFLAGS)
|
||||
+ AC_SUBST(BUILD_CXXFLAGS)
|
||||
+ AC_SUBST(BUILD_LDFLAGS)
|
||||
else
|
||||
AC_SUBST(LLVM_CROSS_COMPILING, [0])
|
||||
fi
|
||||
diff -Naur llvm-3.3.src/autoconf/m4/build_exeext.m4 llvm-3.3.src.patch/autoconf/m4/build_exeext.m4
|
||||
--- llvm-3.3.src/autoconf/m4/build_exeext.m4 2008-09-26 19:27:58.000000000 +0200
|
||||
+++ llvm-3.3.src.patch/autoconf/m4/build_exeext.m4 2013-09-24 07:20:25.485443916 +0200
|
||||
@@ -18,7 +18,7 @@
|
||||
fi
|
||||
fi
|
||||
test -z "$BUILD_CC" && AC_MSG_ERROR([no acceptable cc found in \$PATH])
|
||||
- ac_build_link='${BUILD_CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&AS_MESSAGE_LOG_FD'
|
||||
+ ac_build_link='${BUILD_CC-cc} -o conftest $BUILD_CFLAGS $BUILD_CPPFLAGS $BUILD_LDFLAGS conftest.$ac_ext $LIBS 1>&AS_MESSAGE_LOG_FD'
|
||||
rm -f conftest*
|
||||
echo 'int main () { return 0; }' > conftest.$ac_ext
|
||||
ac_cv_build_exeext=
|
||||
diff -Naur llvm-3.3.src/Makefile llvm-3.3.src.patch/Makefile
|
||||
--- llvm-3.3.src/Makefile 2013-01-28 04:19:57.000000000 +0100
|
||||
+++ llvm-3.3.src.patch/Makefile 2013-09-24 07:21:27.489493235 +0200
|
||||
@@ -99,44 +99,6 @@
|
||||
DIRS := $(filter-out unittests, $(DIRS))
|
||||
endif
|
||||
|
||||
-# If we're cross-compiling, build the build-hosted tools first
|
||||
-ifeq ($(LLVM_CROSS_COMPILING),1)
|
||||
-all:: cross-compile-build-tools
|
||||
-
|
||||
-clean::
|
||||
- $(Verb) rm -rf BuildTools
|
||||
-
|
||||
-cross-compile-build-tools:
|
||||
- $(Verb) if [ ! -f BuildTools/Makefile ]; then \
|
||||
- $(MKDIR) BuildTools; \
|
||||
- cd BuildTools ; \
|
||||
- unset CFLAGS ; \
|
||||
- unset CXXFLAGS ; \
|
||||
- unset SDKROOT ; \
|
||||
- unset UNIVERSAL_SDK_PATH ; \
|
||||
- $(PROJ_SRC_DIR)/configure --build=$(BUILD_TRIPLE) \
|
||||
- --host=$(BUILD_TRIPLE) --target=$(BUILD_TRIPLE) \
|
||||
- --disable-polly ; \
|
||||
- cd .. ; \
|
||||
- fi; \
|
||||
- ($(MAKE) -C BuildTools \
|
||||
- BUILD_DIRS_ONLY=1 \
|
||||
- UNIVERSAL= \
|
||||
- UNIVERSAL_SDK_PATH= \
|
||||
- SDKROOT= \
|
||||
- TARGET_NATIVE_ARCH="$(TARGET_NATIVE_ARCH)" \
|
||||
- TARGETS_TO_BUILD="$(TARGETS_TO_BUILD)" \
|
||||
- ENABLE_OPTIMIZED=$(ENABLE_OPTIMIZED) \
|
||||
- ENABLE_PROFILING=$(ENABLE_PROFILING) \
|
||||
- ENABLE_COVERAGE=$(ENABLE_COVERAGE) \
|
||||
- DISABLE_ASSERTIONS=$(DISABLE_ASSERTIONS) \
|
||||
- ENABLE_EXPENSIVE_CHECKS=$(ENABLE_EXPENSIVE_CHECKS) \
|
||||
- ENABLE_LIBCPP=$(ENABLE_LIBCPP) \
|
||||
- CFLAGS= \
|
||||
- CXXFLAGS= \
|
||||
- ) || exit 1;
|
||||
-endif
|
||||
-
|
||||
# Include the main makefile machinery.
|
||||
include $(LLVM_SRC_ROOT)/Makefile.rules
|
||||
|
||||
diff -Naur llvm-3.3.src/Makefile.config.in llvm-3.3.src.patch/Makefile.config.in
|
||||
--- llvm-3.3.src/Makefile.config.in 2013-04-23 10:28:39.000000000 +0200
|
||||
+++ llvm-3.3.src.patch/Makefile.config.in 2013-09-24 07:20:25.487443917 +0200
|
||||
@@ -130,6 +130,10 @@
|
||||
# call if we're cross-compiling).
|
||||
BUILD_CC=@BUILD_CC@
|
||||
BUILD_CXX=@BUILD_CXX@
|
||||
+BUILD_CPPFLAGS=@BUILD_CPPFLAGS@
|
||||
+BUILD_CFLAGS=@BUILD_CFLAGS@
|
||||
+BUILD_CXXFLAGS=@BUILD_CXXFLAGS@
|
||||
+BUILD_LDFLAGS=@BUILD_LDFLAGS@
|
||||
|
||||
# Triple for configuring build tools when cross-compiling
|
||||
BUILD_TRIPLE=@build@
|
||||
diff -Naur llvm-3.3.src/projects/sample/autoconf/configure.ac llvm-3.3.src.patch/projects/sample/autoconf/configure.ac
|
||||
--- llvm-3.3.src/projects/sample/autoconf/configure.ac 2013-05-06 18:23:07.000000000 +0200
|
||||
+++ llvm-3.3.src.patch/projects/sample/autoconf/configure.ac 2013-09-24 07:33:47.746272015 +0200
|
||||
@@ -345,6 +345,10 @@
|
||||
AC_CHECK_PROG(BUILD_CXX, c++, c++, , , /usr/ucb/c++)
|
||||
fi
|
||||
fi
|
||||
+ AC_SUBST(BUILD_CPPFLAGS)
|
||||
+ AC_SUBST(BUILD_CFLAGS)
|
||||
+ AC_SUBST(BUILD_CXXFLAGS)
|
||||
+ AC_SUBST(BUILD_LDFLAGS)
|
||||
else
|
||||
AC_SUBST(LLVM_CROSS_COMPILING, [0])
|
||||
fi
|
||||
diff -Naur llvm-3.3.src/projects/sample/autoconf/m4/build_exeext.m4 llvm-3.3.src.patch/projects/sample/autoconf/m4/build_exeext.m4
|
||||
--- llvm-3.3.src/projects/sample/autoconf/m4/build_exeext.m4 2011-10-19 01:10:47.000000000 +0200
|
||||
+++ llvm-3.3.src.patch/projects/sample/autoconf/m4/build_exeext.m4 2013-09-24 07:32:18.332178706 +0200
|
||||
@@ -18,7 +18,7 @@
|
||||
fi
|
||||
fi
|
||||
test -z "$BUILD_CC" && AC_MSG_ERROR([no acceptable cc found in \$PATH])
|
||||
- ac_build_link='${BUILD_CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&AS_MESSAGE_LOG_FD'
|
||||
+ ac_build_link='${BUILD_CC-cc} -o conftest $BUILD_CFLAGS $BUILD_CPPFLAGS $BUILD_LDFLAGS conftest.$ac_ext $LIBS 1>&AS_MESSAGE_LOG_FD'
|
||||
rm -f conftest*
|
||||
echo 'int main () { return 0; }' > conftest.$ac_ext
|
||||
ac_cv_build_exeext=
|
98
packages/lang/llvm/patches/llvm-3.5-cross.patch
Normal file
98
packages/lang/llvm/patches/llvm-3.5-cross.patch
Normal file
@ -0,0 +1,98 @@
|
||||
diff -Naur llvm-3.5.0.src/autoconf/configure.ac llvm-3.5.0.src.patch/autoconf/configure.ac
|
||||
--- llvm-3.5.0.src/autoconf/configure.ac 2014-07-25 19:47:30.000000000 +0200
|
||||
+++ llvm-3.5.0.src.patch/autoconf/configure.ac 2014-09-05 10:42:58.947215468 +0200
|
||||
@@ -485,6 +485,10 @@
|
||||
AC_CHECK_PROG(BUILD_CXX, c++, c++, , , /usr/ucb/c++)
|
||||
fi
|
||||
fi
|
||||
+ AC_SUBST(BUILD_CPPFLAGS)
|
||||
+ AC_SUBST(BUILD_CFLAGS)
|
||||
+ AC_SUBST(BUILD_CXXFLAGS)
|
||||
+ AC_SUBST(BUILD_LDFLAGS)
|
||||
else
|
||||
AC_SUBST(LLVM_CROSS_COMPILING, [0])
|
||||
fi
|
||||
diff -Naur llvm-3.5.0.src/autoconf/m4/build_exeext.m4 llvm-3.5.0.src.patch/autoconf/m4/build_exeext.m4
|
||||
--- llvm-3.5.0.src/autoconf/m4/build_exeext.m4 2008-09-26 19:27:58.000000000 +0200
|
||||
+++ llvm-3.5.0.src.patch/autoconf/m4/build_exeext.m4 2014-09-05 10:42:58.948215478 +0200
|
||||
@@ -18,7 +18,7 @@
|
||||
fi
|
||||
fi
|
||||
test -z "$BUILD_CC" && AC_MSG_ERROR([no acceptable cc found in \$PATH])
|
||||
- ac_build_link='${BUILD_CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&AS_MESSAGE_LOG_FD'
|
||||
+ ac_build_link='${BUILD_CC-cc} -o conftest $BUILD_CFLAGS $BUILD_CPPFLAGS $BUILD_LDFLAGS conftest.$ac_ext $LIBS 1>&AS_MESSAGE_LOG_FD'
|
||||
rm -f conftest*
|
||||
echo 'int main () { return 0; }' > conftest.$ac_ext
|
||||
ac_cv_build_exeext=
|
||||
diff -Naur llvm-3.5.0.src/Makefile llvm-3.5.0.src.patch/Makefile
|
||||
--- llvm-3.5.0.src/Makefile 2014-03-25 22:45:41.000000000 +0100
|
||||
+++ llvm-3.5.0.src.patch/Makefile 2014-09-05 10:45:20.542528330 +0200
|
||||
@@ -99,54 +99,6 @@
|
||||
DIRS := $(filter-out unittests, $(DIRS))
|
||||
endif
|
||||
|
||||
-# If we're cross-compiling, build the build-hosted tools first
|
||||
-ifeq ($(LLVM_CROSS_COMPILING),1)
|
||||
-all:: cross-compile-build-tools
|
||||
-
|
||||
-clean::
|
||||
- $(Verb) rm -rf BuildTools
|
||||
-
|
||||
-cross-compile-build-tools:
|
||||
- $(Verb) if [ ! -f BuildTools/Makefile ]; then \
|
||||
- $(MKDIR) BuildTools; \
|
||||
- cd BuildTools ; \
|
||||
- unset CFLAGS ; \
|
||||
- unset CXXFLAGS ; \
|
||||
- AR=$(BUILD_AR) ; \
|
||||
- AS=$(BUILD_AS) ; \
|
||||
- LD=$(BUILD_LD) ; \
|
||||
- CC=$(BUILD_CC) ; \
|
||||
- CXX=$(BUILD_CXX) ; \
|
||||
- unset SDKROOT ; \
|
||||
- unset UNIVERSAL_SDK_PATH ; \
|
||||
- configure_opts= ; \
|
||||
- if test "$(ENABLE_LIBCPP)" -ne 0 ; then \
|
||||
- configure_opts="$$configure_opts --enable-libcpp"; \
|
||||
- fi; \
|
||||
- $(PROJ_SRC_DIR)/configure --build=$(BUILD_TRIPLE) \
|
||||
- --host=$(BUILD_TRIPLE) --target=$(BUILD_TRIPLE) \
|
||||
- --disable-polly $$configure_opts; \
|
||||
- cd .. ; \
|
||||
- fi; \
|
||||
- ($(MAKE) -C BuildTools \
|
||||
- BUILD_DIRS_ONLY=1 \
|
||||
- UNIVERSAL= \
|
||||
- UNIVERSAL_SDK_PATH= \
|
||||
- SDKROOT= \
|
||||
- TARGET_NATIVE_ARCH="$(TARGET_NATIVE_ARCH)" \
|
||||
- TARGETS_TO_BUILD="$(TARGETS_TO_BUILD)" \
|
||||
- TARGET_LIBS="$(LIBS)" \
|
||||
- ENABLE_OPTIMIZED=$(ENABLE_OPTIMIZED) \
|
||||
- ENABLE_PROFILING=$(ENABLE_PROFILING) \
|
||||
- ENABLE_COVERAGE=$(ENABLE_COVERAGE) \
|
||||
- DISABLE_ASSERTIONS=$(DISABLE_ASSERTIONS) \
|
||||
- ENABLE_EXPENSIVE_CHECKS=$(ENABLE_EXPENSIVE_CHECKS) \
|
||||
- ENABLE_LIBCPP=$(ENABLE_LIBCPP) \
|
||||
- CFLAGS= \
|
||||
- CXXFLAGS= \
|
||||
- ) || exit 1;
|
||||
-endif
|
||||
-
|
||||
# Include the main makefile machinery.
|
||||
include $(LLVM_SRC_ROOT)/Makefile.rules
|
||||
|
||||
diff -Naur llvm-3.5.0.src/Makefile.config.in llvm-3.5.0.src.patch/Makefile.config.in
|
||||
--- llvm-3.5.0.src/Makefile.config.in 2014-07-16 18:50:34.000000000 +0200
|
||||
+++ llvm-3.5.0.src.patch/Makefile.config.in 2014-09-05 10:42:58.954215572 +0200
|
||||
@@ -135,6 +135,10 @@
|
||||
# call if we're cross-compiling).
|
||||
BUILD_CC=@BUILD_CC@
|
||||
BUILD_CXX=@BUILD_CXX@
|
||||
+BUILD_CPPFLAGS=@BUILD_CPPFLAGS@
|
||||
+BUILD_CFLAGS=@BUILD_CFLAGS@
|
||||
+BUILD_CXXFLAGS=@BUILD_CXXFLAGS@
|
||||
+BUILD_LDFLAGS=@BUILD_LDFLAGS@
|
||||
|
||||
# Triple for configuring build tools when cross-compiling
|
||||
BUILD_TRIPLE=@build@
|
@ -1,7 +1,7 @@
|
||||
diff -Naur llvm.src/Makefile.rules llvm.src.patch/Makefile.rules
|
||||
--- llvm.src/Makefile.rules 2013-11-15 00:51:29.000000000 +0100
|
||||
+++ llvm.src.patch/Makefile.rules 2014-01-04 16:33:49.254066226 +0100
|
||||
@@ -577,14 +577,6 @@
|
||||
diff -Naur llvm-3.5.0.src/Makefile.rules llvm-3.5.0.src.patch/Makefile.rules
|
||||
--- llvm-3.5.0.src/Makefile.rules 2014-06-20 21:00:41.000000000 +0200
|
||||
+++ llvm-3.5.0.src.patch/Makefile.rules 2014-09-05 11:04:20.267554714 +0200
|
||||
@@ -594,16 +594,6 @@
|
||||
endif
|
||||
endif
|
||||
|
||||
@ -9,6 +9,8 @@ diff -Naur llvm.src/Makefile.rules llvm.src.patch/Makefile.rules
|
||||
-ifneq ($(HOST_OS), $(filter $(HOST_OS), Cygwin MingW))
|
||||
-ifneq ($(HOST_OS),Darwin)
|
||||
- LD.Flags += $(RPATH) -Wl,'$$ORIGIN'
|
||||
-else
|
||||
- LD.Flags += -Wl,-install_name -Wl,"@rpath/lib$(LIBRARYNAME)$(SHLIBEXT)"
|
||||
-endif
|
||||
-endif
|
||||
-endif
|
||||
@ -16,7 +18,7 @@ diff -Naur llvm.src/Makefile.rules llvm.src.patch/Makefile.rules
|
||||
ifdef TOOL_VERBOSE
|
||||
C.Flags += -v
|
||||
CXX.Flags += -v
|
||||
@@ -613,14 +605,7 @@
|
||||
@@ -650,14 +640,7 @@
|
||||
ifndef TOOL_NO_EXPORTS
|
||||
LD.Flags += $(RDYNAMIC)
|
||||
endif
|
49
packages/lang/llvm/patches/llvm-3.5-gcc-4.9.patch
Normal file
49
packages/lang/llvm/patches/llvm-3.5-gcc-4.9.patch
Normal file
@ -0,0 +1,49 @@
|
||||
The shared-object build for llvm (i.e. libLLVM-3.5svn.so + tools)
|
||||
currently breaks on linux when linking opt. This patch is an attempt
|
||||
to fix that.
|
||||
|
||||
-- Sanjoy
|
||||
-------------- next part --------------
|
||||
commit 080fb498017d17af2e4d7563608c7d8a848f20da
|
||||
Author: Sanjoy Das <sanjoy at azulsystems.com>
|
||||
Date: Thu Jun 19 15:38:02 2014 -0700
|
||||
|
||||
Fix the --enable-shared build.
|
||||
|
||||
Currently a build configured with ./configure --enable-shared breaks
|
||||
with an undefined "llvm::cl::parser<llvm::PassInfo
|
||||
const*>::getOption(unsigned int) const" symbol when linking opt. This
|
||||
body for this symbol gets emitted into Pass.o (along with the destructor
|
||||
for PassNameParser), but gets linked into libLLVM-3.5svn.so with local
|
||||
visibility, causing the link error.
|
||||
|
||||
This fix uses the existing EXTERN_TEMPLATE machinery to force a globally
|
||||
visible definition for the functions in parser<const PassInfo *> into
|
||||
Pass.o.
|
||||
|
||||
diff --git a/include/llvm/IR/LegacyPassNameParser.h b/include/llvm/IR/LegacyPassNameParser.h
|
||||
index e2e4912..a07e3fd 100644
|
||||
--- a/include/llvm/IR/LegacyPassNameParser.h
|
||||
+++ b/include/llvm/IR/LegacyPassNameParser.h
|
||||
@@ -95,6 +95,8 @@ private:
|
||||
}
|
||||
};
|
||||
|
||||
+EXTERN_TEMPLATE_INSTANTIATION(class cl::parser<const PassInfo *>);
|
||||
+
|
||||
///===----------------------------------------------------------------------===//
|
||||
/// FilteredPassNameParser class - Make use of the pass registration
|
||||
/// mechanism to automatically add a command line argument to opt for
|
||||
diff --git a/lib/IR/Pass.cpp b/lib/IR/Pass.cpp
|
||||
index 91d86ae..00ce223 100644
|
||||
--- a/lib/IR/Pass.cpp
|
||||
+++ b/lib/IR/Pass.cpp
|
||||
@@ -234,6 +234,8 @@ PassNameParser::~PassNameParser() {
|
||||
// attempting to remove the registration listener is an error.
|
||||
}
|
||||
|
||||
+TEMPLATE_INSTANTIATION(class cl::parser<const PassInfo *>);
|
||||
+
|
||||
//===----------------------------------------------------------------------===//
|
||||
// AnalysisUsage Class Implementation
|
||||
//
|
Loading…
x
Reference in New Issue
Block a user