This commit is contained in:
Ertuğrul Erata
2015-06-25 00:03:56 +03:00
parent ffbbf11346
commit ed4b0f6086
38 changed files with 3833 additions and 1 deletions
@@ -0,0 +1,39 @@
Index: cmake/modules/Makefile
===================================================================
--- cmake/modules/Makefile (revision 217483)
+++ cmake/modules/Makefile (revision 217484)
@@ -33,6 +33,16 @@
LLVM_ENABLE_RTTI := 0
endif
+LLVM_LIBS_TO_EXPORT := $(subst -l,,$(shell $(LLVM_CONFIG) --libs $(LINK_COMPONENTS) || echo Error))
+
+ifeq ($(LLVM_LIBS_TO_EXPORT),Error)
+$(error llvm-config --libs failed)
+endif
+
+ifndef LLVM_LIBS_TO_EXPORT
+$(error LLVM_LIBS_TO_EXPORT cannot be empty)
+endif
+
OBJMODS := LLVMConfig.cmake LLVMConfigVersion.cmake LLVMExports.cmake
$(PROJ_OBJ_DIR)/LLVMConfig.cmake: LLVMConfig.cmake.in $(LLVMBuildCMakeFrag)
@@ -45,7 +55,7 @@
-e 's/@LLVM_VERSION_PATCH@/'"$(LLVM_VERSION_PATCH)"'/' \
-e 's/@PACKAGE_VERSION@/'"$(LLVMVersion)"'/' \
-e 's/@LLVM_COMMON_DEPENDS@//' \
- -e 's/@LLVM_AVAILABLE_LIBS@/'"$(subst -l,,$(LLVMConfigLibs))"'/' \
+ -e 's/@LLVM_AVAILABLE_LIBS@/'"$(LLVM_LIBS_TO_EXPORT)"'/' \
-e 's/@LLVM_ALL_TARGETS@/'"$(ALL_TARGETS)"'/' \
-e 's/@LLVM_TARGETS_TO_BUILD@/'"$(TARGETS_TO_BUILD)"'/' \
-e 's/@LLVM_TARGETS_WITH_JIT@/'"$(TARGETS_WITH_JIT)"'/' \
@@ -83,7 +93,7 @@
$(Echo) 'Generating LLVM CMake target exports file'
$(Verb) ( \
echo '# LLVM CMake target exports. Do not include directly.' && \
- for lib in $(subst -l,,$(LLVMConfigLibs)); do \
+ for lib in $(LLVM_LIBS_TO_EXPORT); do \
echo 'add_library('"$$lib"' STATIC IMPORTED)' && \
echo 'set_property(TARGET '"$$lib"' PROPERTY IMPORTED_LOCATION "'"$(PROJ_libdir)/lib$$lib.a"'")' ; \
done && \
@@ -0,0 +1,28 @@
Index: llvm-toolchain-snapshot-3.5~svn211313/tools/bugpoint/Makefile
===================================================================
--- llvm-toolchain-snapshot-3.5~svn211313.orig/tools/bugpoint/Makefile
+++ llvm-toolchain-snapshot-3.5~svn211313/tools/bugpoint/Makefile
@@ -12,6 +12,9 @@ TOOLNAME := bugpoint
LINK_COMPONENTS := asmparser instrumentation scalaropts ipo linker bitreader \
bitwriter irreader vectorize objcarcopts codegen
+# Crappy workaround to make sure it links correctly.
+LLVMLibsOptions := ../../lib/IR/Release*/Pass.o
+
# Support plugins.
NO_DEAD_STRIP := 1
Index: llvm-toolchain-snapshot-3.5~svn211313/tools/opt/Makefile
===================================================================
--- llvm-toolchain-snapshot-3.5~svn211313.orig/tools/opt/Makefile
+++ llvm-toolchain-snapshot-3.5~svn211313/tools/opt/Makefile
@@ -10,7 +10,9 @@
LEVEL := ../..
TOOLNAME := opt
LINK_COMPONENTS := bitreader bitwriter asmparser irreader instrumentation scalaropts objcarcopts ipo vectorize all-targets codegen
+# Crappy workaround to make sure it links correctly.
+LLVMLibsOptions := ../../lib/IR/Release*/Pass.o
# Support plugins.
NO_DEAD_STRIP := 1