svn commit: r206562 - in projects/clangbsd: .
contrib/llvm/tools/clang/include/clang/Driver
contrib/llvm/tools/clang/lib/Driver
Roman Divacky
rdivacky at FreeBSD.org
Tue Apr 13 19:58:33 UTC 2010
Author: rdivacky
Date: Tue Apr 13 19:58:32 2010
New Revision: 206562
URL: http://svn.freebsd.org/changeset/base/206562
Log:
Revert r199767 with changes. Change the -B argument in WMAKE
for CC/CXX to -B${WORLDTMP}/usr/lib/ and link into that directory
as/ld. Change -B for lib32 build to -B${LIB32TMP}/usr/lib32.
Both clang and gcc can build all of clangbsd again. Any compiler
that supports -isystem/-B should work as well without the TOOLS_PREFIX
hacks we did to our intree gcc.
Modified:
projects/clangbsd/Makefile.inc1
projects/clangbsd/contrib/llvm/tools/clang/include/clang/Driver/ToolChain.h
projects/clangbsd/contrib/llvm/tools/clang/lib/Driver/HostInfo.cpp
projects/clangbsd/contrib/llvm/tools/clang/lib/Driver/Tools.cpp
Modified: projects/clangbsd/Makefile.inc1
==============================================================================
--- projects/clangbsd/Makefile.inc1 Tue Apr 13 19:43:16 2010 (r206561)
+++ projects/clangbsd/Makefile.inc1 Tue Apr 13 19:58:32 2010 (r206562)
@@ -262,8 +262,8 @@ WMAKEENV= ${CROSSENV} \
VERSION="${VERSION}" \
INSTALL="sh ${.CURDIR}/tools/install.sh" \
PATH=${TMPPATH} \
- CC="${CC} ${MMINTRIN_CLANG} -isystem ${WORLDTMP}/usr/include -B${WORLDTMP}/usr/bin/ -L${WORLDTMP}/usr/lib/" \
- CXX="${CXX} ${MMINTRIN_CLANG} -isystem ${WORLDTMP}/usr/include -isystem ${WORLDTMP}/include/c++/4.2 -isystem ${WORLDTMP}/include/c++/4.2/backward -B${WORLDTMP}/usr/bin/ -L${WORLDTMP}/usr/lib/"
+ CC="${CC} ${MMINTRIN_CLANG} -isystem ${WORLDTMP}/usr/include -B${WORLDTMP}/usr/lib/ -L${WORLDTMP}/usr/lib/" \
+ CXX="${CXX} ${MMINTRIN_CLANG} -isystem ${WORLDTMP}/usr/include -isystem ${WORLDTMP}/include/c++/4.2 -isystem ${WORLDTMP}/include/c++/4.2/backward -B${WORLDTMP}/usr/lib/ -L${WORLDTMP}/usr/lib/"
.if ${MK_CDDL} == "no" || defined(NO_CTF)
WMAKEENV+= NO_CTF=1
@@ -282,7 +282,7 @@ LIB32CPUFLAGS= -march=${TARGET_CPUTYPE}
LIB32FLAGS= -m32 ${LIB32CPUFLAGS} -mfancy-math-387 -DCOMPAT_32BIT \
-isystem ${LIB32TMP}/usr/include/ \
-L${LIB32TMP}/usr/lib32 \
- -B${LIB32TMP}
+ -B${LIB32TMP}/usr/lib32
# Yes, the flags are redundant.
LIB32WMAKEENV= MAKEOBJDIRPREFIX=${OBJTREE}/lib32 \
@@ -435,6 +435,8 @@ everything:
@echo "--------------------------------------------------------------"
@echo ">>> stage 4.4: building everything"
@echo "--------------------------------------------------------------"
+ ln -sf ${WORLDTMP}/usr/bin/as ${WORLDTMP}/usr/lib/as
+ ln -sf ${WORLDTMP}/usr/bin/ld ${WORLDTMP}/usr/lib/ld
${_+_}cd ${.CURDIR}; ${WMAKE} par-all
.if ${TARGET_ARCH} == "amd64"
build32:
@@ -448,10 +450,10 @@ build32:
mtree -deU -f ${.CURDIR}/etc/mtree/BSD.include.dist \
-p ${LIB32TMP}/usr/include >/dev/null
mkdir -p ${WORLDTMP}
- # relink /usr/bin/{as,ld} to the lib32 tmp so the -B can pick 'em up
+ # relink /usr/bin/{as,ld} to the lib32 tmp so the -B can pick up
# the /usr/bin/ld and /usr/bin/as
- ln -sf ${WORLDTMP}/usr/bin/as ${LIB32TMP}/as
- ln -sf ${WORLDTMP}/usr/bin/ld ${LIB32TMP}/ld
+ ln -sf ${WORLDTMP}/usr/bin/as ${LIB32TMP}/usr/lib32/as
+ ln -sf ${WORLDTMP}/usr/bin/ld ${LIB32TMP}/usr/lib32/ld
ln -sf ${.CURDIR}/sys ${WORLDTMP}
.if ${MK_KERBEROS} != "no"
.for _t in obj depend all
Modified: projects/clangbsd/contrib/llvm/tools/clang/include/clang/Driver/ToolChain.h
==============================================================================
--- projects/clangbsd/contrib/llvm/tools/clang/include/clang/Driver/ToolChain.h Tue Apr 13 19:43:16 2010 (r206561)
+++ projects/clangbsd/contrib/llvm/tools/clang/include/clang/Driver/ToolChain.h Tue Apr 13 19:58:32 2010 (r206562)
@@ -28,7 +28,6 @@ namespace driver {
/// ToolChain - Access to tools for a single platform.
class ToolChain {
public:
- bool Lib32;
typedef llvm::SmallVector<std::string, 4> path_list;
private:
Modified: projects/clangbsd/contrib/llvm/tools/clang/lib/Driver/HostInfo.cpp
==============================================================================
--- projects/clangbsd/contrib/llvm/tools/clang/lib/Driver/HostInfo.cpp Tue Apr 13 19:43:16 2010 (r206561)
+++ projects/clangbsd/contrib/llvm/tools/clang/lib/Driver/HostInfo.cpp Tue Apr 13 19:58:32 2010 (r206562)
@@ -420,7 +420,6 @@ ToolChain *FreeBSDHostInfo::CreateToolCh
TCTriple.setArchName(ArchName);
TC = new toolchains::FreeBSD(*this, TCTriple, Lib32);
- TC->Lib32 = Lib32;
}
return TC;
Modified: projects/clangbsd/contrib/llvm/tools/clang/lib/Driver/Tools.cpp
==============================================================================
--- projects/clangbsd/contrib/llvm/tools/clang/lib/Driver/Tools.cpp Tue Apr 13 19:43:16 2010 (r206561)
+++ projects/clangbsd/contrib/llvm/tools/clang/lib/Driver/Tools.cpp Tue Apr 13 19:58:32 2010 (r206562)
@@ -2734,7 +2734,6 @@ void freebsd::Link::ConstructJob(Compila
const char *LinkingOutput) const {
const Driver &D = getToolChain().getDriver();
ArgStringList CmdArgs;
- std::string LibPrefix("/usr/lib/");
if (Args.hasArg(options::OPT_static)) {
CmdArgs.push_back("-Bstatic");
@@ -2753,8 +2752,6 @@ void freebsd::Link::ConstructJob(Compila
if (getToolChain().getArchName() == "i386") {
CmdArgs.push_back("-m");
CmdArgs.push_back("elf_i386_fbsd");
- if (getToolChain().Lib32)
- LibPrefix = "/usr/lib32/";
}
if (Output.isPipe()) {
@@ -2770,12 +2767,12 @@ void freebsd::Link::ConstructJob(Compila
if (!Args.hasArg(options::OPT_nostdlib) &&
!Args.hasArg(options::OPT_nostartfiles)) {
if (!Args.hasArg(options::OPT_shared)) {
- CmdArgs.push_back(Args.MakeArgString(getToolChain().GetFilePath(C, (LibPrefix + "crt1.o").c_str())));
- CmdArgs.push_back(Args.MakeArgString(getToolChain().GetFilePath(C, (LibPrefix + "crti.o").c_str())));
- CmdArgs.push_back(Args.MakeArgString(getToolChain().GetFilePath(C, (LibPrefix + "crtbegin.o").c_str())));
+ CmdArgs.push_back(Args.MakeArgString(getToolChain().GetFilePath(C, "crt1.o")));
+ CmdArgs.push_back(Args.MakeArgString(getToolChain().GetFilePath(C, "crti.o")));
+ CmdArgs.push_back(Args.MakeArgString(getToolChain().GetFilePath(C, "crtbegin.o")));
} else {
- CmdArgs.push_back(Args.MakeArgString(getToolChain().GetFilePath(C, (LibPrefix + "crti.o").c_str())));
- CmdArgs.push_back(Args.MakeArgString(getToolChain().GetFilePath(C, (LibPrefix + "crtbeginS.o").c_str())));
+ CmdArgs.push_back(Args.MakeArgString(getToolChain().GetFilePath(C, "crti.o")));
+ CmdArgs.push_back(Args.MakeArgString(getToolChain().GetFilePath(C, "crtbeginS.o")));
}
}
@@ -2834,10 +2831,10 @@ void freebsd::Link::ConstructJob(Compila
if (!Args.hasArg(options::OPT_nostdlib) &&
!Args.hasArg(options::OPT_nostartfiles)) {
if (!Args.hasArg(options::OPT_shared))
- CmdArgs.push_back(Args.MakeArgString(getToolChain().GetFilePath(C, (LibPrefix + "crtend.o").c_str())));
+ CmdArgs.push_back(Args.MakeArgString(getToolChain().GetFilePath(C, "crtend.o")));
else
- CmdArgs.push_back(Args.MakeArgString(getToolChain().GetFilePath(C, (LibPrefix + "crtendS.o").c_str())));
- CmdArgs.push_back(Args.MakeArgString(getToolChain().GetFilePath(C, (LibPrefix + "crtn.o").c_str())));
+ CmdArgs.push_back(Args.MakeArgString(getToolChain().GetFilePath(C, "crtendS.o")));
+ CmdArgs.push_back(Args.MakeArgString(getToolChain().GetFilePath(C, "crtn.o")));
}
const char *Exec =
More information about the svn-src-projects
mailing list