GCC/gcc references in man src.conf output (as of head -r358510 anyway), more . . .

From: Mark Millard <marklmi_at_yahoo.com>
Date: Mon, 9 Mar 2020 21:33:02 -0700
The following 2 references to GCC or gcc may not be intended
any more:

The
             CCACHE_CPP2 option is used for Clang but not GCC.

To be able to build the system, either gcc
             or clang bootstrap must be enabled unless an alternate compiler
             is provided via XCC.

(That is it for GCC/gcc.)


The WITH_BINUTILS is interesting in that for:

arm/armv6, arm/armv7,
             i386/i386, mips/mipsel, mips/mips, mips/mips64el, mips/mips64,
             mips/mipsn32, mips/mipselhf, mips/mipshf, mips/mips64elhf,
             mips/mips64hf

the description would seem to imply the same result for
them as for WITHOUT_BINUTILS: as, objdump, and ld.bfd not
built and installed. Whatever the internal mechanism, I think
it would be clearer to list the above under WITHOUT_BINUTILS
for their default handling.


The text:

     WITHOUT_ELFTOOLCHAIN_BOOTSTRAP
             Set to not build ELF Tool Chain tools (addr2line, nm, size,
             strings and strip) as part of the bootstrap process.  An
             alternate bootstrap tool chain must be provided.

gives no hint how to provide an alternate bootstrap tool chain
that has those programs.

The issue is somewhat wider in that only XCC and XLD are mentioned
anywhere. (For example, no XCXX, XCPP either.) Of course when the
C/C++ compiler command lines are used to run the linker the likes of
XLD do not help redirect what is attempted.


The text:

     WITH_LLVM_TARGET_SPARC
             Set to build LLVM target support for SPARC.  The LLVM_TARGET_ALL
             option should be used rather than this in most cases.

still is SPARC material.


As I remember, the text:

     WITH_REPRODUCIBLE_BUILD
             Set to exclude build metadata (such as the build time, user, or
             host) from the kernel, boot loaders, and uname output, so that
             builds produce bit-for-bit identical output.

suggests more control than the option actually gives
(most of the time).


The text:

     WITHOUT_UNIFIED_OBJDIR
             Set to use the historical object directory format for build(7)
             targets.  For native-builds and builds done directly in sub-
             directories the format of ${MAKEOBJDIRPREFIX}/${.CURDIR} is used,
             while for cross-builds
             ${MAKEOBJDIRPREFIX}/${TARGET}.${TARGET_ARCH}/${.CURDIR} is used.

             This option is transitional and will be removed before the 12.0
             release, at which time will be enabled permanently.

             This must be set in the environment, make command line, or
             /etc/src-env.conf, not /etc/src.conf.

mentions that the option was to be removed before 12.0 . (It also
says that the to-be-removed option will be enabled when removed.)




===
Mark Millard
marklmi at yahoo.com
( dsl-only.net went
away in early 2018-Mar)
Received on Tue Mar 10 2020 - 03:33:13 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:23 UTC