https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=215193

--- Comment #15 from Mark Millard <marklmi26-f...@yahoo.com> ---
(In reply to Gleb Popov from comment #13)

While I do not know how much libc++ is used, "base"
does have c++ code that needs to be built and
requiring a port/package to build the world is not
commonly done. Seems unlikely that c++ would be
eliminated from FreeBSD's world, even if the
toolchain were made less public.

Making /usr/include/c++ private/internal to FreeBSD
instead would require changes to how the world is
built so that the process references the
FreeBSD-private copy. (I ignore here that making
the astonishing change to a very public interface
that is heavily used at this point is huge issue on
its own.)

Changes to the ports tree to well avoid mixes of
differing libc++'s being mixed together in linking
and/or run-time binding is also its own issue.

Being able to support fully up to date libc++ based
builds on such a grand scale may be more than is
reasonable for all I know. But, as, stands, even a
program that involves no dependencies outside the
toolchain and libc++ has no means of using the
most modern ports-supported llvm's libc++ (since
it is not available as stands).

Another type of example is use of 'import std.compat;'
or 'import std;' . The imports are not references to
globally invariant copies of files. Imports of either
of those is handled by the likes of cmake to produce
supporting files that are specific to the compiler
options in use for what is being built. But for, say,
cmake to do so means configuring the toolchain to
provide extra information that is used by cmake (in
this example, as worded).

It does not look all that likely that FreeBSD's
built-in toolchain configuration will support such. As
far as I can tell, devel/llvm* using the system libc++
might not be able to(?). If modern enough lang/llvm*
also does not support such, that blocks some basic
(but new) c++ language+library functionality.

(My wording ignores that cmake does not claim to have
its final supported form for supporting such imports.
The example is somewhat forward looking if one ignores
exploring the existing llvm/cmake support combination.
But it is still relevant for figuring out how to go
forward and what is supported vs. not overall in the
future.)

-- 
You are receiving this mail because:
You are the assignee for the bug.

Reply via email to