Date: Tue, 13 Apr 2010 19:58:32 +0000 (UTC) From: Roman Divacky <rdivacky@FreeBSD.org> To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r206562 - in projects/clangbsd: . contrib/llvm/tools/clang/include/clang/Driver contrib/llvm/tools/clang/lib/Driver Message-ID: <201004131958.o3DJwXrW049451@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
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 =
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201004131958.o3DJwXrW049451>