WITHOUT_CLANG + WITHOUT_GCC vs XCC + WITHOUT_CROSS_COMPILER

Lev Serebryakov lev at FreeBSD.org
Fri May 17 20:46:41 UTC 2013


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 <lev at FreeBSD.org>



More information about the freebsd-current mailing list