From owner-freebsd-current@FreeBSD.ORG Fri May 17 20:46:41 2013 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 12B4A762; Fri, 17 May 2013 20:46:41 +0000 (UTC) (envelope-from lev@FreeBSD.org) Received: from onlyone.friendlyhosting.spb.ru (onlyone.friendlyhosting.spb.ru [46.4.40.135]) by mx1.freebsd.org (Postfix) with ESMTP id CC5A9653; Fri, 17 May 2013 20:46:40 +0000 (UTC) Received: from lion.home.serebryakov.spb.ru (unknown [IPv6:2001:470:923f:1:1d62:14ca:3c29:bff9]) (Authenticated sender: lev@serebryakov.spb.ru) by onlyone.friendlyhosting.spb.ru (Postfix) with ESMTPA id 4A3124AC57; Sat, 18 May 2013 00:46:38 +0400 (MSK) Date: Sat, 18 May 2013 00:46:18 +0400 From: Lev Serebryakov Organization: FreeBSD X-Priority: 3 (Normal) Message-ID: <1713488536.20130518004618@serebryakov.spb.ru> To: freebsd-current@freebsd.org Subject: WITHOUT_CLANG + WITHOUT_GCC vs XCC + WITHOUT_CROSS_COMPILER MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Cc: Brooks Davis X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list Reply-To: lev@FreeBSD.org List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 17 May 2013 20:46:41 -0000 Hello, Freebsd-current. I've explored new options to build world and kernel with external compiler. My goal is not to use "modern" compiler or "true" cross-compilation, but fast building of system, which (almost) identical to host system and doesn't need compiler (NanoBSD image for router). What I found, that if WITHOUT_LCNAG and WITHOUT_GCC are both set, and WITHOUT_CROSS_COMPILER and XCC/XCXX/XCPP are NOT set, world and kernel is build with "system" compiler, but without "cross" options (like -isystem and --sysroot). So, it works only by accident, and not in way, that user (developer) could expect. So, even if here is no any settings for "cross"-build, build goes by "cross" (external toolchain) path, with usage of plain "cc" / "c++" / "cpp" binaries without full path and special options. What I expected, that in such case cross-clang will be built at "stage 3: cross tools" and used to build world, but no clang (And support libraries) or gcc will be built at "stage 4.4: building everything". Do we need such mode? Is current behavior (risky on, IMHO) Ok? I think, ideal situation is when WITHOUT_CLANG + WITHOUT_GCC but no WITHOUT_CROSS_COMPILER IS supported "as expected" (compiler-as-cross-tool is built, but compiler-as-part-of-everything is not), but at least system need to abort "both compilers are disabled and no cross-tools set" configuration for now, am I right? -- // Black Lion AKA Lev Serebryakov