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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Jul 9, 2024 at 10:20 PM Đoàn Trần Công Danh
<congdanhqx@xxxxxxxxx> wrote:
>
> 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

(noted the "top-most" comment earlier, I didn't realize that was a
thing. Even "ticket/issue" emails always say "Don't write *below* this
line")

Danh, I was referring to the "--' parameters that is common amongst
most of the configure/make-based projects.
While I believe I had already had a "config.auto.mak" file generated,
it didn't appear that I could do OOT builds with it.
If perhaps there was some var I could pass into "make" where I could
point to the file, that'd be good (though I'd still question whether
that would even be enough to get OOT builds).

Someone on the IRC channel pointed out to me that there IS a
CMakeLists.txt file and I found it is included in
"contrib/buildsystems".
Awesome, right? So I thought and hoped...
Before I get into it, it might be nice to have that mentioned in INSTALL/README.

While that gets me the OOT builds, it seems it forces the use of
pcre2, even when it isn't installed in sysroot.
If it's installed in the build system, it'll find it there and say
things are good to go even though the actual "make" will fail because
of it.
"configure" defaults pcre2 to "no", so it builds fine (apart from not
being OOT and other stuff I have to do).

Getting closer (after manually commenting that USE_PCRE2 stuff in the
file (which I also don't like since source is no longer pristine),
though I just now got:
*****
...
[ 76%] Built target scalar
make[2]: *** No rule to make target 'git-remote-http', needed by
'git-add'.  Stop.
*****
so I'll have to peek as to what that's about.





[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux