From owner-freebsd-ppc@freebsd.org Sun Jun 24 05:56:35 2018 Return-Path: Delivered-To: freebsd-ppc@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id DB9051019CA6 for ; Sun, 24 Jun 2018 05:56:34 +0000 (UTC) (envelope-from marklmi@yahoo.com) Received: from sonic311-15.consmr.mail.bf2.yahoo.com (sonic311-15.consmr.mail.bf2.yahoo.com [74.6.131.125]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 7A87D7B104 for ; Sun, 24 Jun 2018 05:56:34 +0000 (UTC) (envelope-from marklmi@yahoo.com) X-YMail-OSG: 0ZcGmKMVM1m0_lOfyk1HHf0C_us2_kdBxcnVcxHxahrimHds.l.MfeaXuJ_aRRU qCB5TJXJOqZC3QebrBFocrh3ZjguLqXgkcXyFxnv5VtUJOzbyaiyL63gTPEITA2q9wO7Ntgv4BE2 0mBLKPcihKWw.oE0Gdu23ElIDhFsCmAUbvr0PvOhR8EfBT3XfsEjeRM7yZPOF8eeXhrQ8cmjaGIQ y2SSgxmdaowsp32FxvXRr8kgUdJPTpzsvmjgfQEd1ROiWgHjAR9RM0z32vNn0CicFwMqy0VcsZSd yguxWx94uM0a1BOvQIBZ04R0X1UH8lLHypnD9FeevcFpB3nna9.HFSrcCVpOSADOrqrbMyBK6N4N 8E7ptg9_pyTvmg.z1SLxi5icF2QjruQ6ulIPSHYcsLLNc6GvkAjix.ujgFPK1R_y7KShxa_CrIVH XnWw0SCUh1D_nGAK_SODeUVbga3vpOzB4l2kIYwJcKWVrQ.KwxOBWbKd281hJidkVwZnOdCZKeC3 mQHaCtxi5jxyudY5W3V.XEelpT0lFZf1ySlQqp2TnarpaO5XXtTCOeaijTUVq394JMLUP.8qGbNv JzFHiaYGWrTQizxpcANO7pefODX3ycl3R72EucBJMtkwZeOqsjzNmviUvylvKhBsOvZp7VXi8fbF 4emEH9bEWpDSpNMGm4iP8qbH.WhbGRHa4ERsM_FrtP5MHElHA0IcIc2Eg1y3083q0.6RK5HBnpe. NkIpuIrw5Nz13HW6ipXHMKqX0kxvH_p.C_YMGn7zH0r.H5eUNm6jgP3fTeIuWPX3PuKl_HbbyXJL GutP54g7Adwb7.2gQv8bxHeOkVVm47hLM6ertzeB4nPinjTHG0kGuD4oJlYf8oj5EPTShKk3HzNc Wp5TUEIiT4oSLHEKdBC3MeAhiDgbYfcVm1ToCii4kdExAGECSOf4_jTlWbZUWDRm1PXJcQ_PM1Nu DLGnq1Qu2yQQKJvtottRkKw-- Received: from sonic.gate.mail.ne1.yahoo.com by sonic311.consmr.mail.bf2.yahoo.com with HTTP; Sun, 24 Jun 2018 05:56:28 +0000 Received: from ip70-189-131-151.lv.lv.cox.net (EHLO [192.168.0.105]) ([70.189.131.151]) by smtp410.mail.bf1.yahoo.com (Oath Hermes SMTP Server) with ESMTPA ID 140f530341776fe5b1cf7c64b828f6ee; Sun, 24 Jun 2018 05:56:26 +0000 (UTC) Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 11.4 \(3445.8.2\)) Subject: Re: system clang based head -r334932 amd64 -> powerpc64 cross build: fatal error: 'altivec.h' file not found in stage 4.2 "building libraries" From: Mark Millard In-Reply-To: <9E5016CA-8642-4E01-8E28-F33244BADB15@yahoo.com> Date: Sat, 23 Jun 2018 22:56:24 -0700 Cc: FreeBSD PowerPC ML Content-Transfer-Encoding: quoted-printable Message-Id: <7D944C97-ECEC-4D4B-8C2D-2D508E0C0ADD@yahoo.com> References: <2DEAB250-1D93-4009-82F4-BB55CD4E406D@yahoo.com> <9E5016CA-8642-4E01-8E28-F33244BADB15@yahoo.com> To: FreeBSD Toolchain X-Mailer: Apple Mail (2.3445.8.2) X-BeenThere: freebsd-ppc@freebsd.org X-Mailman-Version: 2.1.26 Precedence: list List-Id: Porting FreeBSD to the PowerPC List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 24 Jun 2018 05:56:35 -0000 [Still true of -r335385. But, based on a build of devel/llvm60 supplying the XCC/XCXX/XCPP, FreeBSD can be built, including the clang compiler. The problem is FreeBSD system-clang-building specific, not general to llvm targeting powerp64.] On 2018-Jun-11, at 12:58 PM, Mark Millard wrote: > On 2018-Jun-11, at 6:37 AM, Mark Millard wrote: >=20 >> [Note: I sometimes build for powerpc families via clang >> as part of identifying what is not yet working. Currently >> I do not have access to any powerpc system so I only build. >> This involves using devel/powerpc-binutils currently.] >>=20 >> Despite for head -r334932: >>=20 >> # find /usr/src/* -name altivec.h -print=20 >> /usr/src/contrib/llvm/tools/clang/lib/Headers/altivec.h >> /usr/src/contrib/gcc/config/rs6000/altivec.h >> /usr/src/sys/powerpc/include/altivec.h >=20 > I should have noted someplace that the correct binding for the context > is for Lex/Lexer.cpp to find: >=20 > /usr/src/contrib/llvm/tools/clang/lib/Headers/altivec.h >=20 > and not one of the FreeBSD headers. (Very different content.) >=20 >> and: >>=20 >> # find /usr/obj/powerpc64vtsc_clang_altbinutils -name altivec.h = -print >> = /usr/obj/powerpc64vtsc_clang_altbinutils/powerpc.powerpc64/usr/src/powerpc= .powerpc64/tmp/usr/include/machine/altivec.h >> = /usr/obj/powerpc64vtsc_clang_altbinutils/powerpc.powerpc64/usr/src/powerpc= .powerpc64/tmp/usr/lib/clang/6.0.0/include/altivec.h >> = /usr/obj/powerpc64vtsc_clang_altbinutils/powerpc.powerpc64/usr/src/powerpc= .powerpc64/obj-lib32/tmp/usr/include/machine/altivec.h >>=20 >> and: >>=20 >> # find /usr/local -name altivec.h -print >> = /usr/local/lib/gcc/powerpc64-unknown-freebsd12.0/6.4.0/include/altivec.h >> /usr/local/llvm50/lib/clang/5.0.0/include/altivec.h >> /usr/local/llvm60/lib/clang/6.0.0/include/altivec.h >>=20 >> and use of clang/clang++: >>=20 >> # c++ --version >> FreeBSD clang version 6.0.0 (tags/RELEASE_600/final 326565) (based on = LLVM 6.0.0) >> Target: x86_64-unknown-freebsd12.0 >> Thread model: posix >> InstalledDir: /usr/bin >>=20 >> my attempt to amd64 -> powerpc64 cross build (-j4) got: >>=20 >> . . . >> Building = /usr/obj/powerpc64vtsc_clang_altbinutils/powerpc.powerpc64/usr/src/powerpc= .powerpc64/lib/clang/libclang/Lex/Lexer.o >> Building = /usr/obj/powerpc64vtsc_clang_altbinutils/powerpc.powerpc64/usr/src/powerpc= .powerpc64/lib/clang/libclang/Lex/LiteralSupport.o >> --- Lex/Lexer.o --- >> /usr/src/contrib/llvm/tools/clang/lib/Lex/Lexer.cpp:2401:10: fatal = error: 'altivec.h' file not found >> #include >> ^~~~~~~~~~~ >> 1 error generated. >> *** [Lex/Lexer.o] Error code 1 >>=20 >> make[6]: stopped in /usr/src/lib/clang/libclang >> .ERROR_TARGET=3D'Lex/Lexer.o' >> = .ERROR_META_FILE=3D'/usr/obj/powerpc64vtsc_clang_altbinutils/powerpc.power= pc64/usr/src/powerpc.powerpc64/lib/clang/libclang/Lex_Lexer.o.meta' >> .MAKE.LEVEL=3D'6' >> MAKEFILE=3D'' >> .MAKE.MODE=3D'meta missing-filemon=3Dyes missing-meta=3Dyes = silent=3Dyes verbose' >> _ERROR_CMD=3D'c++ -target powerpc64-unknown-freebsd12.0 = --sysroot=3D/usr/obj/powerpc64vtsc_clang_altbinutils/powerpc.powerpc64/usr= /src/powerpc.powerpc64/tmp = -B/usr/local/powerpc64-unknown-freebsd12.0/bin/ -O2 -pipe = -I/usr/obj/powerpc64vtsc_clang_altbinutils/powerpc.powerpc64/usr/src/power= pc.powerpc64/lib/clang/libclang = -I/usr/obj/powerpc64vtsc_clang_altbinutils/powerpc.powerpc64/usr/src/power= pc.powerpc64/lib/clang/libllvm = -I/usr/src/contrib/llvm/tools/clang/lib/Basic = -I/usr/src/contrib/llvm/tools/clang/lib/Driver = -I/usr/src/contrib/llvm/tools/clang/include -DCLANG_ENABLE_ARCMT = -DCLANG_ENABLE_STATIC_ANALYZER -I/usr/src/lib/clang/include = -I/usr/src/contrib/llvm/include -DLLVM_BUILD_GLOBAL_ISEL = -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS = -DLLVM_DEFAULT_TARGET_TRIPLE=3D\"powerpc64-unknown-freebsd12.0\" = -DLLVM_HOST_TRIPLE=3D\"powerpc64-unknown-freebsd12.0\" = -DDEFAULT_SYSROOT=3D\"\" -ffunction-sections -fdata-sections = -gline-tables-only -fstack-protector-strong -Qunused-arguments = -std=3Dc++11 -fno-exceptions -fno-rtti -gline-tables-only -stdlib=3Dlibc++= -Wno-c++11-extensions -c = /usr/src/contrib/llvm/tools/clang/lib/Lex/Lexer.cpp -o Lex/Lexer.o;' >> .CURDIR=3D'/usr/src/lib/clang/libclang' >> .MAKE=3D'make' >> = .OBJDIR=3D'/usr/obj/powerpc64vtsc_clang_altbinutils/powerpc.powerpc64/usr/= src/powerpc.powerpc64/lib/clang/libclang' >> .TARGETS=3D'all' >> = DESTDIR=3D'/usr/obj/powerpc64vtsc_clang_altbinutils/powerpc.powerpc64/usr/= src/powerpc.powerpc64/tmp' >> LD_LIBRARY_PATH=3D'' >> MACHINE=3D'powerpc' >> MACHINE_ARCH=3D'powerpc64' >> MAKEOBJDIRPREFIX=3D'' >> MAKESYSPATH=3D'/usr/src/share/mk' >> MAKE_VERSION=3D'20180512' >> = PATH=3D'/usr/obj/powerpc64vtsc_clang_altbinutils/powerpc.powerpc64/usr/src= /powerpc.powerpc64/tmp/legacy/usr/sbin:/usr/obj/powerpc64vtsc_clang_altbin= utils/powerpc.powerpc64/usr/src/powerpc.powerpc64/tmp/legacy/usr/bin:/usr/= obj/powerpc64vtsc_clang_altbinutils/powerpc.powerpc64/usr/src/powerpc.powe= rpc64/tmp/legacy/bin:/usr/obj/powerpc64vtsc_clang_altbinutils/powerpc.powe= rpc64/usr/src/powerpc.powerpc64/tmp/usr/sbin:/usr/obj/powerpc64vtsc_clang_= altbinutils/powerpc.powerpc64/usr/src/powerpc.powerpc64/tmp/usr/bin:/sbin:= /bin:/usr/sbin:/usr/bin' >> SRCTOP=3D'/usr/src' >> = OBJTOP=3D'/usr/obj/powerpc64vtsc_clang_altbinutils/powerpc.powerpc64/usr/s= rc/powerpc.powerpc64' >> .MAKE.MAKEFILES=3D'/usr/src/share/mk/sys.mk = /usr/src/share/mk/local.sys.env.mk /usr/src/share/mk/src.sys.env.mk = /root/src.configs/src.conf.powerpc64-clang_altbinutils-bootstrap.amd64-hos= t /usr/src/share/mk/bsd.mkopt.mk /usr/src/share/mk/src.sys.obj.mk = /usr/src/share/mk/auto.obj.mk /usr/src/share/mk/bsd.suffixes.mk = /root/src.configs/make.conf /usr/src/share/mk/local.sys.mk = /usr/src/share/mk/src.sys.mk /dev/null = /usr/src/lib/clang/libclang/Makefile /usr/src/share/mk/src.opts.mk = /usr/src/share/mk/bsd.own.mk /usr/src/share/mk/bsd.opts.mk = /usr/src/share/mk/bsd.cpu.mk /usr/src/share/mk/bsd.compiler.mk = /usr/src/share/mk/bsd.linker.mk /usr/src/lib/clang/clang.pre.mk = /usr/src/lib/clang/llvm.pre.mk /usr/src/lib/clang/clang.build.mk = /usr/src/lib/clang/llvm.build.mk /usr/src/share/mk/bsd.lib.mk = /usr/src/share/mk/bsd.init.mk /usr/src/share/mk/local.init.mk = /usr/src/share/mk/src.init.mk = /usr/src/lib/clang/libclang/../Makefile.inc = /usr/src/share/mk/bsd.libnames.mk /usr/src/share/mk/src.libnames.mk = /usr/src/share/mk/bsd.symver.mk /usr/src/share/mk/bsd.nls.mk = /usr/src/share/mk/bsd.files.mk /usr/src/share/mk/bsd.incs.mk = /usr/src/share/mk/bsd.confs.mk /usr/src/share/mk/bsd.links.mk = /usr/src/share/mk/bsd.dep.mk /usr/src/share/mk/bsd.clang-analyze.mk = /usr/src/share/mk/bsd.obj.mk /usr/src/share/mk/bsd.subdir.mk = /usr/src/share/mk/bsd.sys.mk' >> .PATH=3D'. /usr/src/lib/clang/libclang = /usr/src/contrib/llvm/tools/clang/lib' >> 1 error >>=20 >>=20 >> I'll note that the -I's for include/'s: >>=20 >> -I/usr/src/contrib/llvm/tools/clang/include >> -I/usr/src/lib/clang/include >> -I/usr/src/contrib/llvm/include >=20 > So: >=20 > /usr/src/contrib/llvm/tools/clang/lib/Headers >=20 > is missing and is where altivec.h should be found for > the include in Lex/Lexer.cpp . >=20 > It is too bad that the altivec.h naming matches between > clang-internal headers and FreeBSD headers, making > correct selection messier to deal with. >=20 > The code in Lx/Lexer.cpp looks like: >=20 > #ifdef __SSE2__ > #include > #elif __ALTIVEC__ > #include > #undef bool > #endif >=20 >=20 >> do not seem to match up with any of: >>=20 >> /usr/src/contrib/llvm/tools/clang/lib/Headers/ >> /usr/src/sys/powerpc/include/ >> = /usr/obj/powerpc64vtsc_clang_altbinutils/powerpc.powerpc64/usr/src/powerpc= .powerpc64/tmp/usr/include/machine/altivec.h >> = /usr/obj/powerpc64vtsc_clang_altbinutils/powerpc.powerpc64/usr/src/powerpc= .powerpc64/tmp/usr/lib/clang/6.0.0/include/altivec.h >> = /usr/obj/powerpc64vtsc_clang_altbinutils/powerpc.powerpc64/usr/src/powerpc= .powerpc64/obj-lib32/tmp/usr/include/machine/altivec.h >>=20 >>=20 >> For reference: >>=20 >> # more = ~/src.configs/src.conf.powerpc64-clang_altbinutils-bootstrap.amd64-host=20= >> TO_TYPE=3Dpowerpc64 >> TOOLS_TO_TYPE=3D${TO_TYPE} >> VERSION_CONTEXT=3D12.0 >> # >> KERNCONF=3DGENERIC64vtsc-NODBG >> TARGET=3Dpowerpc >> .if ${.MAKE.LEVEL} =3D=3D 0 >> TARGET_ARCH=3D${TO_TYPE} >> .export TARGET_ARCH >> .endif >> # >> WITH_CROSS_COMPILER=3D >> WITHOUT_SYSTEM_COMPILER=3D >> # >> WITH_LIBCPLUSPLUS=3D >> WITHOUT_BINUTILS_BOOTSTRAP=3D >> WITH_ELFTOOLCHAIN_BOOTSTRAP=3D >> WITH_CLANG_BOOTSTRAP=3D >> WITH_CLANG=3D >> #WITH_CLANG_IS_CC=3D >> WITH_CLANG_FULL=3D >> WITH_CLANG_EXTRAS=3D >> WITHOUT_LLD_BOOTSTRAP=3D >> WITH_LLD=3D >> WITHOUT_LLD_IS_LD=3D >> WITH_LLDB=3D >> # >> WITH_BOOT=3D >> # avoid lang/gcc7 and the like attempting >> # lib32 (-m32) support that does not work. >> # (Register usage mismatch?) >> WITHOUT_LIB32=3D >> # >> WITHOUT_CLANG_IS_CC=3D >> WITHOUT_BINUTILS=3D >> WITHOUT_GCC_BOOTSTRAP=3D >> WITHOUT_GCC=3D >> WITHOUT_GCC_IS_CC=3D >> WITHOUT_GNUCXX=3D >> # >> NO_WERROR=3D >> MALLOC_PRODUCTION=3D >> # >> # Avoid converts between pointers to integer types with different = sign [-Werror,-Wpointer-sign] >> # and such from blocking the build. >> WERROR=3D >> # >> WITH_REPRODUCIBLE_BUILD=3D >> WITH_DEBUG_FILES=3D >> # >> # >> # For TO (so-called "cross") stages . . . >> # So-called-cross via ${TO_TYPE}-xtoolchain-gcc/${TO_TYPE}-gcc. . . >> # TOOLS_TO_TYPE based on ${TO_TYPE}-xtoolchain-gcc related binutils. = . . >> # >> = CROSS_BINUTILS_PREFIX=3D/usr/local/${TOOLS_TO_TYPE}-unknown-freebsd${VERSI= ON_CONTEXT}/bin/ >> .if ${.MAKE.LEVEL} =3D=3D 0 >> # >> # Note: The WITH_CROSS_COMPILER picks up the CROSS_BINUTILS_PREFIX >> # binding automatically. >> # >> = XAS=3D/usr/local/${TOOLS_TO_TYPE}-unknown-freebsd${VERSION_CONTEXT}/bin/as= >> = XAR=3D/usr/local/${TOOLS_TO_TYPE}-unknown-freebsd${VERSION_CONTEXT}/bin/ar= >> = XNM=3D/usr/local/${TOOLS_TO_TYPE}-unknown-freebsd${VERSION_CONTEXT}/bin/nm= >> = XOBJCOPY=3D/usr/local/${TOOLS_TO_TYPE}-unknown-freebsd${VERSION_CONTEXT}/b= in/objcopy >> = XOBJDUMP=3D/usr/local/${TOOLS_TO_TYPE}-unknown-freebsd${VERSION_CONTEXT}/b= in/objdump >> = XRANLIB=3D/usr/local/${TOOLS_TO_TYPE}-unknown-freebsd${VERSION_CONTEXT}/bi= n/ranlib >> = XSIZE=3D/usr/local/${TOOLS_TO_TYPE}-unknown-freebsd${VERSION_CONTEXT}/bin/= size >> #NO-SUCH: = XSTRINGS=3D/usr/local/${TOOLS_TO_TYPE}-unknown-freebsd${VERSION_CONTEXT}/b= in/strings >> = XSTRINGS=3D/usr/local/bin/${TOOLS_TO_TYPE}-unknown-freebsd${VERSION_CONTEX= T}-strings >> .export XAS >> .export XAR >> .export XNM >> .export XOBJCOPY >> .export XOBJDUMP >> .export XRANLIB >> .export XSIZE >> .export XSTRINGS >> = XLD=3D/usr/local/${TOOLS_TO_TYPE}-unknown-freebsd${VERSION_CONTEXT}/bin/ld= >> .export XLD >> .endif >>=20 >> # more ~/src.configs/make.conf=20 >> CFLAGS.gcc+=3D -v >>=20 >> # more = ~/sys_build_scripts.amd64-host/make_powerpc64vtsc_nodebug_clang_altbinutil= s-amd64-host.sh=20 >> kldload -n filemon && \ >> script = ~/sys_typescripts/typescript_make_powerpc64vtsc_nodebug_clang_altbinutils-= amd64-host-$(date +%Y-%m-%d:%H:%M:%S) \ >> env __MAKE_CONF=3D"/root/src.configs/make.conf" SRCCONF=3D"/dev/null" = SRC_ENV_CONF=3D"/root/src.configs/src.conf.powerpc64-clang_altbinutils-boo= tstrap.amd64-host" \ >> WITH_META_MODE=3Dyes \ >> = MAKEOBJDIRPREFIX=3D"/usr/obj/powerpc64vtsc_clang_altbinutils/powerpc.power= pc64" \ >> make $* >>=20 For head -r335385 I tried again and got the same problem. Then I tried a variation to using devel/xtoolchain-llvm60 that instead used devel/powerpc64-binutils . This built. (I'm not claiming that the resultant build has no problems of note. Likely I'm not going to have access to any powerpc variant for at least a few months.) So the problem is not with using llvm60 as such, but with FreeBSD's = build environment's handling of things for the system clang (V6.0). The devel/xtoolchain-llvm60 variation was based on using: # more /usr/local/share/toolchains/llvm60_altbinutils.mk=20 XCC=3D/usr/local/bin/clang60 XCXX=3D/usr/local/bin/clang++60 XCPP=3D/usr/local/bin/clang-cpp60 #XLD=3D/usr/local/llvm60/bin/ld.lld #CROSS_BINUTILS_PREFIX=3D/var/empty X_COMPILER_TYPE=3Dclang that thereby allowed me to use devel/powerpc64-binutils via: # more ~/src.configs/src.conf.powerpc64-xtoolchain-llvm.amd64-host=20 TO_TYPE=3Dpowerpc64 TOOLS_TO_TYPE=3D${TO_TYPE} VERSION_CONTEXT=3D12.0 # KERNCONF=3DGENERIC64vtsc-NODBG TARGET=3Dpowerpc .if ${.MAKE.LEVEL} =3D=3D 0 TARGET_ARCH=3D${TO_TYPE} .export TARGET_ARCH .endif # WITHOUT_CROSS_COMPILER=3D WITHOUT_SYSTEM_COMPILER=3D # WITH_LIBCPLUSPLUS=3D WITHOUT_BINUTILS_BOOTSTRAP=3D WITHOUT_ELFTOOLCHAIN_BOOTSTRAP=3D WITHOUT_CLANG_BOOTSTRAP=3D WITH_CLANG=3D WITH_CLANG_IS_CC=3D WITH_CLANG_FULL=3D WITH_CLANG_EXTRAS=3D WITHOUT_LLD_BOOTSTRAP=3D WITH_LLD=3D WITHOUT_LLD_IS_LD=3D WITH_LLDB=3D # WITH_BOOT=3D #WITH_LIB32=3D WITHOUT_LIB32=3D # WITHOUT_BINUTILS=3D WITHOUT_GCC_BOOTSTRAP=3D WITHOUT_GCC=3D WITHOUT_GCC_IS_CC=3D WITHOUT_GNUCXX=3D # NO_WERROR=3D # # Avoid build aborting for the likes of: # /usr/src/sys/sys/sglist.h:81:19: error: # passing 'int *' to parameter of type 'volatile u_int *' # (aka 'volatile unsigned int *') converts between # pointers to integer types with different sign # [-Werror,-Wpointer-sign] # WERROR=3D MALLOC_PRODUCTION=3D # WITH_REPRODUCIBLE_BUILD=3D WITH_DEBUG_FILES=3D # # # For TO (so-called "cross") stages . . . # TOOLS_TO_TYPE based on ${TO_TYPE}-xtoolchain-gcc related binutils. . . # CROSS_TOOLCHAIN=3Dllvm60_altbinutils #X_COMPILER_TYPE=3Dclang = CROSS_BINUTILS_PREFIX=3D/usr/local/${TOOLS_TO_TYPE}-unknown-freebsd${VERSI= ON_CONTEXT}/bin .if ${.MAKE.LEVEL} =3D=3D 0 XCC=3D/usr/local/bin/clang60 XCXX=3D/usr/local/bin/clang++60 XCPP=3D/usr/local/bin/clang-cpp60 .export XCC .export XCXX .export XCPP XAS=3D/usr/local/${TOOLS_TO_TYPE}-unknown-freebsd${VERSION_CONTEXT}/bin/as= XAR=3D/usr/local/${TOOLS_TO_TYPE}-unknown-freebsd${VERSION_CONTEXT}/bin/ar= XLD=3D/usr/local/${TOOLS_TO_TYPE}-unknown-freebsd${VERSION_CONTEXT}/bin/ld= XNM=3D/usr/local/${TOOLS_TO_TYPE}-unknown-freebsd${VERSION_CONTEXT}/bin/nm= = XOBJCOPY=3D/usr/local/${TOOLS_TO_TYPE}-unknown-freebsd${VERSION_CONTEXT}/b= in/objcopy = XOBJDUMP=3D/usr/local/${TOOLS_TO_TYPE}-unknown-freebsd${VERSION_CONTEXT}/b= in/objdump = XRANLIB=3D/usr/local/${TOOLS_TO_TYPE}-unknown-freebsd${VERSION_CONTEXT}/bi= n/ranlib = XSIZE=3D/usr/local/${TOOLS_TO_TYPE}-unknown-freebsd${VERSION_CONTEXT}/bin/= size #NO-SUCH: = XSTRINGS=3D/usr/local/${TOOLS_TO_TYPE}-unknown-freebsd${VERSION_CONTEXT}/b= in/strings = XSTRINGS=3D/usr/local/bin/${TOOLS_TO_TYPE}-unknown-freebsd${VERSION_CONTEX= T}-strings .export XAS .export XAR .export XLD .export XNM .export XOBJCOPY .export XOBJDUMP .export XRANLIB .export XSIZE .export XSTRINGS .endif # # # =46rom based on clang (via system). . . # .if ${.MAKE.LEVEL} =3D=3D 0 CC=3D/usr/bin/clang CXX=3D/usr/bin/clang++ CPP=3D/usr/bin/clang-cpp .export CC .export CXX .export CPP .endif and: # more = ~/sys_build_scripts.amd64-host/make_powerpc64vtsc_nodebug_incl_clang_xtool= chain-llvm-amd64-host.sh=20 kldload -n filemon && \ script = ~/sys_typescripts/typescript_make_powerpc64vtsc_nodebug_incl_clang_xtoolch= ain-llvm-amd64-host-$(date +%Y-%m-%d:%H:%M:%S) \ env __MAKE_CONF=3D"/root/src.configs/make.conf" SRCCONF=3D"/dev/null" = SRC_ENV_CONF=3D"/root/src.configs/src.conf.powerpc64-xtoolchain-llvm.amd64= -host" \ WITH_META_MODE=3Dyes \ = MAKEOBJDIRPREFIX=3D"/usr/obj/powerpc64vtsc_xtoolchain-llvm/powerpc.powerpc= 64" \ make $* and: # more ~/src.configs/make.conf=20 CFLAGS.gcc+=3D -v =3D=3D=3D Mark Millard marklmi at yahoo.com ( dsl-only.net went away in early 2018-Mar)