From 8524a5258f61e5b2765c9ab2185500a9186b92ea Mon Sep 17 00:00:00 2001 From: Jyun-Yan You Date: Wed, 25 Jan 2012 13:02:28 +0800 Subject: [PATCH 1/6] let clang build llvm, fix rustllvm linking error --- configure | 19 +++++++++++++++---- mk/rustllvm.mk | 2 +- 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/configure b/configure index 1601f46ac1e56..04781c0f3764c 100755 --- a/configure +++ b/configure @@ -536,14 +536,25 @@ do # Disable unused LLVM features LLVM_OPTS="$LLVM_DBG_OPTS --disable-docs --disable-jit --enable-bindings=none --disable-threads --disable-pthreads" - LLVM_CXX_32="g++ -m32" - LLVM_CC_32="gcc -m32" + if [ "$CFG_C_COMPILER" = "clang" ] + then + LLVM_CXX_32="clang++ -m32" + LLVM_CC_32="clang -m32" + + LLVM_CXX_64="clang++" + LLVM_CC_64="clang" + else + LLVM_CXX_32="g++ -m32" + LLVM_CC_32="gcc -m32" + + LLVM_CXX_64="g++" + LLVM_CC_64="gcc" + fi + LLVM_CFLAGS_32="-m32" LLVM_CXXFLAGS_32="-m32" LLVM_LDFLAGS_32="-m32" - LLVM_CXX_64="g++" - LLVM_CC_64="gcc" LLVM_CFLAGS_64="" LLVM_CXXFLAGS_64="" LLVM_LDFLAGS_64="" diff --git a/mk/rustllvm.mk b/mk/rustllvm.mk index cdf95aeee6696..ae08b8287e2cf 100644 --- a/mk/rustllvm.mk +++ b/mk/rustllvm.mk @@ -37,7 +37,7 @@ rustllvm/$(1)/$(CFG_RUSTLLVM): $$(RUSTLLVM_OBJS_OBJS_$(1)) \ rustllvm/$(1)/%.o: rustllvm/%.cpp $$(MKFILE_DEPS) $$(LLVM_CONFIG_$(1)) @$$(call E, compile: $$@) - $$(Q)$$(call CFG_COMPILE_C_$(1), $$@, $$(LLVM_CXXFLAGS_$(1)) $$(RUSTLLVM_INCS_$(1))) $$< + $$(Q)$$(call CFG_COMPILE_C_$(1), $$@, $$(subst -I, -iquote , $$(LLVM_CXXFLAGS_$(1))) $$(RUSTLLVM_INCS_$(1))) $$< endef # Instantiate template for all stages From 47197b39c0c23a680fa6c533e2d5764227a7c40c Mon Sep 17 00:00:00 2001 From: Jyun-Yan You Date: Wed, 25 Jan 2012 13:16:18 +0800 Subject: [PATCH 2/6] fix indentation --- configure | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/configure b/configure index 04781c0f3764c..b769b529b8ac9 100755 --- a/configure +++ b/configure @@ -536,20 +536,20 @@ do # Disable unused LLVM features LLVM_OPTS="$LLVM_DBG_OPTS --disable-docs --disable-jit --enable-bindings=none --disable-threads --disable-pthreads" - if [ "$CFG_C_COMPILER" = "clang" ] - then + if [ "$CFG_C_COMPILER" = "clang" ] + then LLVM_CXX_32="clang++ -m32" LLVM_CC_32="clang -m32" LLVM_CXX_64="clang++" LLVM_CC_64="clang" - else + else LLVM_CXX_32="g++ -m32" LLVM_CC_32="gcc -m32" LLVM_CXX_64="g++" LLVM_CC_64="gcc" - fi + fi LLVM_CFLAGS_32="-m32" LLVM_CXXFLAGS_32="-m32" From 8da05e95f5484cfdd93200812ec0627b5ca2f4b9 Mon Sep 17 00:00:00 2001 From: Jyun-Yan You Date: Thu, 26 Jan 2012 16:51:12 +0800 Subject: [PATCH 3/6] Revert "fix indentation" This reverts commit 47197b39c0c23a680fa6c533e2d5764227a7c40c. --- configure | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/configure b/configure index b769b529b8ac9..04781c0f3764c 100755 --- a/configure +++ b/configure @@ -536,20 +536,20 @@ do # Disable unused LLVM features LLVM_OPTS="$LLVM_DBG_OPTS --disable-docs --disable-jit --enable-bindings=none --disable-threads --disable-pthreads" - if [ "$CFG_C_COMPILER" = "clang" ] - then + if [ "$CFG_C_COMPILER" = "clang" ] + then LLVM_CXX_32="clang++ -m32" LLVM_CC_32="clang -m32" LLVM_CXX_64="clang++" LLVM_CC_64="clang" - else + else LLVM_CXX_32="g++ -m32" LLVM_CC_32="gcc -m32" LLVM_CXX_64="g++" LLVM_CC_64="gcc" - fi + fi LLVM_CFLAGS_32="-m32" LLVM_CXXFLAGS_32="-m32" From ee19e4344196847350a89630554ef1e321972f62 Mon Sep 17 00:00:00 2001 From: Jyun-Yan You Date: Thu, 26 Jan 2012 16:51:15 +0800 Subject: [PATCH 4/6] Revert "let clang build llvm, fix rustllvm linking error" This reverts commit 8524a5258f61e5b2765c9ab2185500a9186b92ea. --- configure | 19 ++++--------------- mk/rustllvm.mk | 2 +- 2 files changed, 5 insertions(+), 16 deletions(-) diff --git a/configure b/configure index 04781c0f3764c..1601f46ac1e56 100755 --- a/configure +++ b/configure @@ -536,25 +536,14 @@ do # Disable unused LLVM features LLVM_OPTS="$LLVM_DBG_OPTS --disable-docs --disable-jit --enable-bindings=none --disable-threads --disable-pthreads" - if [ "$CFG_C_COMPILER" = "clang" ] - then - LLVM_CXX_32="clang++ -m32" - LLVM_CC_32="clang -m32" - - LLVM_CXX_64="clang++" - LLVM_CC_64="clang" - else - LLVM_CXX_32="g++ -m32" - LLVM_CC_32="gcc -m32" - - LLVM_CXX_64="g++" - LLVM_CC_64="gcc" - fi - + LLVM_CXX_32="g++ -m32" + LLVM_CC_32="gcc -m32" LLVM_CFLAGS_32="-m32" LLVM_CXXFLAGS_32="-m32" LLVM_LDFLAGS_32="-m32" + LLVM_CXX_64="g++" + LLVM_CC_64="gcc" LLVM_CFLAGS_64="" LLVM_CXXFLAGS_64="" LLVM_LDFLAGS_64="" diff --git a/mk/rustllvm.mk b/mk/rustllvm.mk index ae08b8287e2cf..cdf95aeee6696 100644 --- a/mk/rustllvm.mk +++ b/mk/rustllvm.mk @@ -37,7 +37,7 @@ rustllvm/$(1)/$(CFG_RUSTLLVM): $$(RUSTLLVM_OBJS_OBJS_$(1)) \ rustllvm/$(1)/%.o: rustllvm/%.cpp $$(MKFILE_DEPS) $$(LLVM_CONFIG_$(1)) @$$(call E, compile: $$@) - $$(Q)$$(call CFG_COMPILE_C_$(1), $$@, $$(subst -I, -iquote , $$(LLVM_CXXFLAGS_$(1))) $$(RUSTLLVM_INCS_$(1))) $$< + $$(Q)$$(call CFG_COMPILE_C_$(1), $$@, $$(LLVM_CXXFLAGS_$(1)) $$(RUSTLLVM_INCS_$(1))) $$< endef # Instantiate template for all stages From fe8d492fa1539b8263796b046eea29cd60558efd Mon Sep 17 00:00:00 2001 From: Jyun-Yan You Date: Thu, 26 Jan 2012 16:54:36 +0800 Subject: [PATCH 5/6] let clang build llvm --- configure | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/configure b/configure index 1601f46ac1e56..b769b529b8ac9 100755 --- a/configure +++ b/configure @@ -536,14 +536,25 @@ do # Disable unused LLVM features LLVM_OPTS="$LLVM_DBG_OPTS --disable-docs --disable-jit --enable-bindings=none --disable-threads --disable-pthreads" - LLVM_CXX_32="g++ -m32" - LLVM_CC_32="gcc -m32" + if [ "$CFG_C_COMPILER" = "clang" ] + then + LLVM_CXX_32="clang++ -m32" + LLVM_CC_32="clang -m32" + + LLVM_CXX_64="clang++" + LLVM_CC_64="clang" + else + LLVM_CXX_32="g++ -m32" + LLVM_CC_32="gcc -m32" + + LLVM_CXX_64="g++" + LLVM_CC_64="gcc" + fi + LLVM_CFLAGS_32="-m32" LLVM_CXXFLAGS_32="-m32" LLVM_LDFLAGS_32="-m32" - LLVM_CXX_64="g++" - LLVM_CC_64="gcc" LLVM_CFLAGS_64="" LLVM_CXXFLAGS_64="" LLVM_LDFLAGS_64="" From fa887f671245a27b27b8a6143fbe87af83dd69e8 Mon Sep 17 00:00:00 2001 From: Jyun-Yan You Date: Thu, 26 Jan 2012 17:13:57 +0800 Subject: [PATCH 6/6] change the order of llvm include path --- Makefile.in | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Makefile.in b/Makefile.in index e7d5650a881df..149f41222319d 100644 --- a/Makefile.in +++ b/Makefile.in @@ -212,7 +212,9 @@ LLVM_INCDIR_$(1)=$$(shell "$$(LLVM_CONFIG_$(1))" --includedir) LLVM_LIBDIR_$(1)=$$(shell "$$(LLVM_CONFIG_$(1))" --libdir) LLVM_LIBS_$(1)=$$(shell "$$(LLVM_CONFIG_$(1))" --libs $$(LLVM_COMPONENTS)) LLVM_LDFLAGS_$(1)=$$(shell "$$(LLVM_CONFIG_$(1))" --ldflags) -LLVM_CXXFLAGS_$(1)=$$(shell "$$(LLVM_CONFIG_$(1))" --cxxflags) +# On FreeBSD, it may search wrong headers (that are for pre-installed LLVM), +# so we replace -I with -iquote to ensure that it searches bundled LLVM first. +LLVM_CXXFLAGS_$(1)=$$(subst -I, -iquote , $$(shell "$$(LLVM_CONFIG_$(1))" --cxxflags)) LLVM_HOST_TRIPLE_$(1)=$$(shell "$$(LLVM_CONFIG_$(1))" --host-target) LLVM_AS_$(1)=$$(CFG_LLVM_INST_DIR_$(1))/bin/llvm-as$$(X)