On 08/04/2024 22:29, Junio C Hamano wrote:
"brian m. carlson" <sandals@xxxxxxxxxxxxxxxxxxxx> writes:
As mentioned in the original proposal, we don't have to support all
platforms in the libified code. The main Git binaries will continue to
function and be supported, but the new libified code will rely on newer
features. You will still be able to have all the Git binaries and
functionality, but if you want the new shared library to compile
against, you'll have to furnish a newer compiler.
I thought one of the yardstick to gauge the success of this
"libification" effort, if not the purpose of this effort, is to
allow Git to be its first client.
Indeed, the last set of patches allow git to be built with the same
library that external programs can use which I thought was very welcome.
This proposal seems to be backing away from that.
We could have a single version of the library with a set of external
headers that export a limited set of functions in a gitlib_ namespace
and are wrapped internally with definitions like
static inline int foo(int x)
{
return libgit_foo(x);
}
but that still leaves the problem of symbol visibility for the symbols
that are consumed internally but not exposed in the external headers.
Best Wishes
Phillip