Subject: Re: FR: Provide Out-Of-Tree Building; Provide Cross-Compile Parameters

From: Đoàn Trần Công Danh <[email-masked]>
Date: Wed, 10 Jul 2024 10:20:53 +0700

On 2024-07-08 12:56:41-0700, Junio C Hamano <[email-masked]> wrote:
> Eric Sunshine <[email-masked]> writes:
> 
> >> I'd still suggest and prefer that git (and zlib) follows what others
> >> have settled on doing to be cross-compile-friendly.
> >
> > I can't speak for the zlib project, but for this to happen in Git,
> > someone with an interest in seeing such an outcome will need to submit
> > patches.
> 
> Sure.  
> 
> Somebody unknown to the community suddenly coming here and
> suggesting a feature alone would not achieve anything.  If there
> were infinite engineering resources and motivated contributors, and
> if sufficient number of contributors thought something is worth
> doing, it would already have been done.  And "cross compilation" is
> one of the things that is so obvious "isn't it nice if we had..."
> items.  At least the offer has to be a bit more, like "I'll help in
> this and that area (e.g., organizing the effort, keeping track of
> progress, researching dependencies, ...).  Any others who want to
> join forces?"

I thought in Git project, Makefile is the official build system, and
the autotools build system is only an after-thought, no?

For cross-compilation, I think various project has been
cross-compiling Git from forever.  They only need to provide a file
named `config.mak' with proper information for that platform, e.g:

	cat <<-EOF
	prefix = /usr
	CC = $CC
	CFLAGS = $CFLAGS
	LDFLAGS = $LDFLAGS
	USE_LIBPCRE2 := $(if true; then echo Yes; fi)
	perllibdir=/usr/share/perl5/vendor_perl
	HOST_CPU = $(config.guess | cut -d- -f1)
	ICONV_OMITS_BOM = Yes
	NO_REGEX = Yes
	EOF

Those last values need to be specified manually because they can't be
detected by running a test program anyway.  Those keys are already
listed in Makefile.

-- 
Danh